Building apps for everyone: discover why inclusivity and accessibility truly matter
8 tips from the BBC to guide accessibility in apps and games
Authored by Rosalind Whittam, Senior Android Developer For BBC Sounds Mobile, and Ceri Lindsay, Android Software Engineer for BBC iPlayer. Listen to Google’s Apps, Games, & Insights podcast to hear them talk more about accessibility.
Originally published on the Google Play Medium publication.
In the UK, 16% of the adult population describe themselves as disabled. When you consider temporary disability — such as having a broken arm — and situational disabilities — such as using your phone’s voice assistant while you’re carrying a heavy box — that percentage increases to over 30% of the population. In one study, BBC R&D found that 90% of viewers who watch television with subtitles do so with the sound turned on. They use subtitles in combination with sound and lip reading to follow the program.
Accessibility is about making sure your app is available to the maximum number of people in the maximum number of circumstances.
As a public service, the BBC puts the audience at the heart of everything we do. In BBC Design + Engineering, we start every project by getting to know our audience and their needs. We then feed this knowledge into the apps we develop, to make sure our products are accessible and inclusive.
And none of this is new — our accessibility working groups have been in place for 15 years, and our Mobile Accessibility Guidelines were first published 10 years ago, setting the industry standard.
Improvements in technology provide new and exciting opportunities to serve those with permanent or temporary disabilities. For example, at Google, developments for the Google Assistant showcase what can be done with voice interface technology, and new features such as Live Captions make content more accessible for users who rely on subtitles. Organisations can really benefit from integrating with these new features.
Here we will share some of the lessons we have learned at the BBC about how best to approach accessibility and make apps inclusive.
1. Make accessibility a priority
When you define the top priorities for your app, make sure accessibility is one of them.
Having a documented set of priorities gives your team a shared understanding of what matters most, and ensures time and resources are allocated to them.
In the Sounds mobile team, we call these our ‘foundational areas’, and accessibility is one of them. We grade these areas regularly using a simple traffic light system, which is a great way to visualize how you’re progressing against these goals. Having a set of quantified criteria that define a Red, Amber and Green status will allow you to understand the current state of your product for each goal, and what you need to do to improve that status where required.
Defining accessibility as a goal also encourages team members to hone their individual skills in this area. The ability to build accessible products shouldn’t be considered a specialism — it’s the bread and butter of being a software professional.
2. Track ‘accessibility debt’
The concept of keeping track of technical debt (code issues that prevent developers from implementing features quickly and efficiently) is a familiar one in the software industry.
In our teams, we’ve extended this technique to track ‘accessibility debt’ too. This means that we regularly assess the accessibility gaps in user functionality. Any issue or regression that we cannot tackle immediately, we add to our accessibility debt. For example, if content is reading incorrectly on a particular screen reader, or a view is not responding to the user changing the text size. By actively tracking our debt, we ensure it’s kept to a minimum and worked on regularly.
3. Follow the Material Design guidelines
When we build for Android, we always stick to the Material Design guidelines. This is a fantastic resource with lots of information and guidance on accessibility.
Accessible design is an evolving field with new standards and technologies emerging regularly. It is important to keep up to date with the latest advice. The BBC Mobile Accessibility Guidelines are regularly updated to align with material design as well as the latest WCAG mobile standards. This guidance is example led for Android, iOS and for the mobile web.
Accessibility is not just a responsibility for designers and developers, there are things that everybody in the team can do. The BBC guidance is categorized by discipline. There are distinct sections for designers, product owners, developers and testers. You may want to refer to this in addition to Material Design for a bigger picture of what your whole team can do to make your products more accessible.
4. Champion accessibility
At the BBC, we have an accessibility champion network that places accessibility specialists within every product development team. With the right resources and support, these accessibility champions can speak for our wide audience and ensure its diverse needs are met.
Another part of the accessibility champion role is ensuring that every team member thinks about accessibility in everything they do — from designers and developers to testers. The more everyone is involved, the better the experience for the end-user will be.
One success we’ve seen with the accessibility champion network is that product teams have switched from asking why we have this network to how they can help to create better, more accessible apps.
5. Listen to user feedback
We take user feedback about accessibility very seriously. As well as the passive feedback we get through Play Store reviews and social media channels, we actively seek feedback by organizing user research sessions.
We work to ensure that the panels represent a wide range of users, including those with hearing, visual, cognitive and motor function disabilities.
The panels are then involved in both discussions about usability and hands-on lab sessions. The hands-on sessions are particularly useful and give developers the opportunity to witness how people interact with their apps.
6. Take advantage of Google tools
Google provides a number of tools in Android Studio and Google Play that help with assessing the accessibility of an app. You can integrate accessibility testing into different points of the development life cycle.
For automated testing, integrate the AccessibilityChecks API with Espresso to get early feedback. For manual testing, use the Accessibility Scanner app. This is an app developed with the AccessibilityChecks API, and can give great visual feedback. Before publishing your app, as a final check, it’s worth running Google Play’s pre-launch report.
All of this tooling reports on touch target size, insufficiently contrasted colours, content labelling and other common accessibility issues.
7. Look for universal solutions
It’s tempting to create custom experiences for different sections of the audience, however, this is a false economy.
Accessibility needs vary greatly from user to user — there’s no ‘one size fits all’ solution.
By investing in one flexible, accessible design, you will include users with needs you may not even have considered. This will also simplify your development and maintenance overhead.
In an ideal world, all accessibility functions across apps would work in a similar way to make things as easy as possible and create a streamlined, enjoyable experience for the user.
8. Learn practical skills for accessible development
There are so many tools and tricks available for customizing and testing your app’s behaviour in different circumstances. A great place to start is to get clued up about the different settings your users might apply and how you can react to them in your app. Here are some points to get you started:
- Make sure the components on your screen have a traversal order that reflects the visual design hierarchy
- Give all your UI components content descriptions; leaving them off can make it difficult for people who rely on assistive technologies, such as screen readers
- Ensure that your app respects the ‘Remove Animation’ setting. This should disable transition animations and any movement or transformation of elements on screen. Pay particular attention to custom components, as they may not have built-in behaviours that standard components provide
- Check that colours contrast appropriately and can be differentiated by people who are colour blind — consider using icons rather than colours to indicate states
- If you are a developer, familiarize yourself with the AccessibilityService API — it allows you so much flexibility in your development. For example, you can use AccessibilityNodeInfo to add an action description to your items. So, — if you have a play button, its content description might be “Play button” and the action description could be amended to “Double-tap to play this podcast” (This talk from the Google DevSummit 2019 really helps to illustrate how the AccessibilityService works)
- Remember to test with Talkback and other provider’s screen reader technologies, as they vary in subtle ways
- Familiarize yourself with the accessibility settings on your Android device — these include a feature to correct for the three most common types of colour blindness, and a way to use your device as a switch
Accessibility is all too often an afterthought when designing and building new products and features. When you consider the vast number of people with permanent disabilities worldwide, along with those with temporary needs, it is a no-brainer that your product should be inclusive of these needs.
When BBC Sounds was launched, the best feedback we received was a simple “thank you” from a user that was delighted that they could use the app with their screen reader. It was important to us that we had managed to provide our service for this person, and many others, that would otherwise have been unable to experience our app.
Accessibility needs to become an intrinsic part of everything you do, from app design, through development and into testing. You will likely find that taking these steps will have an even wider impact than you expect, because ultimately, accessible design and development is good design and development.
Hopefully, you will have discovered some new techniques here that you can now apply to your own products, not only to improve inclusivity and reach a larger audience, but to improve the experience for everyone.
Find out more
Check out our BBC Mobile Accessibility Guidelines for more information.
Also, listen to Rosalind Whittam and Ceri Lindsay from the BBC speak about app accessibility in more detail in episode 6 of the Apps, Games, & Insights podcast.