Accessibility nudges you to be better developer

By e-sung

Elevator Pitch

Taking care of your app’s Accessibility not only benefits lots of users who may use your app, but it will also make you a better developer.

Description

Accessibility nudges you to be a better developer

What is Accessibility, and what does that have to do with developer skills? Well, as it turns out, quite a lot!

Apple cares about accessibility

Sometimes, you may find that your app doesn’t work as expected as a new iOS version comes out. Generally, that’s because you have used those APIs in a way that breaks assumptions those API authors made. So the question is, how do you know what are those assumptions (or intentions)? One thing you can do about it is auditing your app’s voice over experience.

All of Apple’s UI controls are meant to be accessible. So if your application of those UI controls turned out to be not accessible, it generally means you have used those APIs in a way that API authors didn’t expect. The flip side of the coin is that, if your app is fully accessible, it generally means that you have used those APIs in the conformance of authors’ intentions, and it’s very unlikely that new iOS versions would break your application because that would not only break your app, but also Apple’s first party apps.

It nudges you to Best Practices of Autolayout

There are many ways to implement a layout using Autolayout. How can you tell which implementation is best? Do you have to test it on Apple Watch, iPhone5, iPhone6plus, iPhoneXR and so on every time you implement Autolayout? Even if you do that in Storyboard, it can quickly become a very tedious and time-consuming task.

But if you support Dynamic Types, you can see how your app adapts to different conditions in much faster way. If your app on iPhone5 can layout certain label from the smallest font size to maximum font size, it generally means your app is fully adaptable across devices.

It nudges you to think about your app in different ways

You may have developed your apps for a quite long time. And it’s likely that you are so used to it, that you cannot correctly be in mindsets of users who have just downloaded your app for the first time. It may be so obvious to you that some buttons do some things, while newcomers find a hard time locating that button or guessing its purpose. Using your apps in a way that you have never used before can simulate the feelings of users who use your app for the first time. You may be surprised how complex your app has become over the years.

It nudges you to take care of Performance

Performance is an accessibility feature. Because interactions with long latency generally introduce huge confusions which make app less friendly, if not unusable. If you care about accessibility, it’s more likely you will notice such latencies, and therefore be motivated to fix it.

It nudges you to write tests

If your app is fully accessible, writing UI test becomes really easy. After supporting VoiceOver interactions on Login&Registration flows of Flitto, we could write tests that covers more than 90% of our Login&Registration related codebases with ease.

To sum up, ensuring accessibility generally nudges you to best practices. If you wonder whether you are following best practices, turn on Accessibility Inspector, run an accessibility audit, which would give you a hint whether you are heading to the right direction.

Notes

This talk is for everyone, just like Accessibility is.

I’m an iOS developer at Flitto who has 2 years of experience on this field. I’ve introduced many Accessibility Technologies to Flitto such as VoiceOver support, Right to Left languages support, Dynamic Types, Dark Mode and more.