Smarter ideas worth writing about.

Designing Accessible Mobile User Experiences

Designing mobile user experiences is exciting!
As more and more of our users and content move to mobile as the primary medium it becomes critical that we design good mobile user experiences. Taking into consideration the differences in interactions and control methods, as well as available types of feedback built into these devices, is an exciting challenge for all designers and developers.

Designing accessible experiences is important!
Perhaps even more important and exciting is the impact that these devices have on users who require accessibility considerations. More and more users of all types are moving towards using their mobile device as their primary source of consumption and interaction with their content and services. This is even truer for users with disabilities. Accessibility used to require additional equipment and software that is now included and integrated into modern smart phones and tablets.

But where are the standards?
However, accessibility standards and guidelines are severely lacking when it comes to mobile apps. Web standards are a good start, but do not address many of the specific challenges we face when designing accessible user experiences on mobile devices. It’s important, though, that we have some base of rules or understanding about what all of our users experience.

Some simple rules to start with…
Here are some very simple rules to help get you started. Follow these rules and use them to expand your organization’s knowledge of accessibility and mobile. Then, create your own guidelines with higher standards that can be designed to and tested against.

5 Simple Rules for Mobile Accessibility:

  1. Use Native UI and Standards
    Apple has long set the standard for accessibility on all of their devices, but lately Android (and Microsoft) have gone out of their way to catch up their mobile devices to include out of the box accessibility solutions. With this in mind, any time we can use native UI elements instead of creating custom controls and views, we can eliminate a lot of worry with regards to accessibility. The UI kits and standards provided are accessible as is and are going to be the most commonly accepted controls by users.

  2. Integrate Native Accessibility Tools
    As a designer, this means building screen layouts that are flexible, much like in responsive or adaptive design. It’s important for visually impaired users to be able to set their fonts at a larger, more readable size within their phone’s settings and have it carry through into their apps. Additionally, allow users to do things like pinch-zoom and change to high-contrast viewing within your app and be responsive to any changes the user makes in their device settings.

  3. Design for Touch and Tab
    Decide on an acceptable touch target size. Typically, the recommended size is no smaller than 44 pixels by 44 pixels, but designers should think about this and make sure they are employing sizes that make sense within their app. It’s important to understand that many blind users will “feel” around on the screen, rather than “tab” from element to element. Users might have further restrictions making very small items too difficult to find and use. Other users might not touch the screen at all.

  4. Don’t Rely on Visual Feedback
    Design is a very visual process, but when designing a user experience we have to think beyond what the user sees. This is especially important when we begin to think about users with visual impairments and how they use our apps. If the only indication of an item's interaction state is it’s color or size (as example), that’s a problem. Similarly, if interacting with an element provides feedback elsewhere on the screen or only briefly, this feedback may not be helpful to a blind user or someone zoomed in on the element. It’s important to think about elements that toggle or have interactions or that don't exist as controls within the system UI and how we can handle them and provide meaningful feedback to all users.

  5. Don’t Be a Control Freak
    A lot of accessibility documentation focuses on controls and user interface elements, because this is typically where we struggle to deliver fully accessible apps. However, a good strategy for planning an accessible mobile project is to imagine your app without any UI or controls. What if you could only speak to your app? What would be the first question or command you would speak on any given screen? Thinking in this way helps to drive a narrative through your user flows that helps overall usability of an app. This method also effectively drives VoiceOver (TalkBack) labels as well as helping to prioritize, group and order content in more meaningful ways to all users.

Hack These Rules! (And be consistent)
This is by no means a full list of considerations for designing accessible mobile apps. Think about these common, high-level guidelines and build upon the concepts as needed for any given project. Additional rules and ideas will come from time spent thinking and talking through each rule and your app. Just remember to be consistent. Throughout a single screen, throughout the app, throughout your organization. All users appreciate consistency, but it’s absolutely critical to those requiring accessibility considerations.

When In Doubt, Swap It Out!
As creative as we are, there will be times when our app must simply have a fallback method that utilizes controls we know work for a given scenario. Try as you might, an accessible version of your favorite micro interaction within the app just might not be feasible. Or after working hard to create an accessible custom control, built specifically for impaired users, it fails horribly in user testing. If something like this happens, take a step back and remember that you can always allow your app to revert to system controls when accessibility options are enabled on the device. If you can’t create an identical interaction for all your users, at least make sure you’re allowing every user to get to every feature and don’t get hung up on the controls.

Testing?! Yes, but…
Testing is great. Testing is a must. User testing, automated testing, all of it. But if you’re testing for accessibility, you’re probably testing for failure. Identifying fields or controls that are missing proper labels or finding content parts that are not read aloud together in a logical way will allow you to fix these errors before going to production. However, scanning for errors or testing for failures will not improve usability beyond the minimum. It’s very important to make accessibility a process and something that is thought about during the interaction design and user flow strategy stages, not just during testing.
That said, you still have to test. Testing other apps that are known to be extremely usable and accessible as well as the opposite to get an idea of what your users area already experiencing is a good idea for planning and practice. Try some popular apps with VoiceOver (TalkBack) enabled and practice navigating screens with different methods and settings. See what happens when you try out various apps and content with your system text size enlarged and see if you can pinch zoom or change the orientation of screens. Just remember that you’re testing for an experience that can be shared by all users.

Accessibility. Never don’t do it.

User experience means a lot of things, but it definitely includes the experience of all users. Make your apps accessible from the beginning. Try to push for requirements around accessibility, but keep in mind that even if the requirements aren’t there in the beginning, it’s going to come up in testing or at some point. Be a champion for accessibility and usability and your users will thank you. All of them.

Keep Reading (Developer Links)!
Stay up with the latest recommendations from Apple and Google and follow accessibility updates to your native platforms and devices.

Apple Mobile Developer (iOS Accessibility Resources)

Google Mobile Developer (Android Accessibility Resources)


About The Author

UX/UI Developer

Chris is a Senior UX Developer and strategic consultant in Cardinal's Columbus office. His web and mobile experience in design, front-end development, user research, accessibility, support and education give him a unique perspective and an unmatched dedication to fulfilling the needs of all users.