I recently interviewed one of the contributors to the Selenium project and a Senior Technical Consultant at Applitools, Manoj Kumar, about the importance of accessibility testing.
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 test automation tools out there today.
Read on to learn more about:
- What is accessibility testing
- How automated accessibility testing helps identify website issues
- Reviews of the top accessibility testing tools for automation
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 to 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. 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 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 downloading the Checkpoints for Web Content Accessibility Guidelines (WCAG) to help direct your automation efforts. Keep in mind Compliance with Web Content Accessibility Guidelines (WCAG) is important, but it should be used in conjunction with user research and feedback from users with disabilities.
This list includes three types of accessibility testing tooling: manual, automation, and user acceptance testing.
- Manual testing involves using browsers, plug-in tools, and assistive technology.
- Automation testing focuses on tools like Ax.
- User acceptance testing involves testing with people with disabilities to understand real-world performance and find issues beyond accessibility conformance.
Here is the top tool list:
1) Web Accessibility Checker
The Web Accessibility Checker is probably the easiest way to perform accessibility checks on any ASP.NET Web application. It’s fully customizable and supports all major international accessibility standards.
2) UI Automation
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.
3) Windows SDK
Some other helpful test tools in the Windows SDK are the Accessible Event Watcher, Inspect, AccScope, UI Accessibility Checker, and UI Automation Verify.
4) 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.
AATT integrates with automation frameworks like PhantomJS, SeLion, and NemoJS.
5) 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 on 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.
6) A11y Machine
The A11y Machine (or a11ym for short, spelled “alym”) is an automated 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 an 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 automated 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 of how to use it for auditing Selenium WebDriver element objects.
Tenon.io is an API that can add accessibility tests to 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.
13) Apple’s Accessibility APIs
If you’re testing IOS apps, there are some accessibility APIs, like VoiceOver, that you 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.
14) 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 a few of the more popular web accessibility testing tools you should check out:
15) 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.
16) 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.
18) Accessibility Evaluation Toolbar
The Accessibility Evaluation Toolbar is a Firefox add-on that supports Web developers in testing Web resources for accessibility features.
19) DOM Inspector
The DOM Inspector is a Firefox add-on that will show you what areas of your application DOM are truly accessible.
It has a handy “accessible tree” mode.
20) Color Oracle
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
Accessibility testing is an essential part of creating an effective, accessible website. While you automate accessibility testing with tools, you save time and money, as well as improve testing accuracy and reliability.
Do not let a lack of resources stand in your way any longer. Let me know if I missed one of your favorite accessibility test automation tools, and I will add it to the list.