Making Airbnb’s Android app more accessible

By: Julia Fu, Peter Elliott

Julia Fu
7 min readintermediate
--
View Original

Overview

The article discusses Airbnb's efforts to enhance the accessibility of its Android app, aligning with its mission to create inclusive products. It highlights best practices, automated testing, and the integration of Jetpack Compose to ensure usability for all users, particularly those with disabilities.

What You'll Learn

1

How to implement content descriptions for UI elements in Android apps

2

Why grouping related content improves accessibility for users

3

How to use automated testing tools like Espresso for accessibility checks

4

When to apply font scaling to ensure usability for visually impaired users

5

How to integrate accessibility features in Jetpack Compose

Key Questions Answered

What best practices does Airbnb follow to enhance app accessibility?
Airbnb follows several best practices to enhance app accessibility, including providing accurate content descriptions for UI elements, grouping related content for better usability, and ensuring the app is usable with increased font sizes. These practices align with both legal requirements and the company's mission to create inclusive products.
How does Airbnb automate accessibility testing in its Android app?
Airbnb automates accessibility testing using Espresso-based tools that check for accessibility issues during code commits. This setup provides quick feedback to engineers, allowing them to address accessibility concerns in real-time, thus improving the overall user experience for individuals with disabilities.
What role does Jetpack Compose play in Airbnb's accessibility strategy?
Jetpack Compose is integrated into Airbnb's app to enhance accessibility. The team utilizes Compose's accessibility features while also addressing gaps, such as the need for page name announcements, ensuring that new screens provide context to users relying on assistive technologies.
What challenges does Airbnb face with accessibility in its Android app?
One challenge Airbnb faces is the complexity of making a large app accessible without overwhelming engineers with the need to add accessibility code everywhere. To address this, they leverage a Design Language System that allows for scalable accessibility improvements across reusable UI components.

Technologies & Tools

Testing
Espresso
Used for automated testing of accessibility issues in the Android app.
Frontend
Jetpack Compose
Integrated into the app to enhance accessibility features.

Key Actionable Insights

1
Implement content descriptions for all interactive UI elements to enhance accessibility.
By ensuring that every button and interactive element has a clear content description, developers can significantly improve the experience for users relying on screen readers. This practice is essential for compliance with accessibility standards.
2
Utilize automated testing tools like Espresso to catch accessibility issues early.
Incorporating automated tests into the development workflow allows engineers to identify and fix accessibility problems before they reach production, leading to a more inclusive product.
3
Group related UI elements together to improve navigation for assistive technology users.
When elements are logically grouped, assistive technologies can announce them together, making it easier for users to understand the context and navigate the app effectively.
4
Ensure that the app remains usable with increased font sizes to accommodate users with visual impairments.
Testing the app with enlarged font settings can reveal layout issues that may hinder usability, allowing developers to make necessary adjustments.

Common Pitfalls

1
Failing to provide content descriptions for UI elements can lead to a poor experience for users relying on assistive technologies.
This often happens when developers overlook the importance of accessibility during the design phase. To avoid this, teams should prioritize accessibility in their development guidelines and ensure thorough testing.
2
Neglecting to test the app with increased font sizes can result in usability issues for visually impaired users.
Many developers may not consider how their layouts respond to larger text sizes. Regular testing with various font settings can help identify and rectify these issues before deployment.