Skip to main content
Logo Appt Light

Automated accessibility testing of Android and iOS apps

February 7, 2024

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.

Learning resources

Feedback?

Let us know!