Skip to main content

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

NameDescriptionPlatform
Accessibility Test Framework for AndroidThis library performs various accessibility-related checks on Android objects.Android
Accessibility ScannerAccessibility 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
AccessibilitySnapshotAccessibilitySnapshot 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
GSCXGSCX, 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
GTXiLibGTXiLib, Google Toolbox for Accessibility for the iOS platform, expands your XCTests with accessibility checks.iOS
SwiftLintSwiftLint is a tool to enforce Swift style and conventions, it contains 1 rule for accessibility.iOS
Xcode Accessibility InspectorThe 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
XCUIAccessibilityAuditThe XCUIAccessibilityAudit API's enable you to perform an accessibility audit, it contains 9 types of tests.iOS
xiblintThe xiblint script will test .xib and .storyboard files for compliance, it contains 4 rules for accessibility.iOS
NameDescriptionPlatform
Abra DesktopAbra Desktop automatically detects accessibility issues in Android and iOS apps.Android and iOS
axe DevTools Mobileaxe 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 WorkspaceReveal'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.

Learning resources