Accessibility checks (axe) in the browser tests, from the 0.7 views on #291

Closed
opened 2026-10-22 14:41:31 +00:00 by littlefox · 1 comment
Owner

Approved for 0.7 (D-063). It's a first step toward the 1.0 "Accessible" item.

Run the axe accessibility checker (@axe-core/playwright) in the browser tests, starting with the views 0.7 builds or changes: the channel thread list, the thread chat, the inbox and the composer. It's cheaper to build them accessible than to fix them later.

  • Serious and critical findings fail the run. Everything else is reported.
  • The other views get a list of known findings that only shrinks.
  • In the thread chat, new messages are announced politely (aria-live), and the list is navigable with the keyboard.

Tests: an axe step in the specs for those views.

Approved for 0.7 (D-063). It's a first step toward the 1.0 "Accessible" item. Run the axe accessibility checker (`@axe-core/playwright`) in the browser tests, starting with the views 0.7 builds or changes: the channel thread list, the thread chat, the inbox and the composer. It's cheaper to build them accessible than to fix them later. - Serious and critical findings fail the run. Everything else is reported. - The other views get a list of known findings that only shrinks. - In the thread chat, new messages are announced politely (`aria-live`), and the list is navigable with the keyboard. Tests: an axe step in the specs for those views.
littlefox added this to the 0.7: Threads milestone 2026-10-22 14:41:31 +00:00
Author
Owner

Verified, merged in #310; main green (run #550).

  • @axe-core/playwright 4.13.0 (pinned) through e2e/tests/axe.ts: serious and critical findings fail the test, the rest show as annotations.
  • The 0.7 views are checked with nothing allowed: thread list, thread chat, inbox, compose, and "Mina trådar". The other views (login, reader, settings, directory, search, profile) are checked in a11y.spec.ts against axe-known.json, which is empty: nothing is known to fail.
  • Fixed along the way: avatar and chat-meta contrast, times inside buttons as plain text (no nested buttons), lang on the page from the chosen language, the chat as a log region read out politely, grouped messages reachable by keyboard, and a profile list that showed texts with no recipients.
  • Full suite, all three profiles, locally and on CI.
  • Also in this branch: a chosen channel view could be undone by a late default (see #286).
Verified, merged in #310; main green (run #550). - `@axe-core/playwright` 4.13.0 (pinned) through `e2e/tests/axe.ts`: serious and critical findings fail the test, the rest show as annotations. - The 0.7 views are checked with nothing allowed: thread list, thread chat, inbox, compose, and "Mina trådar". The other views (login, reader, settings, directory, search, profile) are checked in `a11y.spec.ts` against `axe-known.json`, which is empty: nothing is known to fail. - Fixed along the way: avatar and chat-meta contrast, times inside buttons as plain text (no nested buttons), `lang` on the page from the chosen language, the chat as a `log` region read out politely, grouped messages reachable by keyboard, and a profile list that showed texts with no recipients. - Full suite, all three profiles, locally and on CI. - Also in this branch: a chosen channel view could be undone by a late default (see #286).
littlefox referenced this issue from a commit 2026-10-24 13:23:56 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
littlefox/neokom#291
No description provided.