Information technology has 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 operating system usable for people with disabilities.
Along with development, there is testing as well. We met with an engineer from our QA department – to find out the details about 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.
– 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.
– 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.
– 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.
– 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’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.
– 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.