paint-brush
The Importance of Testing For Accessibility and Tool Recommendations by@sigmasoftware
137 reads

The Importance of Testing For Accessibility and Tool Recommendations

by Sigma Software GroupSeptember 8th, 2021
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Accessibility Testing is evaluating how easily users with disabilities can use a component or a system. 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. Read this article to learn the basics and find out some useful tools of Accessibility Testing.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - The Importance of Testing For Accessibility and Tool Recommendations
Sigma Software Group HackerNoon profile picture

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.

What is Accessibility?

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.

Why is Accessibility so important?

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:

  • People with "temporary disabilities" such as having a broken arm or having lost their glasses;
  • People with "situational restrictions" who use an application in certain conditions like in bright sunlight or are unable to play audio;
  • People who are limited by Internet connection speeds or have limited/expensive traffic;
  • People who use devices with small screens (mobile phones, smart watches) or different input modes (smart TV), etc.

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:

What is Accessibility Testing?

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.

Accessibility Requirements

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.

Web Apps Accessibility Testing tools

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).

WAVE PLUGIN

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.

VALIDITY PLUGIN

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.

Mobile Apps Accessibility Testing tools

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

Accessibility Scanner scans your screen and provides suggestions to improve the accessibility of your app, based on the following:

  • Content labels
  • Touch target size
  • Clickable items
  • Text and image contrast

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.