Note: Today’s guest post author, Giridhar Rajkumar, holds many roles: speaker, author, founder, and instructor. He founded Tips for Test Automation, LearnDevTestOps, and The Tester’s Hub. He serves as a Cypress.io ambassador. Giridhar has 10+ years of experience as a test automation consultant at Wipro Limited.
We all are living in a Digital Era where the smartphones and web applications dominate everything we do in day-to-day activities some way or the other. The time we spend daily interacting with our phones or laptops is huge these days.
We need to understand the fact that not all people would be able to use today’s mobile or web applications in the same way. There are people with various disabilities which makes the usage of some applications not accessible to them.
An application should always be built keeping in mind about all types of end-users. Considering the statistics released by the WorldBank –
“One billion people or 15% of the world population undergo some sort of disability.”
So, as an organisation, it is our foremost duty to consider accessibility testing a priority before we release any applications to our end users.
In this article, we will see a few types of common disabilities, how to perform accessibility testing and some of the commonly used tools in the market to perform various types of accessibility testing.
Types of disabilities
There are multiple types of disabilities people will face at some point in time in their life. Here are some common disabilities:
- Physical Disability
- Cognitive Disability
- Eyesight / Vision Disability
- Hearing Disability
- Temporary Disability
Physical Disability is a kind of a disability where people may have challenges with speaking, rely on motorised equipment and cannot access physical devices like a keyboard or mouse to interact with the applications.
Cognitive Disability is the type in which people have poor memory and have difficulties in understanding and expressing their thoughts to the other person.
Eyesight disability is one of the most ¹ disabilities and again, according to the World Health Organisation, around 2.2 million people globally have visual impairments or blindness.
Hearing Disability is the inability to hear. This can be partial or complete deafness.
Temporary Disability can occur due to environmental conditions, illness or accidents and mostly a temporary situation.
How to perform Accessibility Testing?
Now that we know the common disabilities, it’s time for us to know how we can leverage the testing strategies for accessibility. But before that, we need to know a few artifacts that are considered industry standards.
Web Accessibility Initiative (WAI) of the World Wide Web Consortium (W3C) has issued a set of guidelines known as ‘The Web Content Accessibility Guidelines (WCAG)’ which organisations must strictly follow to make the application accessible to people with disabilities. The different phases of SDLC should follow these set of guidelines as part of their Non-Functional Testing process.
These guidelines can be found here.
For each and every guideline, there are testable success criteria, which are at three levels:
- A (lowest)
- AA (mid-range)
- AAA (highest)
These levels may vary from different organisations and in different situations. Conformance at higher levels indicates conformance at lower levels. For example, by conforming to AA, a Web page meets both the A and AA conformance levels. Level A sets a minimum level of accessibility and does not achieve broad accessibility for many situations. For this reason, UC recommends AA conformance for all Web-based information.
Many organisations practically do accessibility testing by recruiting real-time testers in their own abilities to validate whether their product meets the correct user experience.
Having said that, let’s now see how we can perform accessibility testing for the types of disabilities we read about earlier.
Physical Disability
- Check whether there is voice recognition software and test its consistency
- For people with a speech disability, check whether the physical keyboard is efficient to use
- People with a motor disability should have an option to find human help in case of emergencies
- Test the application with a specialised mouse for people who have limitations in muscular control
- Make sure the timeouts are configured accordingly as the user consumes more time for situations like entering the values in the form etc.
Cognitive Disability
- Check whether the controls are clear for the users to use
- Easily understandable menus so that the user can select what they need
- Maximum usage of images and graphs instead of texts which make understanding the context difficult
- Test whether the user can complete a task without unnecessary distractions like alerts, advertisements, etc.
- Validate whether there is an option to find human help
Eyesight / Vision Disability
- Test whether the application provides keyboard shortcuts for all the operations used by a mouse
- Text to audio converters
- Magnifiers in place for fewer vision abilities
- Fonts used are satisfying the rules of W3C Accessibility Checker
- Color blindness filters
Hearing Disability
- Test whether the application alerts the users with vibration even when that feature is turned off (mobile apps)
- Providing manuals in sign language for better understanding the application
- Flash alerts in mobile phones like led lights flashing during incoming calls
- Audio to text converters in place
Temporary Disability
This type of disability is spontaneous and can happen anytime in one’s life. This can include a foreign person using an ATM in a region where the language could be a barrier. In this case, we need to see if there is an option in the ATM system to use a common language, commonly English to control.
There might be a situation where a person can have a broken arm or undergo surgery on one eye. So we need to ensure whether the application we develop can be adapted by the user during those situations without giving stress to the users.
Though we are in a digital era, not all disabilities are identified and addressed. So in reality, unfortunately not all types of disabilities are considered while an application is built and released.
Tools to perform Accessibility Testing
With all the guidelines defined according to W3C standards, one or more tools can be used to validate the required success criteria of the application. Accessibility testing can be achieved either manually or automated. There are several open-source and commercial tools in the market to test the application for accessibility compliance.
Following are some of the tools that can be used.
Screen Magnification
People with limited vision may not be able to read the content with the normal font size. Such people need to zoom in on the content to read it.
Magnifier App in Windows and Zoom option in macOS are excellent tools.
Color Contrast Analyser
Color Contrast Analyser (CCA) helps to keep sufficient contrast between foreground and background colors by providing appropriate test results.
Applitools Accessibility Testing
Applitools uses AI powered computer vision (Visual AI) to help identify potential contrast violations. If the measured contrast ratio in text or images is less than the minimum defined by WCAG then a contrast accessibility failure is flagged for that element. It can be used for both web, mobile web, and native mobile applications.
Users can toggle between WCAG 2.0 or 2.1 as well as AA or AAA to be advised on how well their website or application complies.
This product can be enabled within your existing automation framework with a simple line of code, or easily configured to automatically scan your site or application without writing a single line of code.
Contact Applitools to schedule an early-preview demo today.
Screen Readers
Screen readers are the tools used for narrating the content of a page. A screen reader can narrate everything for the user like the texts on the website, links, checkboxes, radio buttons, images, etc.
Here are some famous screen readers for browsers and mobile devices:
- IE and Chrome: JAWS (Job Access With Speech)
- Firefox: NVDA (Non-Visual Desktop Access)
- Safari: Voice Over
- iPhone: Voice Over
- Android: Talkback
Speech Recognition Tools
Speech recognition tools are used to interact with the application by dictating text or commands to it. It can be used to dictate text, control buttons, links, open an application and other controls. Windows Speech Recognition, Apple Dictation and Dragon are some common Speech Recognition tools.
Axe Browser Plugin
Axe is a browser plugin for Chrome and Firefox web browsers. It scans the web page to find for WCAG 2 (Web Content Accessibility Guidelines 2) and Section 508 (Standards defined for Federal Agencies) accessibility and reports the violations. The axe-Chrome extension utilizes the axe open-source JavaScript library developed by Deque Systems.
WorldSpace Attest from Deque
The Worldspace Attest is a toolkit used by developers while they code. It supports the shift-left approach to identify the accessibility issues (as per the guidelines defined by WCAG, Section 508, etc.,) much earlier in an automated fashion. This has the feature to integrate with the existing test automation framework which will check for the compliance issues while the functional tests run. It currently supports all major browsers like IE, Chrome, Safari, Firefox. It has extensive support for both iOS and Android devices as well.
It’s Everyone’s Right!
As per the United Nations Convention on the Rights of Persons with Disabilities (UN CRPD), access to information and communications, including web & mobile applications, is defined as a basic human right and applications must comply to Accessibility Standards.
Performing accessibility testing will help us make our applications friendly to those with disabilities, thus offering them equal rights to the digital world.
Remember, everyone will become disabled in some way, sometime, in our lives as part of nature’s cycle.
References:
- https://www.worldbank.org/en/topic/disability
- https://www.w3.org/WAI/standards-guidelines/wcag/
- https://www.who.int/news-room/fact-sheets/detail/blindness-and-visual-impairment
- https://applitools.com/docs/api/eyes-sdk/classes-gen/class_configuration/method-configuration-setaccessibilityvalidation-selenium-java.html
- Slideshare by Manoj Kumar