Automated accessibility testing of Android and iOS apps
It is essential that developers incorporate accessibility features into their apps in order to provide a great user experience for all users. You can run automated accessibility tests to check if your Android or iOS app meets the accessibility requirements. This process can be used to detect issues that prevent users from using your app such as poor contrast, missing labels, or missing name, role or values.
Automatically test the accessibility of an app
Automated accessibility tests can be used on both Android and iOS devices, and they can be performed in a variety of ways. Most commonly, automated accessibility tests are performed using a platform-specific tool, such as UI Automator on Android and XCTest on iOS. In addition, there are cross-platform tools such as Appium, and framework tools such as Widget Tests on Flutter and Component Tests on React Native.
When using these tools, you need to write your own accessibility tests. For example, you can write a test case where you check whether an accessibility label has been set for an image. Or you can check whether the accessibility role ‘button’ has been applied to all buttons in your app.
Fortunately, there are also people who have written automated accessibility tests for you.
Free tools for automated accessibility testing
Name | Description | Platform |
---|---|---|
Accessibility Test Framework for Android | This library performs various accessibility-related checks on Android objects. | Android |
Accessibility Scanner | Accessibility Scanner is a tool that scans an app’s user interface to provide recommendations on how to improve accessibility of the app. | Android |
Accessibility Insights for Android (archived) | Accessibility Insights for Android is a free, open source tool that helps developers find and fix accessibility issues in Android apps. | Android |
Axe Android (archived) | Axe Android is a library with automated WCAG 2.0 and WCAG 2.1 tests for Android apps. | Android |
A11yUITests (archived) | A11yUITests is an extension to XCTestCase that adds tests for common accessibility issues that can be run as part of an XCUITest suite. | iOS |
AccessibilitySnapshot | AccessibilitySnapshot makes it simple to add regression tests for accessibility in iOS apps. The framework builds on the idea of snapshot testing to provide snapshots of the accessibility hierarchy. | iOS |
GSCX | GSCX, Google Scanner for Accessibility, is a developer assistant, it sits in an iOS app's process scanning it for accessibility issues to catch them before the developer even writes a test for them. | iOS |
GTXiLib | GTXiLib, Google Toolbox for Accessibility for the iOS platform, expands your XCTests with accessibility checks. | iOS |
SwiftLint | SwiftLint is a tool to enforce Swift style and conventions, it contains 1 rule for accessibility. | iOS |
Xcode Accessibility Inspector | The Accessibility Inspector enables you to identify parts of your app that are not accessible and it provides feedback on how you can make them accessible. | iOS |
XCUIAccessibilityAudit | The XCUIAccessibilityAudit API's enable you to perform an accessibility audit, it contains 9 types of tests. | iOS |
xiblint | The xiblint script will test .xib and .storyboard files for compliance, it contains 4 rules for accessibility. | iOS |
Paid tools for automated accessibility testing
Name | Description | Platform |
---|---|---|
Abra Desktop | Abra Desktop automatically detects accessibility issues in Android and iOS apps. | Android and iOS |
axe DevTools Mobile | axe DevTools Mobile provides tools for identifying accessibility issues in mobile apps. | Android and iOS |
Evinced Mobile Flow Analyzer Evinced Mobile Automation SDK | Evinced automatically analyzes the accessibility of one or more screens of your app. | Android and iOS |
Reveal Accessibility Workspace | Reveal's Accessibility Workspace gives you tools to inspect if your app is accessible. | iOS |
Conclusion
In conclusion, automated accessibility testing tools are essential for developers to ensure that their apps are accessible to all users. There are a variety of tools available for Android and iOS, both free and paid. Developers should choose the tool that best suits their needs and budget.
If you have written a tool to automatically test mobile accessibility which is not listed, please contact us.