The World Health Organization estimates that 15% of the world’s population (more than 1 billion people) have an accessibility need. That is a lot of potential customers to lose when a few small changes to your app can make it accessible to the majority of users. 

Who benefits from accessible mobile apps?

On the one hand, access means independence for people with disabilities, on the other hand, accessibility can also benefit people without disabilities. People are changing abilities due to aging, some may be experiencing temporary disability due to recovery from some kind of injury (broken arm), there are even situational limitations like being in an environment where you cannot listen to the audio. Making your app accessible improves the experience of all users.

When developing for accessibility, developers need to understand the nature of the challenges involved. Is it easy to read the content? Can the functions be easily controlled? Take your phone in one hand, start running fast and try to send a message with one hand only. Challenges like these are encountered every day by people with motor impairments. Close your eyes and turn on VoiceOver or TalkBack. Try to use any app on your phone, if the app is not accessible you wouldn't be able to do anything and it will be a frustrating experience. Don’t let your users go through that. Accessibility means usability which should be the ultimate goal of any app.

When designing and developing with accessibility in mind we need to take into account that disability can take many forms:   

  • Motor Impairments (Spinal Cord Injury, Multiple Sclerosis, Cerebral Palsy, etc.)

  • Visual Impairments (Refractive error, Cataract, Blindness).

  • Hearing Impairments (Deafness, Hearing loss).

  • Cognitive Impairments (Dyslexia, Memory problems).

Principles of developing for accessibility

Respecting and following principles of accessibility, we can ensure access to all users. Core principles mean that an app should be:

  • Perceivable -  ensures that content is perceivable by all users.

  • Operable - all features should be fully operable by everyone.

  • Understandable - cognitive ability of the user to comprehend the meaning of the presented information.

  • Robust - robust application will ideally contain content that remains accessible no matter what changes occur in the future.

seeing clear through glasses

Checklist for best practices while developing for accessibility 

PERCEIVABLE

  • Ensure that all buttons, pictures, icons, and images (except images used for decoration), have a meaningful and concise text description which can be read by a screen reader.

  • Ensure all text can be resized without loss of content or functionality. 

  • Always have a meaningful content sequence and ensure the mobile application is designed and coded with the screen layout in a logical order.

  • Do not rely solely on colors to convey information since it is impossible to be sure that everybody perceives colors in the same way.

  • Choose appropriate text and background colors so that they have a contrast ratio of at least 4.5:1 to make the text easy to read.

  • Provide captions for all videos so persons with hearing impairment can have access. 

  • Provide alternatives for audio-only information. 

OPERABLE:

  • Provide navigation across all screen pages so that it helps users with cognitive limitations, low vision, and intellectual disabilities operate in a comfortable way. 

  • Provide clear and informative links. 

  • Ensure all popovers and dialogs can be closed by buttons and can be accessible by a screen reader.

  • If appropriate and possible, use the components such as selection lists, pickers, default values for the text input fields and other controls that do not require much typing.

  • Make all clickable objects large enough to be tapped (at least 48dp x 48dp).

  • Provide sufficient time for users to read the content and operate a function.

UNDERSTANDABLE: 

  • Provide a consistent and simple user interface structure.

  • Provide clear and simple headings that are easy to understand.

  • Have a consistent identification by making sure that all items with the same functionality use the same label.

  • When a user makes a mistake, show an error suggestion and provide a hint for how to fix it.

  • Provide input assistance such as proper labels or instructions for user input.

At Rochester Institute of Technology, researchers wrote a paper on Study of Accessibility Guidelines of Mobile Applications where they tested how most famous apps followed accessibility guidelines and they came to a conclusion that most common mistakes in applications are: 

  • Not all text elements are visible to the screen reader.  

  • Images do not have an alternative text description.

  • UI elements do not have descriptive labeling.

  • Touch targets are smaller than 48dp x 48dp.

Accessibility in mobile applications still has a long way to go and requires a special approach. We should always strive to provide access and consistent experience, and thanks to accessibility we enhance the experience of all our users and enforce equality. Nevertheless, most of the mentioned guidelines are considered good practices even if you are not developing with accessibility in mind. 

Further reading 

iOS:

https://developer.apple.com/design/human-interface-guidelines/accessibility/overview/best-practices/

https://developer.apple.com/documentation/uikit/accessibility/

Android:

https://developer.android.com/guide/topics/ui/accessibility/index.html

https://material.io/design/usability/accessibility.html

And if you want to know about our experiences in making apps more accessible: 

https://www.byteout.com/blog/byteout/2019-09-27/how-we-made-cut-expenses-lite-more-accessible