I. Executive Summary
The telebirr mobile application exhibits a critical and pervasive failure to meet fundamental mobile accessibility standards (WCAG 2.1 AA and Android/iOS best practices). The issues are systemic, originating from flaws in the foundational UI component library and design system, affecting virtually every screen examined.
| Category of Failure | Status | Impact Level |
|---|---|---|
| Functional Input | Critical | Prevents core app usage |
| Color Contrast | Systemic | Pages are unusable for many users with low vision |
| Touch Target Size | Systemic | Prevents reliable use for users with dexterity issues |
| Screen Reader Access | Systemic | Information is hidden or mislabeled, rendering the app unusable. |
II. Detailed Systemic Accessibility Failures
The following are the core, recurring defects found across nearly all screens:
A. Critical Functional Barrier
The most severe finding, identified through manual testing, affects the app's fundamental usability:
- Problem: All editable input fields (for numbers, IDs, and general text) do not respond to the standard screen reader gesture of Double-Tap-to-Edit.
- Result: Screen reader users are forced to use the non-standard and difficult Long Press gesture to activate the input field and summon the keyboard.
- WCAG Violation: Violates WCAG 2.5.2 Pointer Cancellation and general platform standards for Predictable Behavior, creating an absolute barrier to completing basic tasks like logging in or entering transaction details.
B. Contrast Errors
Both essential text and interactive icons fail to meet minimum contrast ratios, making content unreadable or invisible for users with low vision or color vision deficiency.
- Text Contrast (WCAG 1.4.3):
- Failure: Pervasively fails the 4.5:1 contrast ratio. Numerous text elements were identified with ratios as low as 1.10:1 (e.g., white text on light grey background), rendering them effectively invisible.
- Non-Text Contrast (WCAG 1.4.11):
- Failure: Pervasively fails the 3.0:1 contrast ratio. Interactive icons (ivSearch, ivGroupIcon, navigation icons) were routinely found with ratios between 1.59:1 and 2.79:1, making them indistinct from the background.
C. Touch Target Failures
Virtually all clickable elements are sized incorrectly, leading to frequent mis-taps and input errors.
- Touch Target Size (WCAG 2.5.8):
- Failure: Consistently violates the platform standard of a 48dp minimum size for touch targets.
- Examples: The Search icon (ivSearch) was repeatedly found at 34dp x 34dp. Navigation bar items and list items were typically between 39dp and 44dp in height.
D. Screen Reader and Text Scaling Failures
The information architecture is broken for screen reader users, and text is inflexible for users who rely on scaling.
- • Missing or Ambiguous Labels (WCAG 1.1.1, 4.1.2):
- Failure: Interactive icons (ivSearch, ivMenu) are missing essential contentDescription or accessible labels.
- Failure: Duplicate descriptive names (e.g., multiple items labeled "Payment" or "Apps") create ambiguity in the bottom navigation.
- Failure: Duplicate descriptive names (e.g., multiple items labeled "Payment" or "Apps") create ambiguity in the bottom navigation.
- Text Scaling and Reflow (WCAG 1.4.4):
- Failure (Unit): Text size units are incorrectly set to device-independent pixels (dip) instead of the required scaled pixels (sp). This prevents users from globally scaling the font.
- Failure (Clipping): Layout containers (titleBar, topCL, rl_my_function) utilize fixed heights, causing text to be clipped, truncated, or overlapped when a user scales the font size.
III. Prioritized Remediation Plan
The following actions must be taken immediately. The solution is not screen-specific but requires the overhaul of foundational UI components and development standards.
| Priority | Area | Required Action |
|---|---|---|
| Critical Functional Fix | Input/Interaction | Correct Input Activation: Ensure all input/edit fields respond to the standard Double-Tap-to-Edit gesture for screen reader users and correctly invoke the virtual keyboard. |
| Systemic Design Fix | Contrast Palette | Design System Refactor: Update the global color palette to meet 4.5:1 (Text) and 3.0:1 (Non-Text) minimum contrast ratios. The dark green/light green and light grey/white combinations must be replaced. |
| Component Refactor | Touch Targets | Component Sizing Standard: Enforce a minimum 48dp x 48dp size for the hit area of all interactive components (buttons, icons, list items). |
| Component Refactor | Text Scaling | Units & Layouts: Globally change all text size units from dip to sp. Replace fixed-height ViewGroup elements with flexible layouts that use wrap_content to allow text to expand without clipping. |
| Content Quality | Screen Reader Content | Labeling Policy: Implement a mandatory policy and developer lint check for content descriptions: every interactive image/icon must have a unique, descriptive accessible label. Ensure all visible text content is exposed to accessibility services. |
Reference with problamatic codes
In this section, I will list codes with their problem catagory.
Unlabled items
- cn.tydic.ethiopay:id/iv_language
- cn.tydic.ethiopay:id/iv_fingerprint_login
- cn.tydic.ethiopay:id/iv_back
- cn.tydic.ethiopay:id/tv_input_back
- cn.tydic.ethiopay:id/ivUserHead
- cn.tydic.ethiopay:id/ivHomeSearch
- cn.tydic.ethiopay:id/ivHomeNotification
- cn.tydic.ethiopay:id/ivBalanceEye
- cn.tydic.ethiopay:id/ivEndekiseEye
- cn.tydic.ethiopay:id/ivRewardBalanceEye
- [45,1405][951,1682]
- cn.tydic.ethiopay:id/ivArrow
- cn.tydic.ethiopay:id/ivNearby
- cn.tydic.ethiopay:id/ivSearch
- [45,1786][951,2063]
- [45,1703][951,1980]
- [45,533][951,810]
- cn.tydic.ethiopay:id/ivMenu
- cn.tydic.ethiopay:id/iv_profile
- cn.tydic.ethiopay:id/iv_qrcode
- cn.tydic.ethiopay:id/view_profile
- [45,1035][951,1312]
Text scaling problem with some solutions
- cn.tydic.ethiopay:id/tv_phone_tips
- This item's text size unit is dip. Consider specifying the text size in scaled pixels (sp).
- cn.tydic.ethiopay:id/tv_area_code
- Consider using a larger size or specifying the text size in scaled pixels (sp).
- cn.tydic.ethiopay:id/et_input
- This text is small and may be difficult for some users to read. Consider using a larger size or specifying the text size in scaled pixels (sp).
- cn.tydic.ethiopay:id/tv_forget_pin
- cn.tydic.ethiopay:id/tv_input_1
- cn.tydic.ethiopay:id/tv_input_2
- cn.tydic.ethiopay:id/tv_input_3
- cn.tydic.ethiopay:id/tv_input_4
- cn.tydic.ethiopay:id/tv_input_5
- cn.tydic.ethiopay:id/tv_input_6
- cn.tydic.ethiopay:id/tv_input_7
- cn.tydic.ethiopay:id/tv_input_8
- cn.tydic.ethiopay:id/tv_input_9
- cn.tydic.ethiopay:id/tv_input_0
- cn.tydic.ethiopay:id/tvRedDot
- cn.tydic.ethiopay:id/nav_tv_title
- This item's text size unit is dip. This text is small and may be difficult for some users to read.
- cn.tydic.ethiopay:id/footer
- This ViewGroup has a fixed height and contains a TextView with scalable text. Consider modifying the LayoutParams to allow for text expansion.
These TextViews have a fixed size and scalable text. Consider modifying the LayoutParams to allow for text expansion.
Touch Target erea problems with some solutions
- cn.tydic.ethiopay:id/tv_language
- Consider making this clickable item larger. This item's size is 46dp x 19dp. Consider making this touch target 48dp wide and 48dp high or larger.
- cn.tydic.ethiopay:id/et_input
- This item's height is 44dp. Consider making the height of this touch target 48dp or larger.
- cn.tydic.ethiopay:id/tv_register
- This item's height is 16dp. Consider making the height of this touch target 48dp or larger.
- cn.tydic.ethiopay:id/tvUSSD
- Consider making this clickable item larger. This item's height is 31dp.
- cn.tydic.ethiopay:id/tv_terms_conditions
- This item's height is 16dp. Consider making the height of this touch target 48dp or larger.
- cn.tydic.ethiopay:id/tvHelp
- This item's size is 41dp x 31dp.
- cn.tydic.ethiopay:id/tv_other_login_way
- This item's height is 16dp. Consider making the height of this touch target 48dp or larger.
- cn.tydic.ethiopay:id/iv_back
- This item's size is 27dp x 27dp.
- cn.tydic.ethiopay:id/tv_forget_pin
- This item's height is 19dp.
- cn.tydic.ethiopay:id/ivUserHead
- This item's size is 40dp x 40dp.
- cn.tydic.ethiopay:id/tvTips
- This item's height is 22dp.
- cn.tydic.ethiopay:id/tvBalance
- This item's height is 18dp.
- cn.tydic.ethiopay:id/ivHomeSearch
- This item's size is 30dp x 30dp.
- cn.tydic.ethiopay:id/ivHomeNotification
- This item's size is 30dp x 30dp.
- cn.tydic.ethiopay:id/ivBalanceEye
- This item's size is 26dp x 26dp.
- cn.tydic.ethiopay:id/tvEndekise
- This item's height is 15dp.
- cn.tydic.ethiopay:id/tvRewardBalance
- This item's height is 15dp.
- cn.tydic.ethiopay:id/tvEndekiseValue
- This item's size is 47dp x 20dp.
- cn.tydic.ethiopay:id/ivRewardBalanceEye
- This item's size is 26dp x 22dp.
- cn.tydic.ethiopay:id/tvTransactionDetail
- This item's height is 16dp.
- cn.tydic.ethiopay:id/footer
- This item's height is 43dp.
- [0,2070][216,2181]
- This item's height is 39dp.
- [216,2070][432,2181]
- This item's height is 39dp.
- [432,2070][648,2181]
- This item's height is 39dp.
- [648,2070][864,2181]
- This item's height is 39dp.
Item discription error codes
- [216,2070][432,2181]
- Multiple items have the same description. This clickable item's speakable text: "Payment" is identical to that of 1 other item(s).
- [216,2070][432,2181]
- This clickable item's speakable text: "Payment" is identical to that of 1 other item(s).
- [216,2070][432,2181]
- This clickable item's speakable text: "Payment" is identical to that of 1 other item(s).
- [432,2070][648,2181]
- This clickable item's speakable text: "Apps" is identical to that of 1 other item(s).
- [432,2070][648,2181]
- This clickable item's speakable text: "Apps" is identical to that of 1 other item(s).
- cn.tydic.ethiopay:id/chatBot
- This clickable item's speakable text: "Submit" is identical to that of 1 other item(s).
- 2070][864,2181]
- This clickable item's speakable text: "Engage" is identical to that of 1 other item(s).
- [864,2070][1080,2181]
- This clickable item's speakable text: "Account" is identical to that of 1 other item(s).
Final thought
I hope this detailed accessibility report supports your efforts to enhance accessibility services for everyone. If you'd like to receive future reports from me regarding your other services, feel free to reach out using the contact information below.