Accessibility Testing

In this tutorial, we are going to study Accessibility Testing. Accessibility testing is a type of non-functional software testing which focuses on testing the accessibility of the product. We have briefly discussed accessibility testing in the Non-Functional Testing and Usability Testing tutorials, and there we got some idea of what exactly Accessibility testing is.

Here, we will cover terms and information related to Accessibility testing, such as what Accessibility testing is, the need for Accessibility testing, Laws and principles of Accessibility testing, Accessibility testing tools, Facts and myths about Accessibility testing, advantages of Accessibility testing, and more.

What is Accessibility Testing?

Accessibility testing is a type of non-functional testing that ensures the system is accessible by all kinds of users, such as ordinary and disabled people having disabilities such as colour blindness, hearing problem, physical impairments, learning impairments, etc. The primary purpose of accessibility testing is to test whether the system is uniformly working for regular and physically challenged users. It covers both usability and accessibility testing of the system simultaneously. We have special software, such as Speech recognition software, Smart keyboard software, Screen reader software, Screen magnifier software, etc., available in the market to provide assistance to physically challenged users.

Speech recognition software – It helps the users to speak whatever they want to search or find. This feature will convert the spoken words taken as input to the text and display the respective output. It is mainly used for people having visibility issues.

Smart keyboard software – It helps users who have difficulties in typing, and it makes typing more accessible and more innovative.

Screen reader software – It helps users who have vision impairments. This feature is mainly used with the speech recognition feature and primarily for reading the text displayed on the screen.

Screen magnifier software – It is also used for users having vision or visibility problems. This feature is used to enlarge the screen and makes reading easy for users.

The objective of accessibility testing is to make the software, application, or system work uniformly for all sets of people and not just limited to a targeted group. It includes users with poor or lack of communication, users from all age groups, users not aware of new technologies (using old systems), users with restricted access, users who live in remote areas, and more. Therefore, the goal of accessibility testing is to deliver a product which is accessible to all users.

There are some principles defined for the accessibility of web content, such as Understandable, Operable, Robust, and Perceivable. While performing accessibility testing, we should consider all four principles of accessibility for better testing practices.

Laws and Principles of Accessibility Testing

As discussed above, there are some laws and principles defined for accessibility testing. While performing accessibility testing, we should follow the rules and guidelines specified by the government of different countries. Therefore, accessibility testing is crucial for ensuring legal compliance to be fair to all. Some of the legal acts of various governments are mentioned below:

  • Web Content Accessibility Guidelines (WCAG) – It is one of the most potent laws for accessibility guidelines and was developed by the World Wide Web Consortium (W3C). It provides rules and strategies for creating accessible web pages for disabled people so they can easily interact and understand the content and information of that web application or website. There are four principles of WCAG for building accessible products, which are mentioned below:
    1. Perceived – It defines how people feel and experiences the content of a website/application with their senses of hearing, vision, touch, speech, etc. A product is said to be perceptible to users only if it provides a solution, such as captioning videos, adjusting font size, brightness, colours, and text spacing, for the ease of users.
    2. Operable – It defines the operability of the website/application. A product is said to be operable to users only if it offers different methods of using or accessing the site, especially for physically challenged people. For example, a person with a hand disability cannot access the website without some assistive technology.
    3. Understandable – It defines the understandability of a website or application. A product is said to be understood if it provides simple and easy-to-use information and user interface functionalities. It should not include complex terms and confusing instructions, which creates a problem for users to use and read the content.
    4. Robust – It defines the robustness of a website or application. A product is said to be robust and reliable only if it is consistent for all users when the environment changes, and it should still be accessible to all kinds of users.
      There are three different levels of conformance for the accessibility standards of a product, as mentioned below:
    5. Level A – It refers to the most basic level of accessibility standards. The websites/applications with Level A conformance contains basic accessibility standards, although they cannot accommodate a wide range of rules and regulations.
    6. Level AA – It refers to the middle range level of accessibility standards. It includes all those websites and applications which are more accessible than Level A and less accessible than Level AAA.
    7. Level AAA – It refers to the most advanced level for accessibility standards, and it includes all the websites/applications that meet all three levels of success criteria of WCAG.
  • Section 508 Legislation – It is a section of the Rehabilitation Act which states that any technology used by a federal organization should be accessible to people with disabilities. Simply put, it helps people by providing access to technology used by a federal agency or the general population when they connect with a federal agency.
  • Americans with Disabilities Act (ADA) – It is a law passed in 1990 to defend people of America with disabilities from discrimination. It involves many businesses, such as hotels, restaurants, departmental stores, shopping areas, and more. This law is divided into three sections, as mentioned below:
    1. Title 1 – This section prevents discrimination against the employees of an organization with disabilities. It states that an organization should not discriminate against people for hiring, promotion, and firing and should also provide appropriate facilities and accommodations to them.
    2. Title 2 – This section prevents discrimination against ordinary people with disabilities in public areas or places. It states that all people should be treated equally in public areas. Support should be provided to physically disabled people, such as wheelchair access on the sidewalks, signage in the elevators, and more.
    3. Title 3 – This section of the ADA prevents discrimination against ordinary people with disabilities in public places of accommodation.
      In terms of technology, ‘public places’ are referred to the internet and therefore, all websites and applications fall under this act of accessibility.
  • European Accessibility Act (EAA) – Another accessibility law for preventing discrimination and supporting people with disabilities in European countries is the European Accessibility Act. Like the other two laws, it aims to remove barriers and prohibits discrimination against the people of Europe. It states that any services or products sold/purchased or used in the European Union must remove all the barriers that affect disabled people.
  • Accessibility for Ontarians with Disabilities Act (AODA) – It is another law for the accessibility standards for all users. It states that all public and private sector organizations in Canada should facilitate their services, programs, and other elements for physically disabled people. The goal of AODA is to create Ontario a barrier-free, non-discriminative country by 2025.
  • Accessible Canada Act (ACA) – It is a Federal law in Canada that implies specific sectors and industries make them accessible to the disabled population. This law only affects three kinds of entities, as mentioned below:
    1. The government sector includes all government agencies of Canada, such as the Canadian Armed forces, the Federal government, the Parliament, and the RCMP.
    2. Crown companies are owned by the state.
    3. It includes private sectors interacting with the federal government, such as finance, transport, telecoms, etc.

Need for Accessibility Testing

As discussed, accessibility testing makes the system accessible to all types of users and helps users easily use and understand the developed application or website. The primary goal of accessibility testing is to deliver a product which will help people with disabilities such as visual impairments, speech impairments, hearing impairments, etc.

One of the primary reasons for the need for accessibility testing is that it is necessary to perform accessibility testing to ensure the application should be useful and helpful for all groups of people (ordinary and disadvantaged people). Accessibility testing should always cover the scenarios/cases for the below impairments/ problems:

  • Hearing Impairment – It is a type of disorder in which a person cannot hear clearly. Simply put, it includes people with deafness and sensory issues like hearing problems. Such users/people require a product which solves their problem of hearing disability.
  • Learning Impairment – It is a type of disorder in which a person is facing issues with reading content/texts. Some people with dyslexia (a learning impairment) fall under this category. Such people need an application that provides a solution to their problems.
  • Vision Impairment – It is a type of disorder in which a person is suffering from poor vision, colour blindness, complete blindness, etc. It also includes people having vision problems like visual strobe and flashing effect problems. A product should be efficient enough to support people with vision impairments.
  • Physical Disability – It is a type of disorder in which a person is unable to use a keyboard, mouse or any other objects with their hands. Simply put, people with hand disabilities, such as hand movement, muscle detention, fewer motor abilities, paralysis, etc., fall under physical disabilities. Such people need a product which helps them to easily use applications and software in day-to-day life with fewer challenges.
  • Cognitive Disability – It is a type of disorder in which a person is suffering from poor memory, retaining power or learning skills, or being unable to understand complex situations and scenarios. Such people also need an application or software that helps them with their disability.
  • Speech Disability – It is a type of disorder in which a person is suffering from different speech impairments such as dumbness or muteness, stuttering, apraxia, dysarthria, etc. It is essential to deliver them a product which helps them with their disorder.

How to perform Accessibility Testing

Accessibility testing can be performed manually as well as automatically. There are various automation tools available in the market to perform accessibility testing, such as TAW, Wave, JAWS, Cynthia Says, etc. However, due to some issues like low budget, unskilled labour, less automation knowledge, and more, we need to perform testing manually.

While testing the accessibility of the software/application manually, we will consider the below-mentioned points:

  • Availability of modifying font size or text size – We will check for the option of changing the font size of the content, i.e., zoom-in or zoom-out options. It will help people with vision disabilities. In the case of automation testing, we use some Screenreader tools such as Jaws.
  • Looking for captions – Here, we’ll check for the availability of text captions. Captions or alternative text for videos and images must be available and descriptive enough to be easily understandable by people with hearing impairments.
  • Availability of High-contrast mode – Check for the availability of high-contrast mode in the system so that a person with low visibility or vision problems can easily use and access the system, application, website, etc. With the help of a high-contrast system, we can turn on/off the contrast mode in our system and select the appropriate contrast theme according to our choice, the background colour will be changed to black, yellow or white as per the theme and the selected icon or text will be highlighted with the contrasting colour.
  • Deactivating the style option – Check for the possibility of disabling the style and verify the content or text of a table is lined up properly or not.
  • Checking for content scaling – Check for the image’s readability when we try to zoom out the image to ensure whether the image’s content is readable or not.
  • By converting PDF documents into text – Here, we can try to save a PDF document in a text file or text format to check whether the order and alignment of the saved text are maintained.
  • By skipping navigation – Sometimes, ignoring the navigation of an application/website helps people with motor disabilities. Hitting Ctrl + Home will move our focus and efforts to the top of a web page.
  • Instead of a mouse, use a keyboard – Here, we will test the accessibility by avoiding using a mouse. Instead of a mouse, we'll use a keyboard more even for switching between the tabs and links.
  • Turning off the CSS – We can test the accessibility of a website/application by turning off the CSS (Cascading Style Sheet) which is used for defining the appearance and presenting the content. We can mainly test the presentation, background colour, and font style of the product by turning this off.

Accessibility Testing Tools

Like Usability testing, we can perform accessibility testing in two ways, i.e., manual and automated. Sometimes, accessibility testing becomes very challenging to perform manually for a tester as they are not familiar with the disabilities. Therefore, we use tools for effective accessibility testing. Some of the most popular accessibility testing tools are listed below:

  1. TAW – It is an online accessibility testing tool used to test websites and web applications. It was developed by CTIC Centro Technologico, which evaluates the accessibility of a website based on the WCAG 1.0 and 2.0 standards and guidelines. We can simply test our website by just providing the URL in the mentioned field and start analyzing. This tool is available online and can also be installed on user systems. Web accessibility test issues are categorized into priority 1, priority 2, and priority 3. It highlights the problems identified with some recommendations to resolve them. It uses a TAW3 Analysis Engine which includes TAW3 standalone for desktop and TAW3 Web Start for Java-based software.
  2. aDesigner The ACTF aDesigner is a powerful tool offered by Eclipse mainly used to analyze and understand visually impaired people's problems. It is a free disability simulator which evaluates the accessibility of various websites and applications. This tool is often used by web developers to test the accessibility and usability of web content for blind and low-vision people. The content or text on a web page is read aloud with the help of Voice Browser and Screen Reader features which help a lot of visually impaired people. It also allows users to test the accessibility of ODF (Open Document Format) documents and Flash content and comes with accessibility information inspection functions. However, it works less effectively with high-quality graphics content.
  3. Dynomapper – It is a website accessibility testing platform which evaluates a website’s HTML code against the web accessibility guidelines. It is a visual sitemap generator with four different types of sitemaps, i.e., default, tree, circle, and folder. It reviews each web page of a website to isolate and resolve accessibility issues for a better user experience. It can create a sitemap from any URL and also imports XML files to create sitemaps. It provides features like content inventory and audit for filtering files, pages, images, and other things. It also provides Advanced Crawler Options to arrange links and follow subdomains. Some of the characteristics of Dynomapper are PDF Analytics, transparent pricing, automated testing, a suite of services, etc.
  4. Wave – It is an open-source accessibility tool developed by accessibility firms, i.e., WEBAIM and Utah State University. It tests a website and application for multiple accessibility issues and makes the web content more accessible to disabled people. Testing is easy and simple with the Wave tool as we have to enter our webpage address in the "Webpage Address" field, or we can use the extensions. It offers Chrome and Firefox browser extension for testing. It usually evaluates the web content of a webpage by creating a copy of that web page itself and doesn't save any data and information on the server. It helps in identifying some potential errors such as colour contrast errors, confusing structural elements, text size issues, etc., and makes a website/application an Accessible Rich Internet Application (ARIA).
  5. JAWS – The JAWS (Job Access With Speech) is a tool mainly used as a blindness solution for blind people. It is the world's most popular screen reader, developed by Freedom Scientific for computer users who are unable to use and see web content due to vision loss. It provides a Braille keyboard which takes braille inputs and provides respective outputs, and it also includes speech for most of the computer applications in the system. It also offers features such as two multi-lingual Viz. Eloquence and Vocalizer Expressive synthesizers. It can efficiently work with some OS, software/applications, such as Windows (OS), MS Office (Application), Internet Explorer, and Firefox (browsers), with touch screen gestures. It also offers an OCR feature which provides access to text and PDF documents. Some other features of JAWS are simple and easy to use, come with flexible UI, provide consistent performance compared to other tools, and come with multi-dimensional environment settings.
  6. SortSite – It is a popular one-click website testing tool for the desktop. It is compatible with Windows and Mac operating systems. It evaluates an entire website in just a single click, and each web page is validated against 1300+ checkpoints, accessibility guidelines, and laws. There are different categories of checkpoints, such as accessibility checkpoints, broken links checkpoints, compatibility checkpoints, web standards checkpoints, usability checkpoints, search engine optimization checkpoints, etc., against which a website is tested. It tests a website quickly in just 5-10 mins and costs effectively with the help of manual testing. It also validates the HTTP code and script errors. With SortSite, we can also validate HTML, CSS, and XHTML codes.
  7. Accessibility Checker – It is a tool in CKEditor used to test the accessibility level of the application or website. It provides an optimized user interface that helps quickly isolate and resolve accessibility issues in the website/application. The accessibility checking process is so simple with the Accessibility Checker tool as it involves only three steps, i.e., Content validation, Report Issues, and Fixing the Issues. The default checking engine in this tool is Quail. However, we can use it with other libraries also, such as JavaScript, Java, PHP, .Net, etc. There are three main elements of this tool which are quick problem solving with UI, allowing us to choose an accessibility checking engine, and automated problem fixing with a quick fix feature.
  8. Cynthia Says – It is a free online accessibility testing tool which provides an option to users and individuals to test the content of their websites. This tool provides information and educates users on the concept and use of accessibility testing. And also, Cynthia Says strictly follows the rules and guidelines of Section 508 and WCAG compliance. Like the Wave testing tool, it’s very simple, and we need to provide the website's URL to start with testing. The test report includes a list of Section 508 criteria for testing, and based on that it checks whether a website is passing or failing each mentioned criterion. It also tracks the exact location where the test gets failed.
  9. Accessibility Valet – It is an online accessibility testing tool that offers free and paid subscription options. Like Cynthia Says, it also allows us to validate our websites and applications' accessibility against Section 508 and WCAG standards. In the free version, we can check one URL at a time, whereas with the premium subscription, we can evaluate multiple URLs simultaneously. One of the significant features of Accessibility Valet is its HTML reporting which is represented in normalized form, along with more accessible and better distinction for valid and invalid markup. It also helps in recognizing misplaced contents quickly and provides accessibility warnings in the test reports.
  10. Tenon – It is the first API automation accessibility testing tool. It uses APIs, which easily integrate with the tool used for unit testing, system testing, acceptance testing, and issue tracking. It also evaluates the accessibility of web content against Section 508 and WCAG standards. The main motive of Tenon is to provide equal access to your website/application to every user. With the help of Tenon, a user can fix all accessibility gaps and issues in their website while testing. Tenon provides a couple of APIs for different accessibility issues, such as TEN-850 (For not having a label for the State/Province field on the checkout screen), TEN-1860 (For less visibility provided to “My Account Dashboard”), etc. These APIs return the output in JSON format, which includes a ResultSet node containing an array of issues.

Facts and Myths about Accessibility Testing

There are some myths and facts about accessibility testing, as mentioned below:

Myth 1: Developing accessible websites and applications is expensive.

Fact: Creating accessible websites and applications won’t be expensive. If we start testing at the design phase itself and identify accessibility issues early, then it will help us to reduce the cost of fixing bugs and saves a lot of time and effort in rework. It is easier to add and implement accessibility simultaneously with the design process.

Myth 2: Accessibility is plain, ugly, and boring.

Fact: Building accessible products is not plain, ugly, and boring at all times. If we create attractive web pages with good design and accessibility, they will be recognized by the audience for their attractiveness. Also, W3C web content guidelines strongly prevent web pages with only text. For styling the websites and applications, we can use CSS and bootstrap, which allows flexibility in designing and layout.

Myth 3: Accessibility is only for physically challenged and disabled people.

Fact: Accessibility testing helps all kinds of users to access and make use of websites and applications quickly. It improves the overall credibility of the software and applications. It aims to provide the best user experience for ordinary and disabled people. Creating accessible software helps in increasing the market share and audience of the product.

Myth 4: Updating or changing inaccessible websites/applications to accessible websites is challenging and costly.

Fact: Changing or modifying inaccessible and old web applications is simple and easy as it is optional to incorporate all changes simultaneously. A person should always incorporate those changes which are necessary and meets the basic requirements of disabled people.

Advantages of Accessibility testing

The following are the advantages of accessibility testing:

  • It provides a better user experience to all users, such as ordinary or disabled people. It resolves the problem of people with disabilities by allowing them to use and understand the application/website comfortably.
  • Accessibility testing also covers the designing and presentation of the product, such as an application or website. It ensures the application is simple yet attractive for users.
  • It makes a website/ application accessible to the population with different disabilities and disorders, which leads to the potential growth of the organization.

Disadvantages of Accessibility testing

Accessibility Testing does not have any disadvantages or drawbacks as of now.