iOS App Accessibility

Making iOS apps accessible is remarkably straight forward. The iOS SDK includes a few basic accessibility settings (enabled by default for native UIKit controls), that can be accessed through the Interface Developer.

When you stop to consider it, the thought of a blind person using a touch screen device might seem a little odd. With a built in screen reader (VoiceOver) now available in all iOS devices, it’s remarkably achievable in fact.

A key part of iOS app accessibility is understanding that the gesture set changes when VoiceOver is enabled. Here’s a quick example: A sighted person will scan the screen and tap an icon to activate it. A blind person will tap an icon to identify it and double tap to activate it.

It’s worth playing around with VoiceOver for a while. It’ll probably confuse you completely at first, but you’ll get a sense of how the interaction really works. Tap Settings > General > Accessibility > VoiceOver to turn it on/off, and head to the Apple website for help getting started.

For an iOS app to be accessible to a blind person, all the User Interface (UI) controls must support the VoiceOver gesture set. There are four simple settings within the Interface Developer to help you make it so.

Step 1: Enable accessibility

Native UIKit controls are enabled for accessibility by default. If you’re creating a custom control you’ll need to put a tick in this checkbox though. Unless a control is accessibility enabled, VoiceOver won’t know it’s there (and neither will the user of course).

Step 2: Assign traits

A control can be assigned a number of traits. These characteristics define what a control is, and make that information available to VoiceOver so it knows what to do with it. Native UIKit controls have their traits pre-selected, but for custom controls you’ll need to choose whether it has the traits of a button, search, image, static text or some other object type.

Step 3: Add a label

The label is a short text description that Voiceover announces when the control is tapped. It’s usually just a single word such as “Play” or “Delete”, and never more than three words as a rule. You’ll need to add a label for your custom controls, but again the standard UIKit controls come ready equipped with labels.

Step 4: Provide a hint

You might also like to provide a hint for your controls. This is spoken by VoiceOver following a short pause after the label is announced. It’s optional, but if you do decide to provide a hint, Apple recommends avoiding phrases that sound like instructions. “Plays music” or “Deletes song” are recommended, rather than “Play music” or “Delete song”.

You can do much more with iOS app accessibility, but this is a good way to get started. If you feel like trying an iOS app that has good accessibility and a creative approach to game play, take a look at Papa Sangre (and enjoy)!