fix(#1718): drop prefix-tool a11y allowlist entries — subsumed by #1720#1736
fix(#1718): drop prefix-tool a11y allowlist entries — subsumed by #1720#1736Kpa-clawbot wants to merge 1 commit into
Conversation
PR #1720 consolidated active button states (incl. `.btn-active-accent`) onto `var(--accent-strong)` + `var(--text-on-accent)` (4.95:1, WCAG AA). The `#ptCheckBtn` / `#ptGenBtn` color-contrast violations that issue #1718 tracked are gone, so the allowlist entries are stale. Drops the two `issue: 1718` entries from `tests/a11y-allowlist.yaml`: ```yaml - route: '/analytics?tab=prefix-tool' selector: '#ptCheckBtn' rule: color-contrast issue: 1718 expires_at: 2026-09-11 - route: '/analytics?tab=prefix-tool' selector: '#ptGenBtn' rule: color-contrast issue: 1718 expires_at: 2026-09-11 ``` No other tabs touched (#1715 dark-theme work remains — separate issue). ## Verification The CI a11y gate (`test-a11y-axe-1668.js`) is the authoritative check. It re-renders `/analytics?tab=prefix-tool` in dark+light × desktop+ mobile and asserts zero net violations against the trimmed allowlist. With this PR the entries are gone — if PR #1720's fix were ever reverted, the gate fails immediately with no allowlist masking it. Local repro not attempted: sandbox chromium lacks the `@axe-core/playwright` module (matches the documented limitation in PR #1730 / PR #1723). CI is the source of truth. ## TDD note Config-change exemption per workspace AGENTS.md: - No test files modified. - No production code modified. - Config-only allowlist trim; CI must stay green without test edits. - The gate itself is the test — dropping the allowlist entries IS the red→green transition (entries gone → axe runs unfiltered → must remain pass because #1720 fixed the root cause). Mirrors the exact pattern accepted in PR #1722, PR #1723, PR #1730 and PR #1731 (same allowlist-drop shape, same upstream PR #1720 fix). Fixes #1718. Refs PR #1720, PR #1731.
Polish review — trivially safe, CI flake is pre-existing on masterVerdict: 0 BLOCKER / 0 MAJOR. Diff is the deletion of two Verified on
CI: 🎭 Playwright failure is the pre-existing Not auto-merging: |
|
Parent-direct review (trivial 10-line allowlist delete) — round 1 Verdict: APPROVED (conditional on CI) Diff: removes 2 expired-2026-09-11 allowlist entries for
Out-of-scope (not blocking this PR):
No must-fix items. |
🤖 Hourly PR-watch reviewVerdict: NEEDS-VERIFY (then APPROVE) — CI blocked by #1747 Removes 2 prefix-tool color-contrast allowlist entries claimed to be subsumed by #1720. Diff is a clean deletion. Verification gapThe PR body asserts #1720 already raised contrast on CI statusPlaywright failing on the e2e fixture aging issue (#1630 reach), not on this change. #1747 unblocks it. TDD notePure config deletion. The a11y E2E test IS the assertion gate; if it stays green post-#1747-merge after rebase, the change is proven. Findings: 0 BLOCKER / 1 MINOR
Reviewed by: tufte (UI surface). |
Summary
PR #1720 (merged 2026-06-13) consolidated active button states onto the
shared
.btn-active-accentrule that paintsbackground: var(--accent-strong)(#2563eb) +color: var(--text-on-accent)(#f9fafb) = 4.95:1, WCAG AA pass inboth themes. That subsumes the
#ptCheckBtn/#ptGenBtncolor-contrast violations issue #1718 tracked, so the allowlist entries
are stale.
Change
Drop the two
issue: 1718entries fromtests/a11y-allowlist.yaml:No other tabs touched.
#1715dark-theme work and otherexpires_at: 2026-09-11entries are out of scope — separate issues,separate PRs. No production CSS/JS modified (PR #1720 did the
substantive fix).
Verification
The CI a11y gate (
test-a11y-axe-1668.js) is the authoritative check.It re-renders
/analytics?tab=prefix-toolin dark+light × desktop+mobile and asserts zero net violations against the trimmed allowlist.
With this PR the entries are gone — if PR #1720's fix were ever
reverted, the gate fails immediately with no allowlist masking it.
Local repro not attempted: sandbox chromium lacks the
@axe-core/playwrightmodule (matches the documented limitation inPR #1730 / PR #1723). CI is the source of truth for this gate.
TDD note
Config-change exemption per workspace AGENTS.md:
red→green transition (entries gone → axe runs unfiltered → must
remain pass because fix(#1719): contrast root causes — active-btn / skew-badge / role-swatch / status-green #1720 fixed the root cause).
Mirrors the exact pattern accepted in PR #1722 (clock-health),
PR #1723 (subpaths), PR #1730 (nodes), and PR #1731 (rf-health) —
same allowlist-drop shape, same upstream PR #1720 fix.
Preflight
bash ~/.openclaw/skills/pr-preflight/scripts/run-all.sh origin/master— config-only change; PII grep on diff clean.
Fixes #1718.
Refs PR #1720, PR #1722, PR #1723, PR #1730, PR #1731.