Your app talks to VoiceOver and TalkBack. We check what it says.

A native app exposes a second interface made of labels, traits, and focus order, and screen readers, switches, and large-text settings all depend on it. We test that interface on real iPhones and Android phones, then show your developers the exact code to change.

Starting at $6,200Part of Accessibility
Hikers plant flags on rocky peaks that rise from the ridges of a giant green fingerprint.

Apps fail differently than websites

A native app inherits accessibility from the platform's standard controls, and loses it the moment a team builds a custom one. A tappable card made from a plain view has no role. An icon button has no label. A bottom sheet slides up and VoiceOver keeps reading the screen behind it.

Mobile adds demands of its own. People set very large text sizes and expect layouts to grow without truncating. They use apps in landscape on a wheelchair mount, or with a switch instead of touch. Not everyone can perform a two-finger swipe, a long press, or a shake.

None of this shows up in a design review or a simulator screenshot. It shows up when someone turns on VoiceOver, sets the largest text size, and tries to book an appointment. That is how we test.

What we test on each platform

Each check maps to a WCAG success criterion and to the platform's own design guidance.

Mobile accessibility checks by platform
What we checkiOSAndroidReference
Screen readerVoiceOver: labels, traits, rotor, focus order, and announcementsTalkBack: content descriptions, roles, state, reading order, and live regionsSC 4.1.2 Name, Role, Value; SC 1.3.2 Meaningful Sequence
Switch and keyboardSwitch Control, and a hardware keyboard with Full Keyboard AccessSwitch Access, and a hardware keyboardSC 2.1.1 Keyboard; SC 2.4.3 Focus Order
Large textDynamic Type, including the larger accessibility sizesFont size and display size settingsSC 1.4.4 Resize Text
OrientationPortrait and landscape, unless one is essentialPortrait and landscape, unless one is essentialSC 1.3.4 Orientation
Touch targetsApple's guidance: at least 44 by 44 pointsMaterial guidance: at least 48 by 48 dpSC 2.5.8 Target Size (Minimum): 24 by 24 CSS pixels on the web
Gestures and motionAlternatives to multi-finger gestures and shake; Reduce Motion respectedAlternatives to complex gestures; Remove animations respectedSC 2.5.1 Pointer Gestures; SC 2.5.4 Motion Actuation

Shared code still needs platform-specific testing

VoiceOver and TalkBack read the same cross-platform component differently, so we test each build on its own platform and write fixes for the code you actually have.

SwiftUI and UIKit

We check accessibilityLabel, traits, grouping with accessibilityElement(children:), and the notifications that move VoiceOver focus after a screen changes.

Jetpack Compose and Android Views

We check contentDescription, Modifier.semantics, merged descendants, stateDescription, and live regions for content that updates without a tap.

React Native

We check accessibilityLabel and accessibilityRole, or the newer aria-label and role props, along with grouping and AccessibilityInfo announcements on both platforms.

Flutter

Flutter draws its own pixels, so the semantics tree is all assistive technology gets. We check Semantics, MergeSemantics, and ExcludeSemantics, and every custom painter that exposes nothing.

How a mobile audit runs

  1. Choose screens and journeys

    We agree on up to 12 screens per platform, built around the journeys that matter: sign-in, search, checkout, booking, or a form someone must finish.

  2. Install your build

    We test the build you're about to ship, through TestFlight or a Google Play testing track, with test accounts for signed-in areas.

  3. Test on real devices

    An analyst works through each screen on physical iPhones and Android phones with VoiceOver or TalkBack, switch access, a hardware keyboard, the largest text sizes, and both orientations.

  4. Write fixes in your language

    Each finding names the screen, the success criterion, and the people affected, with a fix in Swift, Kotlin, JavaScript, or Dart, whichever your codebase uses.

  5. Retest the next build

    When your team ships fixes, we retest them on the next build and update the findings register.

Title II covers public entities' apps, not just their websites

The Justice Department's Title II rule sets WCAG 2.1 Level AA as the standard for state and local government web content and mobile apps. The compliance date is April 26, 2027 for larger governments, and April 26, 2028 for smaller ones and special district governments. WCAG 2.1 doesn't include the 2.2 target-size criterion, but Apple's and Google's own guidelines already ask for larger targets. See all compliance deadlines.

Priced per platform

Mobile app audit

Starting at

$6,200per platform

Up to 12 screens on iOS or Android, tested with VoiceOver or TalkBack, Switch Access, and large text.

Request a quote

React Native and Flutter apps are still priced per platform, because VoiceOver and TalkBack expose different bugs in the same shared code. Fixes can follow in remediation sprints.

Questions from app teams

Do you test on simulators or real devices?

Real devices, for the final word. Simulators are useful for quick checks, but screen-reader gestures, focus behavior, and performance on a mid-range Android phone only show up on hardware.

Does WCAG apply to native apps?

WCAG was written for the web, but its success criteria are widely applied to apps, and the W3C publishes guidance on doing so. The Justice Department's Title II rule applies WCAG 2.1 AA to public entities' mobile apps directly. Whether a specific obligation applies to your app is a question for your attorney.

Our app mixes native screens and web views. Can you test both?

Yes. The hand-off between native screens and embedded web content is a common place for focus to get lost, so we test both sides and the transition between them.

What do you need from us to start?

A test build through TestFlight or a Google Play testing track, test accounts, and the journeys that matter most. A short call with one of your developers helps us write fixes that fit your architecture.

Tell us what your website needs to do.

Send a link and a sentence about your deadline. You will hear back from a person within one business day, usually with a short list of questions and a proposed scope.