Best Practices
An intro to mobile and TV accessibility.
May 16, 2024
Global Accessibility Awareness Day (GAAD) is an awareness day focused on digital access and inclusion for the more than one billion people alive today who live with disabilities or impairments. Recognized annually on the third Thursday of May, the day is a good reminder that disabilities impact us all. In fact, the Canadian Survey on Disability (CSD) showed that 27% of Canadians aged 15 years and over, or 8.0 million people, have one or more disabilities that limit them in their daily activities.
Providing ease of use for people with disabilities, temporary limitations, or age-related impairments in the world is at the core of accessibility—this applies to the digital world as well. It’s important when building an app to keep in mind that every type of person should be able to use it. However, to fully understand accessibility, the priority is to understand what your user’s needs are.
Types of disabilities
While not all disabilities affect the way a user uses an application, it’s not wise to exclude potential users. The 2022 Canadian Survey on Disability identified ten types of disabilities:
- Vision (or Seeing)
- Hearing
- Mobility
- Flexibility
- Dexterity
- Pain-related
- Learning
- Developmental
- Mental
- Health-related
- Memory
Each category requires a deliberate strategy when it comes to building apps as well as concerted effort by development, design and qa team. It’s also important to note accessibility is directly aimed at many types of people who may have disabilities, temporary conditions, or age-related impairments that might affect how they use an app. This means providing inclusion to a wider user base, resulting in a more user-friendly app, and consequently larger adoption.
Let’s take a look at features to make your app easier to use for people with disabilities, including those with temporary conditions or age-related impairments
Mobile and TV features
In the mobile and TV world, Google and Apple are committed to providing built-in accessibility features for the user, and accessibility APIs/developer tools to empower developers to make their applications accessible.
Built-in accessibility features for each of the 4 possible impairment groups include:
Visual impairments:
- Screen readers
- Image description
- Low vision tools
- Display customization
Auditory impairments:
- Live Transcriptions
- Live Captions
- Hearing aid device support
Mobility impairments:
- Voice control
- Facial gesture navigation
- Quick actions
- Haptics
Cognitive impairments:
- Distraction avoidance features
- Quick Actions
Challenges
Despite these built-in features, creating an accessible app for both platforms can still be very challenging. Some of the challenges and potential solutions include:
Understanding your users.
UX research will determine which accessibility features you will need to support in your app and provide guidance on how to create layouts that are user-friendly and empower users with limited abilities to use our app with ease. However, approaches may differ for both platforms so we may need to use different techniques for each platform to achieve the same level of accessibility.
Design/UX Guidelines
The W3C provides comprehensive guidelines for both web and mobile accessibility. They have created the Web Content Accessibility Guidelines (WCAG), which is the foundation for all accessibility standards.These guidelines are applied to web pages and mobile applications, including native and hybrid applications.
Minimum requirements
WCAG provides an extensive list of accessibility guidelines, and both Google and Apple provide some tips to guide us on how to implement such features in our application. With all this information, you can define an accessibility baseline for your application, where you can create a foundation for accessibility and define what will be the minimum requirements for your application.
Accessibility tips for mobile and TV applications.
Here are some tips that you can include on a checklist:
Consider different screen sizes:
Mobile devices come in various shapes and sizes, from smartphones to tablets to smart TVs. Make sure your app’s layout adapts seamlessly across different screen sizes and devices to provide a consistent and functional experience for all users.
Pay attention to text and color:
Text and color play a crucial role in the accessibility of your app. Opt for clear, easy-to-read fonts and maintain a high contrast ratio between text and background colors to enhance readability, especially for users with visual impairments.
Simplify interaction:
Ensure that interactive elements within your app are easy to use and navigate. Enlarging touch targets and providing clear focus indicators can help users with motor and cognitive impairments interact with your app more easily.
Optimize navigation:
Provide seamless navigation for all users by implementing logical tab orders, supporting keyboard navigation, and maintaining consistent navigation patterns. This approach enhances accessibility, allowing users with disabilities to navigate your app efficiently and intuitively, while also providing a familiar user experience for all users.
Support alternative input methods:
Recognize that not all users interact with their devices in the same way. Supporting alternative input methods such as keyboards and voice recognition can make your app more accessible to a broader range of users.
Make data entry easy:
Complex forms and data entry methods can be challenging for users with cognitive impairments. Provide clear instructions and consider breaking down complex tasks into smaller, more manageable steps to simplify the user experience.
Be mindful of elements that trigger reactions:
Certain design or audio elements, such as flashing or moving components, can trigger discomfort or adverse reactions for users with cognitive impairments. Avoid using such elements unnecessarily and provide visible warnings when they are present. Also, be sure to include volume control and the ability to turn off sound.
Ensure audio accessibility:
For users with hearing impairments, providing options to customize audio settings is essential. Additionally, consider incorporating customizable subtitles and audio descriptions for video content to enhance accessibility for all users.
Provide a descriptive content description for Image elements:
Detailed descriptions for images and visual elements in your app enhance accessibility for users reliant on assistive technologies by providing comprehensive descriptions based on visual and textual analysis. You could potentially employ AI-driven image recognition and natural language processing services (e.g., Google’s Cloud Vision API, Microsoft’s Azure Cognitive Services) to automatically generate these descriptions.
Maintain consistency:
Consistency is key to creating an intuitive and user-friendly app. Maintain consistent layout, navigation patterns, and interactive behaviors throughout your app to ensure a seamless experience for all users.
Be inclusive:
Aim to go beyond minimum accessibility standards and strive for true inclusivity in your app design. Consider the diverse needs of your users and prioritize features and design choices that promote accessibility and inclusivity for all.
Perform validation reports
During the development of your app, make sure that your app is accessibility compliant by performing accessibility assessments internally. It’s good practice to employ various testing methods such as using Android’s Accessibility Scanner, manually testing with assistive technologies enabled, integrating the Accessibility Test Framework into your Espresso test suite, and hosting usability testing sessions with users having disabilities. This will ensure thorough evaluation and improvement of your app’s accessibility.
You can use some of the templates available to create a report that lists what is a complaint and what is missing. The WCAG provides a template that you can use the following template for the Accessibility Evaluation Report.
The following tools can help you scan your application and report accessibility issues:
For Android
- The Accessibility Scanner is very easy to use. You can download it from the Play Store, and after giving it some permissions, you can open your app and ask it to scan a screen or capture multiple screens. It will then generate results with all the considerations and explanations for each.
- Working as a team, you can use the Accessibility Test Framework for Android to perform accessibility checks on all views associated with a screen. This will provide a result with all errors that can be interpreted and addressed.
- Android Ally allows you to enable the device’s accessibility features. Although it doesn’t generate reports, it’s a good tool that simplifies and encourages accessibility testing.
- A11y Ally is a tool that helps analyze and check the accessibility of Android applications for all users. It provides filtering, visual feedback and reports.
For iOS
- Like Google, Apple provides the Accessibility Inspector, which allows you to view, query, and audit accessibility information for elements in your application. Unlike Google’s Accessibility Scanner, this inspector is a developer tool and requires you to have Xcode installed. However, it is very easy to use and Apple provides a wealth of resources explaining how to use it and how to test the results in your app. Additionally, Apple provides an automated accessibility audit tool that can be incorporated as part of UI Testing. And just this week, Apple announced some upcoming changes to accessibility in iOS 18.
- ColorSlurp allows you to analyze the color contrast of various elements of your app, such as text, icons and other graphics. This helps you ensure that your app is easy to read and use for people with visual and cognitive impairments.
Wrap up
Accessibility in mobile and TV apps is not just a checkbox to tick off during development; it’s a fundamental aspect of creating inclusive digital experiences for users of all abilities. By understanding the diverse needs of our audience and implementing best practices in design, coding, and testing, we can ensure that our apps are usable and enjoyable by everyone.
As developers, we have the power to make a positive impact on people’s lives by prioritizing accessibility in our projects and we should commit ourselves to continuous learning, improvement, and collaboration to build a more accessible and inclusive digital world.
Remember, accessibility is not just a legal requirement or a moral obligation—it’s a design philosophy that benefits everyone. By embracing accessibility, we can empower users with disabilities while enhancing the usability and effectiveness of our apps for all users.
Resources
- New data on disability in Canada, 2022
- Canadian Survey on Disability, 2017 to 2022
- Web Content Accessibility Guidelines (WCAG) 2.2
- How WCAG 2.0 and Other W3C/WAI Guidelines Apply to Mobile
- Apple’s Accessibility guidelines
- Apple: Performing accessibility audits for your app
- Apple: Accessibility Inspector
- Accessibility best practices for Android TV
- Android: Accessibility: Are You Serving All Your Users?
- Android: Make apps more accessible