axe scans every page no journey reached, and the four violations they found are fixed (#367) #1050
Loading…
Reference in a new issue
No description provided.
Delete branch "test/367-axe-coverage"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of #367: the second automatable slice.
Summary
Scans. 34 routes that no journey reached now get an axe scan (
wcag22aa, the existing fixture), as Dana, the seeded GM and admin. Three read-only specs:a11y-campaign-pages: prep, analytics,characters/new, the settings index plus ownership, packs, archive and wiki,/sessions/:id/edit, and/profile/plan.a11y-wiki-pages: health, recent, deleted, map, rules, new,name/:title, and an entry's edit, history and talk.a11y-admin-pages: the 14 admin sub-pages.Ids come from the seeded data through the API. A shared
scan-pages.jsscans each page oncemainand its h1 are in, and fails once at the end naming every failing page.Violations found, and fixed in the app. No axe rule is disabled and no element excluded.
/admin/aboutlink-in-text-blockownershiplink-in-text-blockruleslink-in-text-block/admin/usage, phonescrollable-region-focusable.tscrolltables become labelled, focusable regions, the patternAdminUsersandAdminAuditalready use.The three links take a new
.qb a.textlinkstyle (src/ui/base.css): underlined, in the existing--accent-ink. That is a small visible change: those three links gain an underline. In-sentence links elsewhere were not changed; a global rule would be the owner's call.Changelog
changelog.d/367-axe-coverage.fixed.mdTest plan
--grep "A11y"gives9 passed(3 specs × desktop, phone, keyboard). Earlier runs failed on exactly the four violations above, and the scans caught them.AdminAbout.test.jsx, plus assertions in the Ownership, Rules and AdminUsage tests.SheetPage.test.jsx, untouched here; it passes alone (69 passed), so the host's load is the likely cause.Noted, not changed: the
.tscrollwrappers inAdminHealth,AdminNoticesandAdminUsers:51have the same latent gap if their content overflows. They pass with the seeded data.🤖 Generated with Claude Code