Software Quality Component - Accessibility

Internet access is of such great importance to modern functioning societies that the United Nations has called internet access a human right. As socially responsible developers, we should ensure that everyone can effectively use websites and software. This can be achieved by considering users with disabilities at all levels of design. However, the responsibility should not be only for developers - quality engineering professionals should be able to analyze software for accessibility, provide effective accessibility feedback to developers, and turn the needs of users with disability into business requirements for the software product.

According to World Bank data, almost 46% of the world’s population regularly used the internet in 2016. However, not everyone can realize the benefits that the internet has brought. It is estimated that around 15% of people across the world have disabilities. In the USA alone, about 57 million Americans are living with special needs. This accounts for over 17% of the total population of the country. Visual, hearing, cognitive, and mental impairments can make software difficult to use. Additionally, special hardware is required for users who have a loss of dexterity, mobility, or control over certain body functions.

Establishing the right way of thinking is important before beginning accessibility projects. The internet provides great value to people with disabilities - sometimes more than internet users without disabilities. For example, people with disabilities can gain remote access to educational and professional opportunities that would otherwise not be possible.

While accessibility is a continuous scale, good software accessibility can be thought of as:

  1. When browsing a website or using a software application, users with disabilities have the same opportunities as users without disabilities

  2. The software follows regulatory acts and best practices guidelines, such as the U.S. Department of Education’s “Requirements for Accessible Software Design”, the U.S. Department of Justice’s “Software Accessibility Checklist,” and the Web Content Accessibility Guidelines (WCAG)

Achieving this level of software accessibility can help companies significantly increase their audience and customer base. Additionally, corporate responsibility is an important part of an organization’s sustainability and reputation - excellent software accessibility improves both.

Users with disabilities have a number of tools which can help them, by improving the accessibility of many sites. For example, users with visual disabilities can make use of the following:

  • Screen readers and text-to-speech tools
  • Screen magnification tools
  • Adjustable text size within applications
  • Braille displays
  • Voice recognition systems
  • Adjustable text/background color, screen brightness, and screen contrast
  • Selection of “high contrast” graphical user interfaces

For users with partial or total hearing loss, audio content should be available in sign language or with subtitles.

Users with physical disabilities may benefit from the use of:

  • Voice recognition systems
  • Adapted and virtual keyboards Joystick controls
  • Adapted computer mouses
  • “Sticky keys” software settings

Users with cognitive disabilities may use tools including:

  • Text-to-speech and voice command systems
  • Multimedia aid
  • Fonts designed for dyslexic users
  • Memory aid tools

There has been huge improvement in software accessibility over the last two decades. Accessible operating systems and web browsers provide an excellent start for the use of software systems by users with disabilities. However, this start is not enough - application developers need to complete this aim through accessible software design.

For quality engineering professionals, some great tools for getting started with accessibility testing are aXe and Coblis.

aXe, which is developed by Deque, is one of the most popular open source libraries and testing engines. This system enables both manual and automated software accessibility testing. With just a few mouse clicks, you can find out about such accessibility errors as too little color contrast, missing lang attributes, images with no alternative text, and non-unique title attributes. For providing feedback to developers, the tool captures code snippets and guidelines for fixing the issue. Google and Microsoft are among the users of this testing tool.

The Color Blindness Simulator (Coblis) allows quality engineering professionals to see what the software product will look like for people with color blindness (inc. anomalous trichromacy, monochromacy, and different types of dichromacy). Color blindness is an especially common visual disability, so this tool should have an important place in a tester’s toolkit. Using the tool gives much deeper understanding of the product’s graphical user interfaces, particularly for applications with heavy use of images, icons, and a large color palette.

Accessibility is an important part of any software product. Without much effort, development teams can provide a great user experience for a larger user base. Better software accessibility improves social, economic, and civic participation. Accessibility considerations should be built into every part of the software development lifecycle. Trained quality assurance professionals serve as an important final check for software accessibility.