You might be surprised to know that currently 650 million people—or 10 percent of the world’s population—live with some form of disability . With the growing use of software in all walks of life, this is a major segment of the population that cannot be left behind.
Disabilities and associated accessibility problems largely fall into four categories:
Visual Impairments: partial or complete loss of vision. Low or no vision affects the user’s ability to discern or see the screen. Core assistive tools and technologies for the visually impaired include screen readers, Braille terminals, and screen magnification tools.
Mobility Impairments: conditions that affect movement of the limbs. This category includes conditions that cause difficulty or inability to use one’s hands, including tremors, muscle slowness, and loss of fine muscle control. Due to their restricted movements, users with mobility impairments might find the links in your application too close or too difficult to access. Some assistive technologies that promote accessibility in such cases include speech recognition tools and head mouse wireless pointing devices.
Auditory Impairments: partial or complete loss of hearing. Hearing loss affects the user’s ability to discern or hear audio. In some cases, hearing aids are a useful tool along with enhancements to your product, such as video transcription (a text equivalent for the video content).
Cognitive Impairments: mental disorders that affect cognitive functions. These disorders range from developmental disabilities to learning disabilities to cognitive disabilities of various origins, affecting memory, attention, developmental “maturity,” and problem-solving and logic skills. Screen readers come in handy in the testing process, but a lot of manual intervention focusing on site design, flow of information, and content intuitiveness is required in testing for accommodating users with cognitive impairments.
Special attention needs to be given to the product’s architecture, implementation, and quality assurance phases to accommodate these users’ needs. Identifying lack of support in these areas late in the game makes it very difficult to fix issues, leading to the possible alienation of a large set of your product’s users.
So, what can you as a tester do proactively to ensure comprehensive accessibility support for your product from the early stages?
Understand the Accessibility Guidelines and Standards: These guidelines set by governmental agencies and consortiums—including World Wide Web Consortium’s (W3C) Web Content Accessibility Guidelines 1.0 and 2.0, Section 508 —outline critical checklist points that you can extract and incorporate in your test effort.
Understand Accessibility from a Usage Standpoint: Discuss your inputs with your product team up front. If your team has done usability tests in the past leveraging real end-users or is open to allowing you to interact with real-time users with accessibility issues, grab the opportunity. Interact with your users, observe them playing around with the product, and carefully make note of the kinds of issues they face from UI, functionality, and usability angles. If you have a usability expert on the team, work with him to analyze your observations. These findings go a long way to help you design the right product. Even if you do not have a product to demonstrate as yet, talk to users to understand their pain points and what they would like to see in a product such as yours.
Manual Accessibility Testing: Some content simply cannot be tested using automated accessibility validators and tools. As an example, an image of a tiger could have its alt text set to “mouse,” which is clearly inappropriate. There is currently no automated tool that can recognize the contents of an image and determine whether the alt text is correct. Ensure you chalk out a clear test plan with areas that you want to test manually to extensively cover the accessibility guidelines. Use assistive technology tools in the test efforts to simulate a disabled user’s experience in verification efforts. For instance, use screen readers such as NVDA or Jaws in a combination of operating systems, browsers, and devices to test for both accessibility and compatibility scenarios.
Automated Accessibility Testing: There are several tools that scan through the source code as well as analyze the application’s UI to report core accessibility issues. Such findings greatly supplement the manual test efforts in reaching out to all corners of the code, which may be difficult in manual code reviews. In our test efforts we’ve used:
Use the VPAT: The Voluntary Product Accessibility Template (VPAT) is a great resource for the entire product development team, especially the test team. Developed in 2009 and owned by the Information Technology Industry Council, the VPAT lists the requirements for Section 508 to accommodate for accessibility in the product under development. The tester should ensure this template is discussed up front with the business, design, and development teams so everyone is on the same page about incorporating the requirements in the product. When included in your accessibility test efforts, the VPAT is almost like a certification for your product’s compliance with Section 508.
Consider Collaboration: To elicit valuable feedback, you can work with organizations that support people with accessibility issues. At our company we work with the Blind Relief Association in India to engage the visually challenged in our accessibility test efforts. This has helped us not only evaluate a product’s accessibility to the visually impaired but also provided equal employment opportunities for the disabled. As a side benefit, such collaborations have gone a long way in encouraging our employees to actively participate in our corporate social responsibility mission.
As you read about accessibility testing, it is important to understand and differentiate accessibility from usability—at least at a high level. Accessibility is about promoting access to a product and its contents to a group of people who might otherwise be deprived of the same. On the other hand, usability is about promoting a product’s user experience and intuitiveness. It is really difficult to say that one is more important than the other. What is important is to understand the underlying differences and work toward building a product that is both accessible and usable.
Take a moment to ponder the points listed above. Some are pure science on specific disabilities that need to be accommodated, some are pure art in terms of working with end-users to elicit feedback, and some are a combination of art and science with your hands-on accessibility testing efforts. When you arrive at the right balance in your overall accessibility test efforts and collaborate with your product development team and end-users, you are in a position to create a product that is accessible to one and all—and leaves no one behind!