The Need for Accessibility Testing
Accessibility of mobile and web applications means enabling all Internet users, especially impaired people, to feel, understand, navigate and fully use the applications. Accessibility testing is extremely important for all web content creators. It enables them to raise the bar higher, shift left and expand the range of users.
The impairment, so to speak, can be connected with hearing, visual, mental or physical limitations. Yet being an impaired person doesn’t have to result in cyber exclusion. How the modern Internet will look in the future depends on developers’ and testers’ willingness to deal with these new quality requirements.
There are over one billion impaired users in the world who use web applications on a daily basis. It is important to have them in mind when developing new software. Test automation is a great way to start playing around with accessibility and bringing new value to existing test suites. It is also good to remember that automated tests won’t catch every UI flaw, but should prevent from basic fails.
Developers and testers in each web or mobile project should always estimate how much and what kind of accessibility testing is required, as well as how to measure the level of accessibility testing coverage. They should always focus on the outcome, not the implementation.
What does it mean to alter a website’s content to meet accessibility requirements? At first, developers should focus on good HTML code quality, compatible with helpers – devices and applications – on PCs and smartphones.
Here is the set of basic principles of creating accessible applications.
When creating applications that meet the unique needs of users, developers and testers should pay special attention to the implementation and testing of user interface elements. Such elements include:
People affected by visual impairments that prevent the correct perception of colors may be excluded if they can not properly distinguish individual elements within an application. Using specific screen filters (e.g. from http://colororacle.org/ – compatible with Windows, Mac, and Linux) that mimic certain dysfunctions can verify these issues, opening the door for future color adjustments.
Icon size and simplicity is particularly important to people with motoric impairments or cognitive difficulties. Important implications of icon accessibility for an application include:
- The ability to change the resolution of the displayed elements
- Ease of use and installation of the application
Examples of backend elements that can make an application more accessible include:
- Volume control
- Adaptation to speech assistants, e.g. VoiceOver (iOS) or TalkBack (Android)
- Appropriate structure of the application HTML code to enable communication between our application and speech assistant software for the blind
- The ability to use audio descriptions
Practical considerations for accessibility testing
Practically, accessibility testing strives to meet all of the above and increase the number of usability tests. As accessibility is nowadays a standard UI feature, it should not be skipped in your automation test coverage. However, the case is not to fulfill subjective aesthetic feelings concerning a given application. Rather, the goal is to conduct certain test suites, designed for particular user groups. The spectrum of the tester’s capabilities is unlimited, and creativity is key.
A properly working application available for people with disabilities should always ensure:
- Easy installation
- Navigating without the help of sight
- The ability to use the application with simple gestures
- Clear feedback to the user
Testing of such applications should check whether:
- It is possible to navigate without using a touchscreen
- Audio description is available for every visible element
- There are application areas devoid of audio descriptions
- All elements to which you can click have at least 48 dp (9 mm) in length and width
- All voice elements have an additional mechanism to support users with hearing impairments
In accessibility testing for disabled audiences, another major point to consider is accessing the website without the use of the mouse.
A person should be able to complete access to the website, such as: links, buttons, radio buttons, checkboxes, pop-ups, and dropdowns. All the controls should be fully accessible and operable through the keyboard. This is something every tester should focus on from the start of manual testing.
At the next stage, some manual tests steps performed on the keyboard can be automated. For interactive widgets – such as tab switchers and modals – tests can ensure that the functionality works. For example, it is possible to write tests asserting the escape key closes a modal and handles focus, or the arrow keys work in a desktop-style menu.
Tools to support accessibility testing
There are plenty of tools and services that can help developers and testers test accessibility or perform basic smoke tests in this area, validating the HTML code. Some of these tools are free and created by enthusiasts who want to improve the accessibility of the Internet for everyone, so they’re definitely worth using. The best known and most widely used tools are:
- The Web Accessibility Checker, available in Visual Studio. It is probably the easiest way to perform an accessibility test on any ASP.NET web application. It is 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 of the UI elements on the desktop. It also enables assistive technology products, such as screen readers, to provide information about the UI to end-users and to manipulate the UI.
- One of the most popular tools testing application backend is AATT (Automated Accessibility Testing Tool) created by PayPal. It allows you to use the API suitable for applications that meet accessibility requirements and to customize the HTML code. It is available on GitHub.
Even more so, Google (Accessibility Developer Tools provider – an add-on to Chrome Developer Tools) and Apple run educational websites with ready-made solutions for developers. They also provide simple testing tools that allow expanding the knowledge and the ability to test the availability of applications. Of course, as with any type of testing, nothing substitutes the creativity of a tester.
There are different types of automated tests, but two key areas for accessibility in web development are unit and integration tests. It is worthwhile to remember, that the best way to mimic end-user behavior in the system – is end-to-end test coverage. In further stages of testing – it is good to pay more attention to extend them.
In the era of fighting for new application markets and expanding the number of users on social media – Accessibility Testing can be a good approach for developers, testers and UX designers.
The development of new technologies should nowadays increase the awareness and social responsibility of the software industry. In this case, accessibility scenarios should no longer be just a whim of testers but finally, become a real challenge. Better accessibility should fulfill the market need, resulting in a desire of providing access to all services to any Internet user, regardless of his technical proficiency, mobility or age. Last, but not least, when it comes to Accessibility Testing – automation is not a cure for everything. When conducting manual testing, it should always with real people, including people with disabilities.
About the Author:
Kinga Witko is a professional quality evangelist, experienced in testing data warehouse, web and mobile applications, with an ability to ruin every ‘bug-proof’ application. Blogger. Conference speaker. Currently working as a Quality Manager at Capgemini in Wrocław (Poland).