Inspiration
Accessibility testing for Fire TV apps has a blind spot: existing tooling (static checkers and Accessibility Scanner) never drives the running app with real D-pad input the way an actual TV user does. Focus behavior — traps, missing labels, duplicate names — only shows up when you actually navigate the live app with a remote.
What it does
Focus Auditor is a Fire TV accessibility testing tool built with Amazon's Devices Builder Tools (ADBT). It drives a running Fire TV app with real D-pad input over adb, maps the focus graph, and reports:
- Focus traps — controls where every directional press lands back inside while the rest of the screen is unreachable
- Unnamed focusable controls with no accessible name (including icon-only buttons)
- Duplicate accessible names
Each finding becomes a frozen live test that fails while the defect exists and passes once fixed. A coding agent gets a fix prompt with ADBT documentation over MCP, patches the app, and the loop rebuilds, reinstalls, and re-runs the tests. A dashboard shows findings over the real TV screenshot, and a Fire TV companion app shows the same report on the TV.
How we built it
We used Amazon's Devices Builder Tools (ADBT) with ADBT documentation served over MCP, driving the app through raw adb input events and reading the accessibility tree a screen reader uses. Tested against Amazon's hello-world-fire-tv sample with planted defects.
Challenges we ran into
Mapping the focus graph required building custom tooling on top of raw adb input events — adb-over-emulator focus verification was the missing piece in existing tooling.
What's next
Extend the auditor to cover more defect classes and run continuously in CI for Fire TV apps.
Built With
- adb
- amazon-devices-builder-tools-(adbt)
- android-accessibility
- fire-os
- fire-tv
- mcp
- python
Log in or sign up for Devpost to join the conversation.