Prevent, Then Verify: Accessible-by-Default Jetpack Compose Components and Font-Scale Differential Auditing for Public-Service Android Apps
U.S. rules adopted in 2024 require the apps of state and local governments, and of recipients of Health and Human Services funding, to meet WCAG 2.1 Level AA by 2027 or 2028. I built two open-source tools for the small teams that make many of them. A11yJourney Compose is a Jetpack Compose library that rejects, at the API, missing or meaningless labels, low-contrast color schemes, uncaptioned video, and timeout warnings under 20 seconds. A11yJourney is a dependency-free command-line auditor that captures any installed app over adb, compares its accessibility tree at font scale 1.0 and 2.0, and measures keyboard focus by pressing Tab on the device. On a synthetic benchmark of 27 labeled issues it finds 88.9% at 66.7% precision. Auditing the library's demo app in CI exposed 20 auditor false positives and two component defects. A first run on six F-Droid apps produced 40 findings, now under human review. In OneBusAway for Android I found nine defects in the source and wrote patches that pass the project's own checks. On an emulator the auditor flagged two of them, the captures revealed a layout defect I had missed, and four auditor false-positive patterns were fixed in release 0.4.0.
Authors
- Sunny Mehta
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2026-11-03
- DOI
- https://doi.org/10.5281/zenodo.23902790
- Primary Topic
- Digital Accessibility for Disabilities
- Type
- article
- Field-Weighted Citation Impact
- 0.00