Since the advent of the modern personal computer, assistive technology has been improving the lives of disabled people in very significant ways. With the arrival of VoiceOver on both the Mac, and soon after, on iOS, the potential for disabled users to interact with their devices in just as meaningful a way as everyone else is as real as ever. These technologies work great when it comes to default system activities and applications, but they require special consideration from developers in order to operate properly with third-party apps. Making this extra effort can be a hard sell to developers who already have enough to worry about just trying to get an app out the door; being a developer myself, I can completely understand the urge to not worry about such things. But despite what you may think, making your app accessible is something that ultimately will benefit you the developer, as much, and possibly more then it stands to benefit your potential disabled users. Here are three reasons why it’s a good idea for you to spend the time to make your apps accessible:
1. Users Will Love You
It may be obvious, but user’s who rely on the accessibility features of iOS will love you if you take the time to make their lives easier. “But those users make up such a small percentage of all users, never mind the fact that my app already targets a subset of all users”, would be the most logical response to that statement, and it is a valid response. After all, you’re likely running some form of a business and at the end of the day, you need to prioritize your efforts in order to maximize your potential profits in the face of limited time and resources. However, what you may not think about is the fact that these disabled users do not live in a vacuum, they have friends and family that aren’t disabled and could also be potential users of your product.
I was recently in search of a good news aggregator app for the iPad, none of the major apps (News 360, SkyGrid, FlipBoard) included good VoiceOver support so I used them as best I could, but wasn’t very happy. Despite the fact that they are all fine apps for my non-VoiceOver-using friends and family, it didn’t occur to me to ever mention any of them as I wasn’t very delighted. Flash forward a few months and finally, FlipBoard decided to add comprehensive VoiceOver support, thereby making it the only news app I use and one of the most used apps on my iPad. I instantly became excited enough to recommend the app to all of my friends and family and just like that, FlipBoard managed to gain a handful more users just by delighting this one VoiceOver user. So, delight your users and they will be your biggest champions. Adding accessibility support is an easy way to delight a very small but very vocal set of users.
2. Automated UI Testing
There’s no question that good automated testing is highly beneficial to any project and with mobile development, this is particularly the case. On iOS there are many options for functional testing, but the two most notable are Apple’s own UIAutomation framework and the KIF (Keep it Functional) framework from the folks behind the Square mobile payments app. You may not realize it, but accessibility plays a critical role in the ability for both of these frameworks to operate. You see, on a touch UI, it turns out that the best way to distill the various interface elements into something simple enough for a test framework to understand and navigate is to apply the same rules used by VoiceOver. The more descriptive you are in labeling your UI elements for VoiceOver, the easier it is to define how your tests interact with them and vice versa.
3. Simplify It
The rise of the mobile device as a computing platform has ushered in a new era where the general value and usefulness of an application is not determined by how much it can do, but by how well it can accomplish a finite task in an elegant and understandable way. Smaller screen sizes have forced developers to rethink everything about what makes a good user experience and what worked on the desktop, in many cases, has no place on mobile. The general rule of thumb when it comes to designing a great mobile experience is simply put, simplify. The most highly acclaimed apps are those where the developer made the difficult decision to remove features in favor of a non-cluttered interface and a straight-forward user experience.
Mobile users demand simplicity, and that fact holds even more true for visually impaired users. For a VoiceOver user, an app is reduced to a much more linear experience (see this video on how VoiceOver works on iOS) whereby any visual fluff or sugar is unceremoniously dropped for an experience that favors content and navigation. Thinking about your app’s design in these terms will force you to focus on what is important and will undoubtedly deter you from getting caught up in the temptation of excessive visual candy. Don’t get me wrong, some of what is lost on visually impaired users (the general stylistic aspects) are still important, and worth perfecting, but never at the expense of the sort of simplicity that a VoiceOver user demands and that will be generally beneficial to all users.
Justifying the effort needed to make your app accessible can be a difficult proposition, but I hope that some of the points I’ve presented here will convince you that it’s worth it. In the end, creating an app that you can be proud of is really about creating an app that people love. And what better way to create an app that people love than by making sure it is a great user experience for as many users as possible? So next time you’re ready to submit your app, take a few more minutes to make it accessible. I promise it will make you feel like a better person, and you might just score some extra sales as well.
Here are a few great resources that will help you to improve accessibility in your iOS app: