During the recent decade, smartphones and tablets have become ubiquitous, changing the way we interact with the world and each other. Worldwide almost 2.7 billion people have a smartphone - that’s about a third of the population; for first world countries like America this number is a staggering 96% of the country's residents. From business products and tools to social and entertainment apps, almost every aspect of our lives has been enhanced due to technological advancement in handheld computers. However, there are some people for whom the availability of smartphones has been literally a life-changer.
About 15% of the world's population has a form of disability, with 2-4% experiencing severe difficulties in functioning. While medical advancements have had an obvious impact on the lives of people with disabilities, progress in handheld technologies was a subtle and less noticeable, yet more widely spread and accessible way to improve their day-to-day life. Before smartphones, many people had to have a separate GPS device, bar scanner, voice-activated memo taker and other expensive devices to go about their day (keep in mind only the most fortunate ones had access to such devices and means to buy them). Today, all of that has changed.
Mobile apps for individuals with disabilities
There are two main ways application developers can help. First is creating dedicated applications to help with one or multiple tasks. Some great applications out there already help millions of people - for example, Be My Eyes lets volunteers receive calls from visually impaired people and provide visual assistance. Or Voice Dream Reader, called one of the best text-to-speech (TTS) app by many. These apps can be fairly easy to implement, but help other people immensely.
Second option applies to almost all developers, and that is simply to plan for accessibility and make sure that your app adheres to accessibility guidelines (like WCAG or Apple’s iOS Guidelines). Good news is that with just a bit of preparation and extra work, your app can be used and enjoyed by more people around the world. An added benefit is that you make writing functional tests a lot easier when using “UI Testing” in XCode or other frameworks.
Accessibility for iPhone apps
Apple takes accessibility very seriously. Tim Cook even went as far as to call it “one of Apple’s core values” in one of the interviews. iOS provides both system-wide and app-specific features to enable ease of access, which means developers get a lot of accessibility features basically for free when developing their apps. Sarah Herrlinger, who leads Apple accessibility programs, says that accessibility is built into iOS, not bolted on, and it really shows – it includes many different systems, including captioning and audio descriptions, voice over, display customizations, guided access and speech synthesizing. They focus on four major accessibility concerns:
- Motor - Users who can’t push the screen or can’t tap small items accurately.
- Vision - Users who are blind or otherwise visually impaired.
- Hearings - Users who cannot hear.
- Learnings - Users who have mental health problems or conditions like dyslexia and autism.
Planning an Accessible App
If you want to include accessibility features in your app, you best choice is to start during the app planning phase. Here are a couple of things you should consider:
UI Control Flow
It’s much easier to control an app that uses a classic “top to bottom, left to right” flow and employs UI elements, recommended by the system. For iOS, for example, that would mean navigation controllers, table views for presenting lists and native input fields. Many visually impaired people rely on TTS for navigation, and using familiar patterns makes using the app that much easier
Taking Advantage of Native Accessibility Features
When you use native elements for your application’s UI, you get all of the system accessibility features by default. For example, when the user selects bigger system fonts, the app will enlarge everything automatically.
During the design phase, make sure your app is still usable when system accessibility features are enabled. Many developers forget to take into account the UI changes, and increased fonts and changed contrast or transparency make their app unusable.
Accessibility Implementation Tips
Apple’s accessibility documentation is your friend when implementing accessibility features. A little extra work mentioned before is mostly making sure that your UI is reacting correctly to system-wide changes and adding accessibility attributes to the elements on screen (adding concise descriptions might just be the hardest thing you have to do for an accessible app). Make sure to translate them as well if your app has internationalization!
A good way of developing with accessibility in mind is taking some time during testing to make sure your app is accessible. Thankfully, Apple provides a tool for that called “Accessibility Inspector”. It searches for common accessibility issues, shows you the attributes of UI elements in inspection mode and provides previews for accessibility elements.
Another thing to keep in mind is testing with VoiceOver enabled. It might even benefit your app in general as you identify convoluted workflows an non-intuitive navigation when using this unique way of interacting with the device.
Hopefully, you now agree how simple yet useful implementing accessibility is for your product. Not only does it provide unexpected benefits like easier UI testing and workflow streamlining, you also most likely immensely help a sizeable percentage of your users without investing too much additional resources. The tools provided are almost too good to not use, and are getting better every time as technology advances.
Read similar articles
A plain-language description of the essential steps for creating an app for iOS.Learn more 7 min read