Getting started with mobile app accessibility
An overview of mobile applications and what’s involved in making them accessible.
On this page
What are mobile apps?
Mobile applications, or apps, are applications that can be used on mobile devices. There are 3 main types of mobile app:
-
web apps are just websites or web pages that work in a web browser on a mobile device
-
native apps are built for a specific operating system (e.g. iOS or Android) and developed using the programming language for that system (e.g. Swift for iOS and Kotlin for Android)
-
hybrid apps are web apps or web content wrapped inside a native app container.
For an overview of these 3 approaches to mobile apps, see Native, Web or Hybrid App: Which One is Better? — IxDF.
Why is accessibility important for mobile apps?
As more government services are provided through mobile applications, making sure they are accessible — that is, usable for disabled people — is critical.
For more on what accessibility is about, albeit from a web perspective, read What is web accessibility? — Knowledge Area: Fundamental concepts in web accessibility.
Mobile usage dominates digital access. WebAIM’s latest Screen Reader User Survey, while not representative of all users, shows that:
-
91.3% of screen reader users access content on mobile devices
-
58% of screen reader users prefer mobile apps over websites for performing common tasks such as banking or shopping.
For more information, see Screen Reader User Survey #10 Results — WebAIM.
Technical benefits extend beyond accessibility. Following accessibility guidelines can help:
-
improve code quality
-
reduce maintenance costs
-
create better user experiences for everyone
-
deliver robust mobile apps that are user-friendly across diverse contexts.
About this guidance
The mobile apps guidance on this site helps teams create mobile apps that:
-
as many users as possible, including disabled people
-
meet the Web Content Accessibility Guidelines 2.2 at Level AA.
Who is this guidance for?
This guidance is designed primarily for and organised around the following roles:
-
Designers who create user interfaces and visual designs for mobile apps
-
Developers who write code for iOS, Android and other mobile platforms
-
Quality assurance testers who validate app functionality and user experience.
Every guidance topic includes sections on design, development, and testing with links to reliable resources specific to that role.
Anyone involved in the creation of mobile apps and interested in making them accessible will also find this guidance of value.
Focussed on native mobile apps
This guidance focusses on building accessible native mobile apps. Native apps do not use web technologies, but instead are programmed to work on specific mobile platforms, like iOS and Android. As such, there are special considerations for creating accessible native mobile apps that don’t exist in the web environment.
For complete guides on iOS accessibility from Apple Developer Documentation, read:
For a complete guide on Android app accessibility, see Make apps more accessible — Android Developers.
Accessibility common to web and native mobile
While native and web-based mobile apps handle accessibility in different ways, most web-based accessibility guidance is still relevant to native mobile apps, and it’s just the way it’s implemented that’s different.
The fundamental principles and guidance around many web accessibility topics apply just as much to native mobile apps. Read the following guidance to understand some accessibility basics that apply regardless of context:
-
Colour and contrast — Knowledge Area: Accessible UX best practices
-
Keyboard accessibility — Knowledge Area: Accessible UX best practices
-
Link text should describe link purpose — Web Content Type: Links
Assistive technologies on mobile devices
Understanding assistive technologies helps you create mobile apps that work effectively with the software and hardware tools people use to access digital content. For more, read Types of assistive technologies and who uses them — Knowledge Area: How disabled people use the web.
Also see Testing with assistive technologies below.
Screen readers
Screen readers convert text and interface elements into speech or braille. iOS includes VoiceOver, while Android includes TalkBack. These technologies require proper semantic markup and labels to function effectively. Screen readers are used by people who are blind, have low vision, or have reading difficulties. Mobile phones can also connect to Braille displays.
For more, read Screen readers — Knowledge Area: How disabled people use the web.
Speech recognition
Speech recognition systems allow people to operate devices using spoken commands. iOS Voice Control and Android Voice Access enable hands-free navigation and data entry. These systems work best when apps have clear, predictable interaction patterns and properly labelled interface elements.
For more, read:
Screen magnification
Magnification tools help people with low vision by enlarging screen content. iOS Zoom and Android Magnification gestures provide zoom functionality. App content must reflow properly when font size and display zoom are increased in device settings. Other accessibility display settings should be supported by apps to enable bold text, increased contrast, decreased transparency, button shapes, etc.
For more, see Screen magnifiers — Knowledge Area: How disabled people use the web.
Switches
Switch controls enable people with limited mobility to operate devices using external switches, buttons, or other adaptive hardware. iOS Switch Control and Android Switch Access allow navigation through systematic scanning of interface elements.
For more, read Switches — Knowledge Area: How disabled people use the web.
Keyboards
Keyboard navigation supports people who cannot use touch interfaces effectively. External keyboards (for example, connected via Bluetooth) and software keyboards provide alternative input methods. Apps must ensure all functionality is available via keyboard, and that focusable controls have a logical order with clearly visible focus indicators.
For more, read Keyboards — Knowledge Area: How disabled people use the web.
Hearing aids
Hearing aids and assistive listening devices may connect to mobile devices via Bluetooth or hearing loops. Apps should support these connections and provide visual alternatives to audio content.
Testing resources
The following guides and tools will help you test the accessibility of your native mobile apps.
-
How to test the iOS accessibility — Orange digital accessibility guidelines
-
Android accessibility testing — Orange digital accessibility guidelines
-
MagentaA11y — an open-source accessibility testing platform for mobile apps
Automated testing
- iOS — Accessibillity Inspector — Apple Developer Documentation
- Android — Accessibility Scanner — Android Accessibility Help
- Android — axe Accessibility Analyzer — Deque Systems — Google Play.
Testing with assistive technologies
How to test with VoiceOver on iOS
- Turn on and practice VoiceOver on iPhone — Apple Support
- VoiceOver: screen reader for iOS — Appt
- How to Test Accessibility with an iPhone — Harvard University
How to test with TalkBack on Android
- Get started with TalkBack — Android Accessibility Help
- TalkBack: screen reader for Android — Appt
- How to Test Accessibility with Android TalkBack — Harvard University
How to use a keyboard and switch with iOS
- Keyboard Access for iOS — Appt
- Intro to Switch Control on iPhone — Apple Support
- Switch Control for iOS — Appt
How to use a keyboard and switch with Android
- Keyboard Access for Android — Appt
- Control your Android device with Switch Access — Android Accessibility Help
- Switch Access for Android — Appt