ComposeA11yScanner 3.0.0
This major release adds runtime scanner controls, improves scan accuracy, and introduces public API changes for advanced integrations.
New features
- Added ComposeA11yScanner.toggleScanner(enabled) to enable or disable the scanner at runtime.
- Added explicit opt-in for trusted non-debuggable builds.
- Added Interact with app and Resume issue inspection controls to switch between using the app and reviewing findings.
Fixes and improvements
- Improved activity routing, lifecycle cleanup, and repeated installation handling.
- Improved Compose host selection, scan stability, and stale-result invalidation.
- Corrected duplicate-label detection and removed the redundant Sign In description in the fixed Login sample.
- Restored detection of the Amount focus-order issue in the Form sample by preserving offscreen traversal context.
- Improved rendered text-contrast analysis with hardware-compatible pixel capture.
- Removed inspection controls immediately before rescanning to prevent capture interference.
- Preserved semantics checks on Android API 24–25; rendered contrast analysis requires API 26+.
- Added regression tests and updated documentation and the sample demo.
Breaking API changes
- A11yScannerController.nodeProvider is now a suspending function executed on the main dispatcher.
- A11yScannerController adds an optional ruleNodeOverridesProvider.
- A11yScannerScaffold adds offset parameters before content; use named arguments and a trailing content lambda.
- A11yScanEngine.scan() adds an optional ruleNodeOverrides argument.
- A11yNode adds label, traversal, layout-bounds, and visibility metadata.
- RenderedTextContrastAnalyzer.analyze(nodes) is deprecated in favor of analyze(nodes, bitmap).
Rebuild all consuming modules and libraries when upgrading. Many Kotlin calls remain source-compatible through default arguments, but existing compiled consumers are not binary-compatible.
See the migration guide.
Installation
debugImplementation("com.github.mohdaquib.ComposeA11yScanner:scanner-ui:3.0.0")New Contributors
Full Changelog: 2.1.0...3.0.0