Mobile App Accessibility: How to Make Your App More Accessible

Rédigé le 20/08/2026
Marc Leonardi

Mobile app accessibility helps people with visual, hearing, motor and cognitive disabilities perceive content, understand the interface and complete key tasks. We deliberately made a copy of Lotus Yoga, one of our showcase apps, harder to use, then rebuilt it in GoodBarber and tested what the preview could — and could not — prove.


Mobile app accessibility starts with a system

You cannot prove that an app is accessible from a preview or a contrast score. You can, however, remove a surprising number of barriers before formal testing begins.

Mobile app accessibility extends well beyond color contrast. Typography, spacing, navigation, touch targets, labels, motion, media and assistive-technology behavior all affect whether someone can complete a task.

WCAG is written for web content. The W3C's WCAG2Mobile guidance explains how WCAG 2.2 Level A and AA criteria can be applied to native, web and hybrid mobile apps. That document is informative rather than a separate normative mobile standard, and it is not sufficient on its own to establish that an app is accessible.

This checklist separates what can be configured centrally from what still has to be verified in the published product:

Accessibility areaFirst checkWhat to configure or test
Color contrastText, backgrounds, controls and statesSet global colors and verify each contrast pair
Typography and spacingReadable defaults, wrapping and enlargementConfigure the global type hierarchy and margins
NavigationClear destinations and labelsConfigure the app structure, labels and navigation
Touch targetsControls are easy to operateVerify the generated app on devices
Screen readersNames, roles, states and focus orderTest the generated iOS and Android apps
MotionEffects remain useful and optionalConfigure animations and haptics, then test system preferences
MediaCaptions, transcripts and text alternativesAdd alternatives during content creation and editorial review
PWA interactionKeyboard, zoom, focus and responsive layoutsTest the published PWA in browsers

Lotus Yoga: polished at first glance, fragile in use

Nothing in this first screen looked obviously broken. That was the useful part of the exercise. Accessibility problems are not always dramatic; they often hide inside tasteful design choices.

We gave Lotus Yoga pale text on a pale background, reduced body copy to 10 px, removed global margins and kept generic navigation labels such as “Videos” and “Podcasts.” The result still looked calm in a presentation. On a phone, the hierarchy collapsed: secondary text faded, cards ran close to the screen edges and the bottom navigation became much harder to scan.

The lesson is not “never use pastel colors” or “make everything large.” It is that brand choices need a readable system underneath them.


Step 1: fix color contrast as a system

We started in My App > App Style > Colors and assigned colors by role. The warm background stayed. What changed was the distance between each foreground and its background:

ElementForegroundBackgroundRatio
Main text#17332FWarm white13.3:1
Secondary text#4E6A65Warm white5.8:1
Primary button text#FFFFFF#1F6D636.1:1
Header title#17332FPale green11.6:1

WCAG 2.2 sets a minimum contrast ratio of 4.5:1 for normal text and 3:1 for large text at Level AA. We deliberately gave the core text more headroom than the minimum: a pair that passes on paper can still feel weak with a thin font, a small size or a bright screen outdoors.

GoodBarber lets you start from a built-in theme, generate a palette or create one yourself. The useful part is not the number of swatches; it is their reuse. Header text, body text, separators, buttons and navigation states can receive consistent roles across sections. The App Style documentation explains how those global choices propagate.

A readable palette is a strong starting point, not an accessibility certificate. Check every real foreground-background pair, including selected states, overlays, images and section-level overrides.


Step 2: set readable typography and spacing

Contrast made the words visible. Size and spacing made them comfortable.

We selected the Formateca font theme, which pairs Work Sans for headings with Manrope for body copy. We then used the global type slider to rebuild the hierarchy: body text moved from 10 px to 16 px, the main title reached 30 px and the main content regained 16 px margins.

GoodBarber's global type scale adjusts eight text levels proportionally. That makes it easier to preserve a consistent hierarchy across screens, but it does not guarantee an accessible result. Verify the resulting sizes, wrapping and line spacing in the generated app.

WCAG does not prescribe a universal minimum body-font size. The 16 px value is the default we chose for this interface, not a compliance threshold. Larger text also needs more room; without it, cards become cramped and labels wrap awkwardly.

Finally, test the app with the user's preferred text size. Apple recommends supporting text enlargement and Dynamic Type, while web content should remain usable when text is resized. A balanced editor preview is only the first state to check.


Step 3: make navigation labels describe the destination

In this before-and-after comparison, the original TabBar said “Videos,” “Podcasts” and “Navigation.” Those labels described formats or interface mechanics. They did not clearly describe what a yoga member could do next.

We renamed them Classes, Audio and More. The structure did not change, but the decision became easier: take a class, choose an audio session or open the remaining sections.

Android's accessibility guidance recommends useful, descriptive labels for interactive elements because services such as TalkBack can announce their accessibility names. Changing the visible title improves visual navigation; you must still verify what the generated component actually exposes to VoiceOver and TalkBack.

Keep labels short, unique and task-oriented. Pair icons with text when space allows. A useful test is simple: if the icons disappeared, would the words still tell a user where each tap leads?


Step 4: make controls and content operable

Accessibility fails when content can be seen but a control is difficult to tap, or when essential media excludes one sensory channel.

Start with touch targets. Android recommends a focusable area of at least 48 × 48 dp for interactive elements. For the PWA, WCAG 2.2's Target Size (Minimum) criterion sets a 24 × 24 CSS pixel minimum at Level AA, subject to defined exceptions. The visible icon can be smaller than its operable area, but neighboring targets should remain distinct.

Then review how meaning is communicated. Errors, progress and availability need clear cues that users can perceive. Informative images need useful text alternatives; meaningful video needs captions; audio-only content needs a transcript or equivalent. These are editorial decisions, so a consistent app design cannot automate them for you.

GoodBarber centralizes button hierarchy, colors and shape through App Style. Use those controls to reduce inconsistency, then verify target size, focus, labels and states in the generated iOS, Android and PWA versions.


Step 5: use motion and haptics deliberately

Lotus Yoga used both haptic feedback and an opening animation. In My App > App Style, we disabled the decorative opening effect while retaining haptic feedback on the native apps. GoodBarber also exposes scroll effects in the same area; the additional App Style options explain where these controls live.

That choice is not a universal accessibility prescription. Motion can explain a change of state, and haptics can confirm an action without adding visual clutter. The question is whether the effect carries useful information. If it does not, a calmer default is easier to justify.

Do not assume that changing the editor setting proves reduced-motion support. Check the published app with the device's motion preferences enabled and confirm that complete tasks still make sense without the effect.


Step 6: test complete journeys on native apps and the PWA

This final version is easier to read and navigate without losing the quiet character of the brand. More importantly, its improvements are systemic: one palette, type scale and spacing system can improve many screens at once.

The preview can show color, hierarchy, spacing, labels and visible states. It cannot tell you whether every screen-reader announcement is useful, whether focus moves logically or whether a complete flow remains operable with an alternative input method.

Before publication:

  • Navigate the critical iOS flows with VoiceOver and the Android flows with TalkBack, without looking at the screen.
  • Increase the system text size and check for clipping, overlap, hidden controls and lost content.
  • Check buttons, links, forms and menus for clear names, roles, states and focus order.
  • Test the PWA with keyboard navigation, browser zoom and multiple viewport sizes.

Automated tools catch useful problems. They do not understand whether a label makes sense, whether an instruction is cognitively clear or whether a complete task is frustrating. Manual testing — ideally including people with disabilities — remains essential.


How GoodBarber helps build a more accessible baseline

The advantage of a design system is leverage. GoodBarber builds screens from shared foundations and reusable components. Color, typography, spacing, shape and navigation are rules reused across the app, rather than isolated decorations. You can explore the GoodBarber Design System to see how those layers fit together.

That leverage also creates a clear division of responsibility:

GoodBarber helps centralizeYou still need to verify
Global color rolesActual contrast pairs and non-color cues
Eight-level typography hierarchyText enlargement, wrapping and clipping
Margins, spacing and button stylesTouch-target usability on real devices
Navigation structure and visible labelsAccessibility names, roles, states and focus order
Animations and native haptic feedbackBehavior with system accessibility preferences
iOS, Android and PWA outputComplete journeys, content and third-party integrations

GoodBarber's Design System removes part of the repetitive accessibility work by applying shared typography, color, spacing and component rules throughout the app. You still need to validate the resulting interface and content on each platform.


FAQ

Does WCAG apply to native mobile apps?

WCAG is written for web content, but its principles and success criteria are widely used in mobile accessibility work. The W3C's WCAG2Mobile draft guidance explains how WCAG 2.2 Level A and AA criteria can be applied to native, web and hybrid mobile apps. The guidance is informative, not a separate normative mobile standard or a guarantee of legal compliance.

Can an app builder make an app automatically accessible?

No. Reusable components, readable defaults and global design rules can create a stronger baseline, but accessibility also depends on configuration, content, third-party features and complete user journeys. The generated app still has to be tested.

What should I test first in an existing mobile app?

Start with the paths users cannot avoid: opening the app, navigating, signing in, finding content and completing the main action. Test them with a screen reader, enlarged text and reduced motion, then check touch targets, form errors and media alternatives.

What is the minimum text contrast for a mobile app?

WCAG 2.2 Level AA sets a minimum contrast ratio of 4.5:1 for normal text and 3:1 for large text. These thresholds are also commonly used when evaluating mobile interfaces through WCAG2Mobile guidance. Treat them as a floor rather than a design target.

Where do I change these settings in GoodBarber?

Open My App > App Style to manage global colors, fonts, margins, buttons, animations and haptic feedback. Navigation labels and layouts are configured in the app structure. Preview the result as you work, then test the generated iOS, Android and PWA versions before publication.

An accessible app is not a special visual style. It is a series of decisions that let more people perceive the content, understand the interface and complete the task. Create your app with GoodBarber, build that baseline once and improve it with evidence from real users.