Resources
This is a personally curated list of resources I have used and think others may find helpful too. I’m always looking for new high quality mobile accessibility and inclusion resources to add here. Please share any you find with me via email or Twitter.
Code
Android
-
Android Developers: Build more accessible apps Android’s developer documentation for Accessibility, including design, building & testing. With videos, code samples, and documentation.
-
Android: Make apps more accessible Google’s guide to improving accessibility on Android
-
Android Accessibility – The Missing Manual A detailed introduction to Android accessibility.
-
Android Accessibility Tutorial: Getting Started A great tutorial for any android developer looking to start their journey towards making their app more accessible. Ray Wenderlich tutorials are always incredible quality, and this one from Victoria Gonda is no exception.
iOS
-
Adopting Voice Control A great, concise, overview on how best to adopt iOS 13’s Voice Control feature from Kristina Fox
-
Apple Accessibility Programming Guide for iOS No longer updated, but the general principles are still valid.
-
UIAccessibility Reference Apple’s developer documentation for the UIAccessibility protocol.
-
Using A Custom Font With Dynamic Type Keith Harrison from Use Your Loaf has a great article on supporting dynamic type and how to do this with a custom font. Dynamic type is now an expected essential for any iOS app, and there’s no excuse for not including it.
-
Accessibility in SwiftUI Majid Jabrayilov has a great introduction to some of the changes that make SwiftUI a better choice for accessible apps. He’s also covered localisation and dynamic type in SwiftUI.
-
Realtime Video Closed Captioning in SwiftUI I haven’t actually tried this out, i’m always a little skeptical of real-time captions, as they’re often not accurate. As someone who is hard of hearing I use captions to fill in the gaps, and when they’re not right I loose all meaning. That said, this looks pretty magical.
-
Grouping elements for better accessibility on iOS A quick tutorial on creating iOS semantic views.
-
Audiograph Audiograph is an iOS library for adding audio representations to charts.
-
iOS Accessibility: Getting Started The always fantastic Ray Wenderlich team give us this detailed getting started guide on iOS accessibility.
-
KeyboardKit Douglas Hill built this library to add common keyboard commands, such as page down, arrow key navigation, and more, to iOS.
-
iOS Large Content Viewer Dynamic type is an essential for iOS apps, it allows your customers to scale the text to a size that suits them. But sometimes there can be elements that can only scale so far. In these situations, the Large Content Viewer is the tool for the job and here Federico Zanetello tells us how to use it. Just make sure you use this technique as a last resort, not as an excuse no to scale the text.
Cross Platform
-
React Native Accessibility Is Pretty Bad I have no experience with react native, so can’t offer an opinion on if this is still the case. My instinct tells me that a UI designed for no particular idiom is likely not great on any platform.
-
iOS vs. Android Accessibility Now slightly out of date, Paul J. Adam’s guide and comparison of iOS and Android accessibility features and how they work for developers is still a good reference.
Tools
iOS
- xiblint An iOS storyboard linting tool from Lyft. I haven’t been able to try this myself, but shifting accessibility left seems like it would be more effective than waiting to catch UI issues in testing.
Cross Platform
-
Colour Contrast Analyser A PC and Mac application from The Paciello Group to determine the contract ratio between colours, and their conformance with WCAG.
-
Hemmingway App Hemmingway is an online grammar checker that highlights difficult to understand sentences and provides a reading grade for your written content.
-
Open Dyslexic A open-source, pay-what-you-like dyslexia friendly font
Guides
Android
-
Android: Basic Android AccessibilityTutorial A tutorial from Google with sample code that takes you through improving some common accessibility pitfalls.
-
Building apps for everyone: discover why inclusivity and accessibility truly matter A friend who works on the BBC Sounds app once challenged me to find accessibility issues with their iOS app. All I could find was one issue, so minor it could barely be called an irritation, and was probably a system issue rather than the app. This guide from a couple of the BBC Sounds and BBC iPlayer Android devs gives you the lowdown on how they achieved an excellent level of accessibility. One tip I think often gets overlooked - Listen to user feedback.
iOS
- Apple Accessibility Apple’s customer-facing accessibility website with details on the system accessibility features on all of their platforms. Some of these you get for free, some you have to opt in to, and others you have to work with. Its worth taking a look through and familiarising yourself with the features available, and checking how they work with your app.
Cross Platform
-
Accessibility Dos and Don’ts Posters produced by the UK Government with simple dos & don’ts for digital accessibility. Ironically in an inaccessible bitmap format, but still a great place to get started.
-
Handling Gender in Software A twitter thread from Aimee Gamble-Milner covering some good and bad examples of handling gender and sexuality in software.
-
Mobile Accessibility at W3C The mobile accessibility initiative at W3C.
-
Web Content Accessibility Guidelines 2.1 Wherever you are in the world, if you have some form of accessibility regulation governing what you build, the chances are its based around WCAG. WCAG are written for web, so need a little translation to make them work for mobile. They’re also seemingly endless, and a dry read. But they are the backbone of everything we try to achieve in accessibility, so are worth a cursory glance at the least.
-
Plain English Campaign Guides The Plain English Campaign works to remove jargon from written language. They have a range of free guides on their website that provide tips on how to avoid jargon and unnecessary complexity while keeping your language engaging.
-
BBC Mobile Accessibility Guidelines This guide covers design, coding, and content for iOS, Android and mobile web. Including sections on testing.
-
Orange Mobile Accessibility Guidelines A nice set of code examples for iOS and Android in Java, Kotlin, Objective-C and Swift. Guides on design & testing too.
Design
Android
- Material Design Accessibility Google’s guidelines for ensuring accessibility with Material Design projects.
iOS
- Apple Human Interface Guidelines: Accessibility Apple’s set of best practices for creating accessible apps.
Cross Platform
-
inclusive Design Principles The guiding principles of the inclusive design movement. A short introduction to creating designs that work better for everyone.
-
Microsoft Inclusive Design 101 Microsoft’s design team are all in with supporting inclusive design. Their inclusive design page features a bunch of guides for different areas of inclusive design in software.
Articles
-
Why Shortcuts Matter for Accessibility How automation on iOS makes a huge difference for accessibility users.
-
The business case for accessibility Sometimes getting accessibility prioritized in a business can be difficult, this article should help you make the case for why it’s important right now.
-
Stammering Accessibility and Testing for Voice Assistants & Devices Pradeep Soundararajan uses his own experience to test Google Assistant with stammering. As app developers we don’t have much control over how the device performs voice recognition, but that doesn’t make this piece any less interesting. Pradeep suggests the use of non-vocal sounds for common commands, such as a single clap meaning confirm.
-
Accessibility & Competing Priorities Ferran Poveda has been blogging about his experience as a mobile developer looking to improve his accessibility knowledge and skills. This post especially is an honest account of feeling overwhelmed by the vastness of the topic, and deciding when and where to start. I’m sure there must be many engineers in a similar position to Ferran, its never too late to start.
Anxiety & Mental Health
-
Design Patterns for Mental Health While we often see ’the end is nigh’ headlines about how technology is affecting our mental health. Unfortunately there seems to be very little research an guidance on what we can actually do to improve digital experiences for those with mental health issues. This list, while incomplete, ia a great resource.
-
A web of anxiety: accessibility for people with anxiety and panic disorders David Swallow gives us this in-depth, two part blog post on software patterns that can trigger anxiety disorders. unfortunately many of these will look very familiar. Part 2.
Research
- UK Consumer Digital Index Every year the UK Government and Lloyds Bank produce a survey of the UK’s digital skills. The survey provides a huge range of statistics, covering age, gender, disability, digital disadvantage, and others.
Testing
Android
- Android Accessibility Scanner Android’s own accessibility testing app available free from the Play store.
iOS
-
New in iOS 13 Accessibility – Voice Control and More This post from Deque is ostensibly about the new accessibility features in iOS 13. For me the most interesting part is the ways Voice Control can be leveraged for faster, comprehensive accessibility testing.
-
Auditing your App with the Accessibility Inspector: Kilo Loco Kilo introduces us to Xcode’s Accessibility Inspector, or ’the little naked guy who wants to give you a hug.’ How to run it on your app, and how to understand what its telling you.
-
AppleVis App Directory AppleVis is a community of blind and vision impaired Apple users, their site is a wealth of information for both users and developers. One of the most useful resources is the AppleVis app directory. Users submit apps they have used and provide them a rating and a recommendation. If you’re looking to find out how VoiceOver users really experience your app, this is a good starting point.
-
AppleVis Bug Tracker AppleVis also maintain their own bug tracker of Apple system software. Unfortunately, like many developer-facing Apple bugs, accessibility bugs can sometimes languish. This database provides a list of accessibility bugs that have been submitted as radars. Many including detailed reproduction steps.
-
iOS Accessibility Testing for Devs using Voice Control A short video from Deque on how to quickly use iOS 13’s Voice Control feature to do accessibility testing.
-
A11yUITests An iOS library for XCUITests to add automated accessibility checks.
-
UBKAccessibilityKit An iOS library you can include in your testing apps to detect accessibility issues.
-
AccessibilitySnapshot AccessibilitySnapshot is a third approach to automated accessibility testing on iOS. Accessibility elements are highlighted in screenshots, with their accessibility values listed in the order they appear to your users. This doesn’t tell you when you have an issue, but lets you quickly visually tell if everything is as you expect, and know when something changes.
-
Setup iPhone or iPad for iOS mobile Accessibility testing Aaron Stephenson gives us this video showing how to prepare an iPhone for accessibility testing. It’s all great stuff, especially the Macintosh Classic in the background, but the showstealer here is Aaron’s use of NFC tags to toggle personas.
Cross Platform
-
The Paciello Group Mobile Testing Guide (PDF) Easy to follow guide on manual testing for accessibility tools on iOS and Android.
-
Setting priorities for accessibility issues A guide for ranking the priority for any accessibility defects found in your app. I commonly see accessibility defects raised simply as improvements. Remember that while they may not affect all of your customers, for those it does mean the difference between being able to use your app or not at all. Plus, with accessibility, there are legal factors involved too.
Tweets
Short tips from Twitter
Books
-
Developing Accessible iOS Apps Daniel Devesa has written this comprehensive guide to building accessible iOS apps.
-
Developing Inclusive Mobile Apps: Building Accessible Apps for iOS and Android Full disclosure - this is my book. Its a guide to the accessibility tools available to developers on both iOS and Android, how to use them and how to test it.
Podcasts
-
36 Seconds That Changed Everything: How the iPhone Learned To Talk An incredible audio documentary from Shelly Brisbin covering the announcement of VoiceOver for the iPhone. For me the first 1/2 about the iPhone not being accessible is more telling than the result of Apple adding accessibility features.
-
AppleVis Podcast An Apple-focussed tech podcast, much like any other, the only difference being the hosts have visual impairments
Talks
iOS
-
Inclusive and Accessible App Development: Kaya Thomas Kaya Thomas covers iOS’ UIAccessibility protocol and why accessibility is essential.
-
WWDC Accessibility Videos Apple’s WWDC sessions on accessibility are consistently great. Each year the standard accessibility talk gives a great overview of what you should be doing, and a few others going into more detail in some areas. You can watch all of them above, and there’s also an extra talk on localisation.
-
How to build an app for everyone: Novall Khan An overview of iOS’ UIAccessibility protocol features from Novall Khan.
-
Building Voice First Apps: Elaine Dias Batista Elaine gives us an in depth look at making our iOS aps work with voice. Elaine covers both talking to our apps, and our apps talking to us.
-
Writing Great Accessibility Labels This is my favorite talk from 2019’s WWDC. Apple accessibility engineer Jordyn Castor takes us through what makes a great accessibility label.
Cross Platform
-
Who’s Design is it Anyway: Helen Joy Helen Joy is a UX consultant who works with UK government systems and has a great talk on remembering who you’re creating software for.
-
So you can Sleep at Night: Ethics in IT: Jonathan Rothwell & Steve Freeman An in-depth talk around ethics in software, contains no answers, just difficult questions.
-
Empathy Reifies Disability Stigmas: Liz Jackson Liz Jackson gives us this passionate and thought-provoking talk about how empathy is often the wrong motivation for accessibility advocacy.
-
We’re Better Than This: Paul hudson A eulogy for brogramming.
Meetups
-
Accessibility and Inclusive Design Meetup Groups A big list of accessibility and inclusive design meetups throughout the world.
-
London Accessibility Meetup A monthly meetup in London covering all areas of accessibility. Usually includes a captioned livestream.
-
Accessibility Nottingham A monthly meetup in Nottingham covering all areas of accessibility. Usually includes a captioned livestream.
-
Mobile A11y Twitter The Mobile A11y Twitter account retweets mobile accessibility resources as well as updates from the site.
-
Mobile A11y Following Check out the Mobile A11y Twitter account following for recommendations for good mobile accessibility tweeters.