An accessibility programme: WCAG 2.2 AA checked in the browser tests, and an audit of every page #41
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo#41
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Why
Postulo now states inclusion as a mission: usable by everyone, at its fullest, including people with disabilities. Much of the interface already behaves (server-rendered HTML that works with scripts off, keyboard-operable menus,
aria-hiddenicons with labels where an icon stands alone, live regions on the tables,aria-sorton headers) but none of it is checked, and what is not checked drifts.Shape
axe-core(vendored understatic/js/vendor/like htmx, or loaded fromnode_modulesin the test only) into every page the Playwright suite visits and fail on any violation at WCAG 2.2 level A and AA. Add the pages the critical path does not visit: settings, server settings, insights, the interview form, the tables with filters open, the account menu, sign-in and sign-up.outline-nonegrep as a start), no keyboard traps in the<details>menus, Escape closes what opened, a skip link to the main content.aria-describedby), and the theme switch says which theme it will apply.inkandbrandpalettes checked, not assumed); nothing conveyed by colour alone (the status badge already carries its label; check the quiet and interview markers); respectprefers-reduced-motionin the little animation there is.accessibilitylabel.Classification
Enhancement, and a standing commitment. 1, 5 and 7 close this issue; 2 to 4 are audits whose findings become bugs; 6 is its own issue if WeasyPrint's tagging turns out to be involved.