Mobile Accessibility Testing at Netguru
At Netguru, our most important goal is to build beautiful software that can make the world around us a better place. At the same time, we want no one to feel excluded from using the software that we create. That’s why accessibility is very important in our software development process. As QAs at Netguru, we stay on duty in the matter of making applications that are easy to use for everybody.
This article will help you to understand what accessibility is and how our QA team tests for it on both iOS and Android mobile devices.
What is mobile accessibility, and why is it important?
On the internet, we can find a lot of definitions for digital accessibility. The Interaction Design Foundation defines it as the following:
“Accessibility is the concept of whether a product or service can be used by everyone – however they encounter it.”
However, to understand fully what accessibility is, we need to dig a little more deeply. Interactions with technology depend heavily on what users can see, hear, say, and touch. So when we forget about one of those senses, we can easily exclude a lot of our potential users.
When we think about an accessible application, we think about an application with which users can interact no matter where and how they want to use it. It’s not only about impairment but also about the current situation of our user.
So, web accessibility and mobile accessibility don't really differ from each other in terms of the foundations and goals. Accessibility, in general, simply ensures that all users, regardless of their current limitations, will be able to use this particular application.
For example, let’s imagine that they are a driver and want to safely use our application while driving a car, or they are a young parent and want to use our application while holding their newborn.
In both of these situations, the traditional usage of fingers to interact with the application is really challenging and, even worse, dangerous. That's where accessibility comes in – to make our software useful, no matter the circumstances.
When we care about it, we gain strong benefits that can make a difference and contribute to success at the project’s finish line.
Let’s see how the Netguru QA team handles this topic.
QA vs. accessibility: mobile accessibility testing
When we think about mobile accessibility, we try to have a mindset that helps us to develop more accessible products and that searches for opportunities to increase the potential audience of our product. This mindset contains three principal rules that are with us on a daily basis:
- Remember that both web and mobile users are diverse
- Customization is the core of accessibility
- It’s the whole team's job to care about accessibility
Remembering these three simple rules helps us every day to create products that are accessible and easy to use for all users.
That’s not all, though. From our experience, we know that in a hurry, when we have a lot of work, it is easy to forget about the accessibility tests. That's why we always plan such tests early enough so that we don't forget about them.
When planning them, we take into account standards such as the Web Content Accessibility Guidelines (WCAG), whose rules are valid for mobile applications as well as websites. We also take into account customer requirements, any laws in our target market, and the whole context of the application – especially who our potential target user group is.
So, let's get down to business. How does Netguru test accessibility in the mobile apps we create? We can split this topic between two of the most popular mobile operating systems: Android and iOS. They both offer various accessibility tools that help us ensure an accessible mobile experience.
Testing accessibility on Android
Android as a mobile operating system has a lot of accessibility options that can make using it a lot easier for people with some impairments. So let’s quickly talk about them and how we can test if they work with our application.
TalkBack
TalkBack is probably the most powerful option available on Android devices to make sure it's accessible. TalkBack is one of the mobile screen readers (provided by Google) included on Android devices targeted at blind and visually impaired users. TalkBack gives eye-free control of the device – users can interact with the device using gestures and the content is represented through text-to-speech.
How does it work? This functionality relies on content labels which should help users to understand the meaning of elements on an interface. QA's job here is to check if these content labels are well described and if they are meaningful enough for users.
As I wrote, users need to use TalkBack with gestures to make it work. The table below has examples of some basic TalkBack gestures.
Action | Gesture |
Explore items on the screen | Drag one finger around the screen |
Select and speak an item | Tap the item once |
Activate the selected item (click) | Double-tap |
Select the next item | Swipe right |
Select the previous item | Swipe left |
Scroll up one page | Two-finger swipe up |
Scroll down one page | Two-finger swipe down |
Display options
Mobile phones with Android have a lot of display options that can make things easier to see for our users. It is important to test these functionalities because a lot of people use them. If we miss supporting one of them, we can end up in a situation where some users are not able to use our application. Below are the most common display options:
- Change font size
- Change display sizeUse bold fonts
- Use color filters/correction
- Use high-contrast text
- Remove animations
- Magnify
It is a good habit to always check all newly created or updated views and components with the options listed above. Then you can be sure that your application can be adjusted properly to all display options.
Accessibility Scanner
Maybe you are thinking now: “All of that sounds cool and interesting... but I don’t have time to check everything, because there is so much to do regarding accessibility.”
You are right, accessibility is a huge topic, and sometimes we don't have enough time to care about everything. That’s why at Netguru, we use a tool called Accessibility Scanner. This tool is a sort of automated accessibility testing option. It scans your screen and provides a list of suggestions on how to improve the accessibility of your app, based on:
- Content labels
- Touch target size
- Clickable items
- Text and image contrast
By using it, you can quickly run a simple accessibility test to find weak points in your application that need to be improved. Remember, this tool will not replace manual testing, and it doesn’t guarantee that your app will be fully accessible. You can download it from the Google Play Store and set it up on your device in Settings > Accessibility > Accessibility Scanner > Use service.
When the Accessibility Scanner is enabled, you will see a blue circle at the bottom of your screen. Simply click it to do a scan of your current view. After that action, the Accessibility Scanner then shows you a screenshot with results of the scan. All potential issues are marked with an orange rectangle.
Testing accessibility on iOS
iOS devices offer a lot of built-in accessibility features, acting as assistive technology that helps users with impairments to easily use their iPhones or iPads. Below, you can find a quick description of the most popular features and how QAs can test them, as we did with Android.
VoiceOver
VoiceOver is a screen reader that interacts with objects in your apps so users can drive the interface even if they can’t see it. It works pretty similar to Android’s TalkBack.
To interact with an item, such as a button or link, or to navigate to another item, you can use VoiceOver gestures. As QAs, we need to make sure that there are no accessibility bugs and that all of these items have a proper description with proper context. In the table below, you can find some of the most important gestures.
Action | Gesture |
Select and speak an item | Tap or touch the item |
Select the next item | Swipe right |
Select the previous item | Swipe left |
Scroll up one page | Three-finger swipe down |
Scroll down one page | Three-finger swipe up |
Select an item (not click) | Tap |
Activate the selected item (click) | Double-tap |
Display & Text size options
Similar to Android, iOS also offers a lot of text size options which you can find in accessibility settings:
- Bold text
- Larger text
- Button shapes – this functionality marks every button which contains only plain text, so thanks to this solution, users will always know what is a clickable button and not only plain text
- On/off labels – this functionality adds symbols to mark if a switch is turned on, thanks to this, users who are not able to see colors can easily spot if a switch is on or off
Some of these are not available out of the box, so it's important not to forget to test these options.
External keyboard
iOS and Android both offer users the ability to use an external keyboard that they can connect to their devices, so we need to be prepared for that case. QA's job here is to check if every part of an application is available for users who use only a physical keyboard.
How can you check if your iOS application supports this functionality?
On your device, go to Settings > Bluetooth > Find your Bluetooth keyboard on the list of available devices > Connect to it
And that’s it, you did it! Now you can launch your application and try to use it with a keyboard.
Accessibility Inspector
As we said before, manual testing of accessibility in your app is essential, but in the iOS world, we have tools that can speed up our work a little bit. Accessibility Inspector can help you go step by step in the app and scan all of the views on your mobile device in the Developer Tools provided with Xcode. How to use it?
- Open Accessibility Inspector
- Connect your iPhone with a cable or run an iOS emulator
- Select a device from the list at the top of the Accessibility Inspector’s view
- Click the “Run audit” button to complete the accessibility audit
- Now you will be able to see a list of all of the potential issues
Mobile accessibility testing does make a difference
Now, let’s sum everything up. Accessibility is a really important part of the mobile application development process. It can easily make a difference, which will make your app stand out in the market.
As QAs, we are always on the front line in the fight for applications that will be easy to use for everybody. Mobile accessibility testing allows us to spot accessibility issues on various mobile devices with different operating systems to ensure a flawless user experience for all application users.
After all, accessibility is all about being human. We bring that human factor into our everyday work in the development process.