Commit Graph
4 Commits
Author SHA1 Message Date
Martín Lucas Golini 75ebe22a02 fix(accessibility): stabilize inactive backend benchmark timing
- expose whether native backend initialization has completed
  - distinguish completed initialization from backend availability
  - wait up to one second for asynchronous initialization in benchmark mode
  - exclude AT-SPI registration activity from notification timing
  - report backend readiness latency in benchmark results
  - verify disabled backends complete initialization immediately
2026-09-16 21:05:20 -03:00
Martín Lucas Golini c28e3fc35f Fixed the flaky Linux inactive-accessibility benchmark without relaxing the 1% threshold.
- Balanced disabled/enabled execution order to avoid systematic cache/frequency bias.
  - Added 10 confirmation sample pairs only when the initial batch fails.
  - Recalculate medians using all samples before deciding.
  - Print complete JSON measurements to stderr on failure, so CI diagnostics are no longer lost.
2026-09-15 12:31:10 -03:00
Martín Lucas Golini b62612475f Add native macOS accessibility backend
- expose eepp windows and widgets through Cocoa NSAccessibility
  - add lazy, stable native wrappers with safe lifecycle invalidation
  - support hierarchy, focus, geometry, actions, values, and UTF-16 text APIs
  - deliver coalesced native notifications for UI and model changes
  - preserve surviving secondary windows when the primary closes
  - add macOS semantic, notification, lifecycle, and performance harnesses
  - add native unit coverage and accessibility example scenarios
  - keep dormant accessibility overhead negligible
2026-09-13 01:38:48 -03:00
Martín Lucas Golini d6d52032b0 Add accessibility performance regression coverage
- Add inactive and active accessibility benchmarks to protect against startup, notification, and AT-SPI scaling regressions.

  - Extend the AT-SPI benchmark with text, focus, action, value, geometry, hit-testing, and model-update operations. Run both benchmarks in Linux CI and preserve their JSON results as artifacts.

  - Add an explicit null accessibility backend for baseline measurements and optional accessibility disabling.

  - Harden the Windows UIA backend by caching client availability per update, validating root providers, and preventing recursive window procedure forwarding.
2026-09-11 14:57:16 -03:00