Skip to content

app_audit runs on Android: Mobium's checks on the hierarchy, under the Accessibility Test Framework's names - #248

Merged
lana-20 merged 2 commits into
mainfrom
android-audit
Oct 21, 2026
Merged

lana-20 merged 2 commits into
mainfrom
android-audit

Conversation

@lana-20

@lana-20 lana-20 commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Step 3 of docs/ACCESSIBILITY.md. Android has no accessibility audit a tool outside the app can run, so app_audit refused it. Most of the Accessibility Test Framework's checks need only the hierarchy Mobium already reads, so they now run there (formflux.AuditAndroid), under the framework's own names:

  • TouchTargetSize: under 48dp either way, from the device's density; not judged without one
  • SpeakableTextPresent: a control with no text, description or hint in it or anything inside it. A resource id is not spoken, which is where it differs from screen --inspect's "unlabeled"
  • DuplicateSpeakableText: controls that say the same thing; one finding per name, with the count
  • DuplicateClickableBounds: two controls on one rectangle
  • RedundantDescription: a description ending with the control's own kind ("Save button" on a button; not "One-button alert", which the first version flagged on the Dialog Demo)
  • EditableContentDesc: a text field with a description

Contrast needs the pixels and isn't checked; the result lists it in unchecked, and the text says so. Look-alike findings on repeated rows collapse into one with a count (the Table Demo was 46 findings row by row, now 6).

Measured on the Android 15 emulator, both drivers:

Real captures in internal/uitree/testdata:

  • Aegis's Previous and Next icon buttons are nameless.
  • Settings' Display screen has two "Make smaller".
  • F-Droid's list, Seal's look screen and the two-button alert are clean.

The launcher's At a Glance is reported once, as a nested pair, not as a nameless card. The rule tests fail when their rule is broken.

Checks: audit.sh holds Android to the Screen Reader Demo and the home screen (it asserted the refusal before), PASS on emulator-5554. make ci green. Not run on the Pixel yet.

Depends on mobium-app#32 for the check's screen.

…e Accessibility Test Framework's names

Touch target size, speakable text, duplicate speakable text, duplicate
clickable bounds, redundant description and editable content description,
from the tree Mobium already reads; contrast is named as not checked.
Repeated row controls are one finding with a count. audit.sh holds Android
to MobiumApp's Screen Reader Demo (mobium-app) and its home screen.
…ts, ROADMAP and ACCESSIBILITY.md step 3 say what it checks
@lana-20
lana-20 merged commit f17d56a into main Oct 21, 2026
3 checks passed
@lana-20
lana-20 deleted the android-audit branch October 21, 2026 05:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant