Mobile App Accessibility Testing

Users with visual impairments often encounter unreadable buttons and lost focus in mobile applications, which leads to review rejections in the App Store and Google Play. We provide comprehensive accessibility testing, identifying VoiceOver, TalkBack issues and WCAG 2.1 compliance. Our team delivers a turnkey audit — from analysis to remediation recommendations, ensuring a reliable and inclusive solution with ongoing support.

Development and support of all types of mobile applications:

Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • Development of a mobile application for FEEDME
    Development of a mobile application for FEEDME
    971
  • Development of a mobile application for XOOMER
    Development of a mobile application for XOOMER
    869
  • Development of a mobile application for RHL
    Development of a mobile application for RHL
    1289
  • Development of a mobile application for ZIPPY
    Development of a mobile application for ZIPPY
    1143
  • Development of a mobile application for Affhome
    Development of a mobile application for Affhome
    1076
  • Development of a mobile application for the FLAVORS company
    Development of a mobile application for the FLAVORS company
    677

In our practice, VoiceOver on iPhone reads the button as “Button” instead of “Add to cart” — because the UIImageView with the cart icon has no accessibilityLabel set. A user with visual impairments taps blindly.

This is not a theoretical situation: 2.2 billion people have visual impairments, and Apple/Google have started rejecting apps with severe Accessibility violations during review.

We are a team of engineers with 6 years of experience in mobile development; we have completed more than 40 accessibility audits. We conduct accessibility audits and guarantee compliance with WCAG 2.1 AA standards.

Why is accessibilityLabel so often missing?

Custom components — sliders, custom buttons, icons without text — do not have automatic labels. VoiceOver reads coordinates or the class name. On iOS, you need to explicitly set accessibilityLabel and accessibilityHint.

On Android — contentDescription in XML or via ViewCompat.setAccessibilityDelegate. Developers often forget to set a label when creating a custom view. In 70% of cases, the problem is solved by adding one line of code.

How to properly manage focus after closing a modal?

After a modal closes, VoiceOver/TalkBack focus remains on elements that are no longer on screen — the user gets lost. On iOS we manage via UIAccessibility.post(notification: .screenChanged, argument: targetView).

On Android — ViewCompat.setAccessibilityPaneTitle and sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED). Manual testing of this scenario is mandatory: automated tools do not always catch focus loss.

Testing tools

Accessibility Inspector (Xcode). Launched via Xcode → Open Developer Tool → Accessibility Inspector. One-click audit — finds missing labels, small touch targets, contrast issues. Works on the simulator and on a real device.

Accessibility Scanner (Android). A Google app that scans the screen and returns a list of issues classified by type. Integrates into Espresso via AccessibilityChecks.enable() — automatically runs checks on every action in the test:

@Before fun setup() { AccessibilityChecks.enable() .setRunChecksFromRootView(true) } 

Every Espresso test now additionally checks a11y — any violation fails the test. Accessibility Scanner processes a screen in 2–3 seconds, which is 5 times faster than manual checking.

Manual testing with VoiceOver/TalkBack. We go through key scenarios: registration, purchase, the main user flow — using screen reader gestures only, without visual control.

This reveals semantic issues that automated tools cannot understand: logical reading order of elements, unclear label wording, lost focus.

axe DevTools Mobile. A commercial tool with more detailed classification of WCAG violations. Provides a report with severity and references to criteria. Useful when preparing for EU Accessibility Act compliance.

When is manual testing required?

Automated tools do not check reading logic or perceived usability. If the app contains complex animations, dynamic lists, or non-standard gestures, manual testing with VoiceOver/TalkBack is essential. We recommend manual testing after every significant release.

Testing matrix

Violation Automated test Manual test
Missing accessibilityLabel Accessibility Scanner / Inspector VoiceOver
Incorrect focus order — VoiceOver / TalkBack
Touch target < 44pt/48dp Accessibility Inspector —
Contrast Colour Contrast Analyser —
Animations with reduce motion — Settings → Accessibility

Comparison of audit tools

Tool Speed Depth of analysis Pricing
Accessibility Inspector fast basic free
Accessibility Scanner fast basic free
axe DevTools Mobile medium full WCAG commercial

Work process

  1. Audit — run through Accessibility Inspector and Scanner, get a prioritized list of violations.
  2. Automation — add AccessibilityChecks.enable() to Espresso tests so every action checks a11y.
  3. Manual check — go through key scenarios with VoiceOver and TalkBack, record semantic issues.
  4. Report — document all violations with WCAG 2.1 (A/AA) classification and remediation recommendations.

What is included

We provide a detailed report with found violations and their severity, remediation recommendations for each type of error, updated automated tests with accessibility checks enabled, a brief guide for the team (iOS/Android) on preventing regressions, and a WCAG 2.1 AA compliance certificate (upon request). According to WCAG 2.1 Success Criterion 1.4.3, the minimum contrast ratio for normal text is 4.5:1.

Timeline and cost

An audit of an average app takes 2 to 4 days. Full documentation for the EU Accessibility Act may add another 2 days. The cost is calculated individually based on the number of screens and complexity of scenarios.

Contact us — we will evaluate your project and propose an optimal plan. Book an accessibility consultation today.

Common mistakes when implementing accessibility

  • Lack of contrast for placeholders and hints — gray #999999 on white is often used.
  • Small buttons in navigation bars and toolbars — smaller than 44pt/48dp.
  • Ignoring gestures — if there is swipe-to-delete, it must be duplicated via long press.