Android accessibility made easy
summary
Covers concrete Android fixes and measurable practices: uses AccessibilityNodeInfo and ExploreByTouchHelper for custom views, enforces 48×48 touch targets and meaningful contentDescription, and announces background state changes (network, ETA). Shows Uber fixes that work: reactive ETA announcements, a text-mode fallback for map pickup, flashing alerts for deaf drivers, and a block‑navigation pattern. Tests integrate into CI via Espresso + accessibility‑validator with a whitelist workflow, plus Accessibility Scanner and lint to phase out issues. Numbers: 15% of people have disabilities, 285M visually impaired, 35M with motor impairments.
AI-written summary · about
chapters (21)
- 0:00Intro
- 1:49Key takeaways
- 2:35Why is accessibility important
- 3:44Accessibility services
- 5:53Accessibility settings
- 6:23Accessibility framework
- 8:29Good news
- 9:56No content description
- 12:36Using color only changes to announce state changes
- 13:55Having state information or type of view in content description
- 14:30Not enough context in speakable text for custom view group
- 16:45Deaf driver announcement to riders
- 17:24Allow block navigation and provide a summary
- 18:57Branching off for talkback users
- 19:47Processing Accessibility Events
- 23:14Example
- 28:02Scalable accessibility testing Accessibility testing options
- 28:30AccessibilityChecks
- 30:54Accessibility Checks
- 33:42Scalable accessibility testing Accessibility scanner, linting
- 35:35Common mistakes Ignoring results of network requests
related talks
32mMaking Android accessibility easy
43mAccessibility Made Simple
37mAccessibility on Android in 2019
22mAndroid Accessibility: Understanding Blind Users to Meet Their Needs
42mAccessibility @ Scale
35mAccessibility in Action
39mEasy Android Accessibility
34mIs your app for everyone? A primer on accessibility for Android
