Sigma Software provides top-notch software solutions and IT consulting to more than 170 customers all over the globe.
by Ihor Kolotko, Test Engineer at Sigma Software
As you probably know, combating different kinds of discrimination, (including discrimination of people with disabilities), has been gaining traction all over the world lately.
Providing unimpeded access to goods and services is viewed as a part of this effort. This translates into the legislative regulation of accessibility to goods and services (including various software products) being reinforced in a number of countries within the European Union.
Additionally, software makers are increasingly concerned about the accessibility of their products and service for people with various abilities. That is why accessibility testing is rapidly gaining popularity nowadays.
Despite the fact that this article is primarily focused on testing activities, it can be useful for anyone who (in one way or another) participates in software product development, as well as directly communicates with customers on behalf of an IT company.
According to the ISTQB Glossary, accessibility is the degree to which a component or system can be used by people with the widest range of characteristics and capabilities to achieve a specified goal in a specified context of use.
Accessibility is the practice that makes an application suitable for use by the widest range of people.
Accessibility can also be seen as a practice aimed at ensuring the same treatment as well as providing equal opportunities for everyone, regardless of their abilities and circumstances.
According to the latest research conducted by the World Health Organization on this matter, on average, about 15% of the population has some kind of disability.
At the same time, this percentage can be significantly higher for some categories of people. For instance, among people over the age of 60, about 46% have some disability. Thus, quite a large number of potential users might face challenges using your application if it is not fully accessible.
Furthermore, compliance with accessibility requirements might be useful for such groups of people as:
Moreover, for some organizations, like schools, universities, government entities, etc. absence of accessibility support will lead to a violation of the law (this depends on the legislation of the country in which they work).
In general, there are 3 main groups of reasons why ensuring accessibility can be important:
Accessibility testing is evaluating how easily users with disabilities can use a component or a system.
When talking about equal treatment and opportunities mentioned in the previous section, do not perceive them as the main goal and focus on them as such.
The equity that needs to be achieved, should rather be interpreted in terms of having a similar final outcome for users with different capabilities. Picture 2 more effectively illustrates this statement.
The main objective of accessibility testing is to ensure that there are no barriers for the usage of a software product or service by users with different capabilities.
At a minimum, all users should be able to have the same or similar opportunities. It may need to be tailored to their special needs in order to allow them to use the software product effectively.
Despite the fact that accessibility requirements are enshrined in a variety of laws around the globe, it is quite rare that a legislative act establishes any specific and detailed requirements directly. Typically, laws simply define third-party standards or guidelines, adherence to which would help to ensure or at least improve the accessibility of software products and prescribe how to follow the guidelines accurately.
One such standard, which is referenced by most legislative acts in many countries, is the Web Content Accessibility Guidelines (WCAG). These guidelines do not have statutory force on their own and are purely recommendations by nature.
At the same time, this is the most complete, detailed, and comprehensive guidance in existence to date. Moreover, recommendations provided within this guidance might be applied not only to web content but also to other types of software solutions such as desktop and mobile applications, non-web electronic documents, software embedded in various devices, etc. (with some exceptions and limitations, of course).
These guidelines were developed by the World Wide Web Consortium (W3C) in cooperation with individuals and organizations around the world.
The goal is to provide a single shared standard for web content accessibility that meets the needs of individuals, organizations, and governments internationally.
They cover a wide range of recommendations for making Web content more accessible.
It is completely impossible to perform accessibility testing without using any specific tool. There are a bunch of various evaluation tools that can be used to determine the accessibility of web content.
However, not all of them are convenient to use and might not be suitable for your particular needs. Also, some of them are not able to verify web applications that are available only within an internal network.
The list below contains a minimal set of more or less universal, convenient, and powerful tools that can be used for verification (including verification of sites available within an internal network only).
This plugin provides visual feedback about the accessibility of tested web content by injecting icons and indicators into verified pages to highlight errors, alerts, structural elements, contrast errors, features, and ARIA.
Provides an opportunity to perform the evaluation of intranet, local, dynamic, password-protected, and other sensitive web pages.
Provides mapping of identified errors with WCAG 2.1 failures, thus facilitating the evaluation of both WCAG and Section 508 compliance.
Quick and easy validation of HTML documents from the toolbar (shows the number of HTML errors, provides detailed descriptions of each error within the console tab of Chrome's developer tools).
IMAGES ON/OFF PLUGIN
Simple switching between “images off”/“images on” modes for a particular host (all other tabs opened within a browser are not affected).
COLOUR CONTRAST ANALYSER
Quick and easy determination of the legibility of text and the contrast of visual elements, such as graphical controls and visual indicators (provides an opportunity to get colors for analysis even from images, elements of the operation system, or elements of desktop applications).
JAWS SCREEN READER
One of the most commonly used screen readers.* The program allows users to read the screen with either a speech synthesizer or braille display. In addition, it is possible to get a speech history in a readable view (this can come in handy for verification of content that is done in a language you do not speak).
There are no limitations in the commercial version.
By default, it supports the verification of content in 10 languages. The list of supported languages can be extended by downloading additional synthesizers. Depending on the selected synthesizer, up to 50 languages and dialects can be supported.
NVDA SCREEN READER
One of the most commonly used screen readers.* This is a completely free, open-source, portable screen reader. The program allows users to read the screen with either a speech synthesizer or braille display. Also, a live speech viewer is available (it is more convenient in comparison with view of speech history in JAWS and can come in handy for verification of content that is done in a language you do not speak). The Built-in speech synthesizer supports over 80 languages.
*According to the results of the latest Screen Reader User Survey #8(link is external) (September 2019) conducted by WebAIM organization.
In addition to this list, Chrome browser has a built-in tool called Lighthouse, which allows evaluating many aspects including accessibility.
Nevertheless, you should be warned that in practice I have encountered situations where this tool scored compliance with accessibility standards of 98%, but the website was completely unusable for blind users based on manual verification results.
Now let's compare these tools on their type, payment options, and compatibility.
The set of tools for mobile apps accessibility testing is noticeably narrower and it is commonly limited by standard pre-installed tools which are typical to a particular operating system:
ANDROID ACCESSIBILITY SUITE
Android Accessibility Suite is a collection of accessibility apps that help use an Android device eyes-free or with a switch device.
The set includes such features as a TalkBack screen reader, Display size and font size settings, Magnification, Contrast and color options, Voice Access, Switch Access, Audio & on-screen text settings. Android Accessibility Suite requires Android 6 or later.
Accessibility Scanner scans your screen and provides suggestions to improve the accessibility of your app, based on the following:
IOS ACCESSIBILITY TOOLS
iOS Accessibility tools include a set of accessibility apps that help people with different disabilities use iOS. The set includes such features as a VoiceOver screen reader, Zoom, Magnifier, Display & Text Size, Motion, Spoken, and Audio Descriptions.
The accessibility section also contains settings related to Physical, Motor, and Hearing disabilities as well as some general settings related to accessibility.
ACCESSIBILITY INSPECTOR IN XCODE
The Accessibility Inspector presents a utility window that displays the information properties (and values), action methods, and position in the accessibility hierarchy of the object currently under the mouse pointer.
To use this tool, you need to have a build of the application you are going to test. To use the Accessibility Inspector, first, make sure that it has permission to control your computer.
An extended list of available testing tools can be found on the Web Accessibility Evaluation Tools page of WAI. This page contains a number of filters so that you can find the ones that match your particular needs in an easier way.
Often it is better to use a variety of tools and their combinations to test various aspects of web accessibility and to get varying feedback and reports to ensure you are capturing all the possible issues.
In addition, when choosing testing tools you intend to use, take into account the accessibility standards that you will rely on while evaluating performance, as well as the specific features inherent in your particular application.
Accessibility testing like any other kind of testing has some specific features that should be taken into account before testing is started.
Create your free account to unlock your custom reading experience.