diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 3446d310..55a304ad 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -153,6 +153,7 @@ jobs: node test-issue-1668-m4-per-route.js node test-a11y-axe-1668-selftest.js node test-issue-1705-subpath-contrast.js + node test-a11y-axe-routes-coverage.js - name: 🛡️ Preflight XSS gate — actual --diff check (PR only) # The fixture self-test above (test-preflight-xss-gate.js) only diff --git a/test-a11y-axe-1668.js b/test-a11y-axe-1668.js index b717a217..7eb01ce9 100644 --- a/test-a11y-axe-1668.js +++ b/test-a11y-axe-1668.js @@ -67,7 +67,9 @@ const ROUTES = [ '/analytics?tab=hashsizes', '/analytics?tab=collisions', '/analytics?tab=roles', - // #1706: expand axe coverage to the remaining 7 analytics tabs plus prefix-tool. + // #1706: remaining analytics tabs — every `data-tab=` button in + // public/analytics.js must be gated. test-a11y-axe-routes-coverage.js + // enforces this; do not remove entries without dropping the tab too. '/analytics?tab=subpaths', '/analytics?tab=nodes', '/analytics?tab=distance', diff --git a/test-a11y-axe-routes-coverage.js b/test-a11y-axe-routes-coverage.js new file mode 100644 index 00000000..b2846281 --- /dev/null +++ b/test-a11y-axe-routes-coverage.js @@ -0,0 +1,74 @@ +/** + * test-a11y-axe-routes-coverage.js — Gate for #1706 + * + * Asserts that EVERY analytics tab declared in `public/analytics.js` + * (via `