summaryrefslogtreecommitdiff
path: root/DomainDigUITests/AccessibilityMetadataTests.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-07-22 01:01:05 -0500
committerChristian Cleberg <[email protected]>2026-07-22 15:04:32 -0500
commitdd41ed2c51beae07288fdfa724e410e0d321d278 (patch)
tree6d443925e7d7a323e726999e244fc269b0fb2ef0 /DomainDigUITests/AccessibilityMetadataTests.swift
parent7f917e98b929dcf0f7901d0bc4eb05e04db3aa0c (diff)
downloaddomain-dig-dd41ed2c51beae07288fdfa724e410e0d321d278.tar.gz
domain-dig-dd41ed2c51beae07288fdfa724e410e0d321d278.tar.bz2
domain-dig-dd41ed2c51beae07288fdfa724e410e0d321d278.zip
feat(a11y): engage the audit enforcement ratchet (#21)
The point of the Phase 0 harness finally lands: named findings in textClipped, dynamicType, hitRegion, elementDetection, sufficientElementDescription, and trait now FAIL the build on the empty-state suite. Regressions in five phases of accessibility work are gated, not narrated. Three carve-outs, each earned by evidence rather than convenience: - contrast stays report-only. The two long-standing Settings findings are rows scrolled under the translucent tab bar, and their attribution flips between a row name and nil run-to-run — no suppression is narrow enough to keep CI stable. The centralised palette is the real guard. - The seeded dense-row tests run reportOnly. Bisection showed the audit degrades on children-ignored content — the correct VoiceOver treatment for dense rows — emitting unattributed contrast/dynamicType failures on rows that measure 6-7:1 and render correctly. - Characterised noise is suppressed narrowly and always logged as [noise: reason]: disabled controls (WCAG 1.4.3 exempt), "nearly passed" near-misses, system field placeholders (flagged at any length — proven by shortening them to no effect), and unattributed clipped/dynamic-type artifacts. noiseReason(for:) records each rule's provenance inline. Validated in both directions. Positive: the full 11-test suite passes with enforcement live, dark and light, on an erased simulator. Negative: re-injecting the Phase 3 icon-exposure regression produced two named [FAIL] findings and a failed suite — on both screens sharing the component — then went green again on revert. Docs and the CI workflow comment updated to describe the engaged state.
Diffstat (limited to 'DomainDigUITests/AccessibilityMetadataTests.swift')
0 files changed, 0 insertions, 0 deletions