Skip to content

Plan 8 Phase 1 — accessibility polish (10 live-sweep fixes)#25

Merged
HenryElendheim merged 7 commits into
mainfrom
feature/mobile-a11y-polish
Jul 8, 2026
Merged

Plan 8 Phase 1 — accessibility polish (10 live-sweep fixes)#25
HenryElendheim merged 7 commits into
mainfrom
feature/mobile-a11y-polish

Conversation

@malinfossum

Copy link
Copy Markdown
Collaborator

Plan 8 Phase 1 — accessibility polish

Slice 1's final plan, split into Phase 1 (accessibility) and Phase 2 (mobile — still to design). This PR is Phase 1 only: ten findings from the first live a11y sweep (the running app driven in a real browser, so these were measured, not inferred).

Frontend-only — no backend, schema, or DB changes.

Findings fixed

# Finding Task
F2 Checkboxes below the 24px minimum target (18px / 13px) 1
F3 Done-strip label failed contrast at 2.68:1 (class collision doubled the opacity) 1
F7 Broken multiline confirm string 1
F1 / F10 Focus dropped to <body> after the Done-area / settings re-render 2
F6 Lists weren't landmarks 3
F8 Rename <form> nested inside the <h2> (broke the accessible name) 3
F9 Picker missing aria-haspopup / settings missing aria-describedby; requestAnimationFrame announce dropped in a hidden tab 4
F4 8s undo-toast too short for keyboard/SR users 5
F5 Board/list rename used a native prompt() 6

The global Done area was already fine (5.36:1) — F3 was scoped to the per-list strip only.

Commits

  • 7972542 docs — spec + build plan
  • ec9f156 Task 1 — a11y CSS: 24px targets, Done-strip contrast, confirm string
  • dfa298e Task 2 — focus stays on the toggle after Done-area / settings re-render
  • e19c01e Task 3 — lists as labelled regions; card rename form out of the h2
  • 322ba7d Task 4 — picker haspopup, settings describedby, reliable announcer
  • 223e4f4 Task 5 — longer undo-toast window for keyboard/SR users
  • bf1c9f7 Task 6 — inline rename for boards and lists (replaces prompt)

Verification

  • 147 NUnit passing locally (0 failed, 0 skipped); CI runs the same suite.
  • Each fix re-measured live in the browser: 24px targets · Done-strip 5.36:1 (AA) · focus returns to the control not <body> · inline board/list rename with prefill + Esc + focus-return · lists role="group" + aria-labelledby<h3> · rename form out of the <h2> · announce fires in a hidden tab.

Still owed before merge

  • Human keyboard + screen-reader acceptance (announcement quality stays human-verified).
  • Phase 2 (mobile single-list switcher + per-list Done strip) is design-pending — brainstorm the layout, then build it on this same branch.

Docs: docs/2026-07-08-wend-mobile-a11y-polish-design.md · docs/plans/2026-07-08-slice1-mobile-a11y-polish.md

@HenryElendheim
HenryElendheim merged commit 000d2d5 into main Jul 8, 2026
1 check passed
@HenryElendheim
HenryElendheim deleted the feature/mobile-a11y-polish branch July 8, 2026 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants