Making Airbnb's Android App More Accessible
Article Summary
Airbnb's Android app serves millions of travelers daily. But how many users were being left behind due to accessibility barriers?
Julia Fu and Peter Elliott from Airbnb's Android team share their comprehensive approach to making one of the world's most popular travel apps accessible to all users. They detail the technical strategies, automation tools, and architectural decisions that enabled accessibility improvements at scale.
Key Takeaways
- Leveraged Design Language System to apply accessibility fixes across all screens automatically
- Built Espresso based automated testing and custom Ktlint rules to catch issues at commit time
- Implemented TalkBack optimizations: content descriptions, element grouping, and dynamic font scaling
- Created custom Compose semantics for page announcements when native APIs were unavailable
- Blocked pull requests from merging if they fail accessibility CI checks
Airbnb scaled Android accessibility by embedding automated checks into CI/CD and building reusable components that inherit accessible behavior by default.
About This Article
Airbnb's Android app serves millions of users, but its accessibility standards weren't consistent across different screens and features. This made it hard to enforce best practices at scale.
Julia Fu and Peter Elliott set up automated testing using Espresso and wrote custom Ktlint rules that check every code commit. Pull requests that fail accessibility checks get blocked before they merge to the main branch.
By adding accessibility checks directly into the CI/CD pipeline, Airbnb gave engineers a way to catch problems while writing code instead of after release.