Since I love tools that can help us test and automate some of our work, I was inspired to define some of the top accessibility testing tools out there today.
Before we take a look at some of them though, we should review what accessibility testing is and why it’s important.
What is Accessibility Testing?
Accessibility is all about making applications accessible for people who have impairments. It covers people with visual, auditory, or other cognitive impairments.
As we are developing our applications, we should keep these folks in mind as we test to ensure that our software is accessible for all our users.
Why is Accessibility Testing Important?
At least one in five people have some type of impairment, so it's very important to have them in mind when developing software. Recent figures from the Census Bureau show that 18.7% of the US population has some sort of disability and that 54% of those adults go online, so from a business perspective, it makes sense for us to ensure them the best experience possible when using our apps.
Furthermore, more governments are passing regulations that make certain disability requirements for software mandatory.
Can Accessibility Testing be Automated with Accessibility Testing Tools?
Although using an exploratory-type testing approach conducted by folks that actually have impairments will give you some of the best coverage, partial and full automation of accessibility testing is also possible.
But before you fire up your favorite accessibility testing tool, I recommend you first download the Checkpoints for Web Content Accessibility Guidelines (WCAG) to help direct your automation efforts.
Web Accessibility Checker
The Web Accessibility Checker is probably the easiest way to perform accessibility checks on any ASP.NET Web application, as it’s fully customizable and supports all major international accessibility standards.
Microsoft UI Automation is an accessibility framework that enables Windows applications to provide and consume programmatic information about user interfaces (UIs).
It provides programmatic access to most UI elements on the desktop. It enables assistive technology products, such as screen readers, to provide information about the UI to end users and to manipulate the UI by means other than standard input.
UI Automation also allows automated test scripts to interact with the UI.
Some other helpful test tools in the Windows SDK are the Accessible Event Watcher, Inspect, AccScope, UI Accessibility Checker and the UI Automation Verify.
Automated Accessibility Testing Tools (AATT)
The GitHub page for AATT by PayPal describes itself as a browser-based accessibility testing tool, and plugins require manually testing each page, one at a time.
What’s cool is that instead of developing, testing, and using a separate accessibility test suite, you can now integrate accessibility testing into your existing automation test suite using AATT.
Accessibility Developer Tools
The Accessibility Developer Tools (ADT) is a library of accessibility-related testing and utility code.
Its main component is the accessibility audit: a collection of audit rules checking for common accessibility problems, and an API for running these rules in an HTML page.
ADT has an Audit API axs_testing.js that you can use for automation. You can also run it at the command line using PhantomJS.
For testers that want to run Selenium-based accessibility tests, they even have an example of using it with Selenium Webdriver and Scala.
The A11y Machine (or a11ym for short, spelled “alym”) is an automated accessibility-testing tool that crawls and tests pages of any Web application to produce detailed reports. It validates pages against the following specifications/laws:
Tanaguru is an automated accessibility (a11y) testing tool, with emphasis on reliability and automation. Tanaguru has an open source (AGPL license) option and a paid option with more features.
It is dedicated to accessibility (a11y) audits and focuses on reliability and a high level of automation.
Axe-Selenium-Java is for Java testers that want to expand their test suites with accessibility tests. Axe offers the ability to perform web accessibility testing with JUnit and Selenium.
Protractor has an Accessibility Plugin that will run each set of audits (depending on your configuration) on your existing end-to-end tests to ensure your site is free of obvious errors.
The creator of this plugin, Marcy Sutton, has written a post on how and why she created the Protractor Accessibility Plugin, along with some examples on how to use it for auditing Selenium WebDriver element objects.
Tenon.io is an API that can add accessibility tests into pretty much any automation framework you might already be using. Tenon was also designed to test against WCAG.
Pa11y.org has a bunch of tools you can use to help automate your accessibility tests. They have a command-line interface, a browser-based dashboard for monitoring the accessibility of a number of your sites simultaneously, a web service and even a tool that integrates with CI tools.
Apple’s Accessibility APIs
If you’re testing IOS apps there are some accessibility APIs, like VoiceOver, that you can use can use in your scripts to help test accessibility.
Leveraging these APIs will not only make your testing easier, but it will also have the added benefit of improving your user experience.
Google’s Accessibility Test Framework for Android
Google’s Accessibility Test Framework (GATF) has test logic that can detect a bunch of common accessibility issues. It makes use of existing Android UI constructs and is easily integrated with other tools and frameworks.
For example, you can access the GATF functionality in Espresso by enabling AccessibilityChecks.enable.
Other Accessibility Testing Tools Resources
If you’re into browser extensions to help you with your accessibility testing, here are few of the more popular accessibility testing tools you should check out:
Wave Evaluation Tool
You can pass the Wave Evaluation Tool to your URL and it will tell you what accessibility practices you might be missing or are not optimized for, along with a summary of errors and alerts. It provides visual feedback about the accessibility of your Web content by injecting icons and indicators into your page.
Color Contrast Analyzer
The Color Contrast Analyzer extension allows you to check for text color contrast problems on a Web page according to the WCAG 2 text-color-contrast requirements.
It evaluates the page as it appears in the browser, so it’s able to handle text over gradients and advanced CSS attributes. You can choose to analyze a portion of a Web page, the entire visible contents of a tab, or an entire Web page.
The ChromeVox screen reader is an extension to Chrome that brings the speed, versatility, and security of Chrome to visually impaired users.
Accessibility Evaluation Toolbar
The Accessibility Evaluation Toolbar is a Firefox add-on that support Web developers in testing Web resources for accessibility features.
The DOM Inspector is a Firefox add-on that that will show you what areas of your application DOM are truly accessible.
It has a handy “accessible tree” mode.
Color Oracle is a free color blindness simulator for Windows, Mac, and Linux. It takes the guesswork out of designing for color blindness by showing in real time what people with common color vision impairments will see.
Your Top Accessibility Testing Tools
Let me know if I missed one of your favorite accessibility test tools and I will add it to the list.