Information technology have been an integral part of our life for a long time already; and making them accessible for as many people as possible is a must. The accessibility we are talking about here refers to adding the features that make a website, an application or an operational system usable for people with disabilities.
Along with development, there is testing as well. We met with an engineer from our QA department - Boris Kotov - to find out the details about accessibility testing.
The article contains links to external materials.
- What is accessibility testing?
- Accessibility testing is a type of software testing performed to make sure an app complies with recommendations of W3C standards and Web Content Accessibility Guidelines (WCAG) 2.1. in particular. While performing accessibility testing, specialists check how much one or another application is usable by people with disabilities.
- Why do you think applications need to be adapted?
- As a rule, applications that are used by a wide range of people, including people with disabilities are made to be adapted. Apart from the fact that accessibility allows for the expansion of the number of users of an application, many companies think it is a great marketing move, claiming: “We want to make our application as accessible as possible for all people.” No one can remain indifferent to this fact, and it helps the company, the developers and the application itself to gain more trust.
- Which disabilities is it possible to adapt an application for?
- Accessibility is, first of all, usability. I think, accessibility often helps not only people with disabilities, but also any other people under certain circumstances. For example, the one could watch a video with subtitles when it’s noisy and there are no headphones at a hand. Or, alternatively, when there is no opportunity to read something, you could just listen it through headphones. Applications are often adapted for users with hearing and visual impairments, and, less often, for people who are not able to use a keyboard or any other manual input device.
- What features should be added to a website or an application for it to be considered ‘adapted’?
- All the features should be considered while developing an app, and even earlier – when drawing up project technical requirements. Basically, all these features that help to adapt an app, are hiding in tags, attributions, and page layout. Videos in such applications should support subtitles. Developers and designers should also use certain text sizes, fonts and contrast colors for people with visual impairments.
There are additional programs and extensions for browsers that help people to look through the page and to perceive information in a certain way: visually or aurally. It is possible for us to help users to switch between necessary page elements. Developers can avoid long and complex words, can make them more short, simple and understandable; important pictures can be accompanied by captions that, in turn, can be voiced with a screen reader. The screen reader feature is usually embedded in a device’s firmware: for iOS, it is VoiceOver, for Android, it is the Accessibility menu that can be found in the settings, and for Windows, you can install and use the NVDA.
A page can also contain some design elements that are not involved in its direct management and do not influence the content in any way. These elements don’t need to be displayed, they need to be hidden. It’s possible for us to make these tools focused on things that are really important.
- Could you name several well-known companies that have already adapted their applications for people with disabilities? What did they do in particular?
- The first company who comes to my mind is Yandex. Not so long ago I read their article on habr, and that seemed very interesting to me. The article was pulled out a long time ago, but it described very capaciously the process of implementing the accessibility recommendations to their project.
So, in my opinion, the majority of examples are somehow connected with medicine, as is the case with my current project. For example, in the app I’m working on is able to make a ‘sick call’ or to find the nearest suitable clinic and make an appointment there in a couple of clicks.
- It is necessary to involve people with disabilities in accessibility testing process?
- It's not always vital to involve people with disabilities at the beginning, as there are a lot of different disabilities and features out there. Many of these features can also be used for people without disabilities. In fact, anybody can ‘limit’ their abilities on a device. For example, you can mute the volume, or try to use an app with eyes being closed using voice input. Probably, involving people with disabilities will be useful when performing final testing – alfa or beta – when work with focus groups is supposed to be carried out.
- Could you tell more about the process and the distinctive features of accessibility testing? What are the special tools you use when performing such kind of testing?
- The process of testing itself is carried out the following way: from the W3C document we choose the paragraphs we should stick to when developing and testing the app. At first, testing of the app is performed with the help of automated web tools and extensions. We used: aXe, Lighthouse and Wave. These tools check the code, contrast, fonts sizes and other things, and then collect the main discrepancies and give recommendations for improvement.
After that, the developers fix the bugs and then all testing tasks are carried out manually. We write test-cases, describing the things that we should check within accessibility testing. Then we test an app and send all the bugs found to a bugfix along with recommendations for improvement.
Automated tools can not find all inconsistencies, so it is preferable to perform both automated and manual testing. While performing automated testing spaces between paragraphs are often skipped as well as some traps when navigating the page. For example, when using the ‘tab’ button to switch between page elements, some things can go in cycle in a paragraph or between the links, those things are defined manually. Automated testing can not also define such things on tablets and telephones. In this case, it’s better to perform manual testing – to watch, to listen all by yourself in order to understand how everything will look from the side of a real-life user.
In conclusion, I would like to say that implementing accessibility is a great addition to any website or application. And to work, realizing that this will significantly facilitate someone’s life, feels really inspiring. I would like to see as many applications as possible adapted for people with different abilities, and also to work more on such kind of projects.