Repository navigation
a11y(chat,account): listbox conversation rail + account menu semantics (#2346 #2348) - #2363
Conversation
|
Internal review: LGTM (advisory — human approval required) Authored by Mattingly; reviewed by Lovell.
|
|
Rebased onto merged base a8718a7. Conflicts resolved in ests/a11y.spec.ts (branch's new tests renumbered to A63–A70) and ACCESSIBILITY.md (union merge). Final suite: 69 passed / 7 skipped / 0 failed. — Mattingly |
890e1d7 to
82e5265
Compare
|
Rebase round 2 — rebased onto \kpoin/ui-testing\ @ e0d1c92 (#2360 backend merged) Conflicts resolved in \ ests/a11y.spec.ts\ and \ACCESSIBILITY.md\ by keeping both sides (base's A35–A45 presets + A51–A58 backend AND this branch's A63–A70 chat/account tests). \styles.css\ auto-merged cleanly. No renumbering needed — ranges already disjoint. Final suite: 77 passed / 7 skipped / 0 failed — Mattingly |
82e5265 to
a4ebd09
Compare
|
Rebase round 3 complete — rebased onto \kpoin/ui-testing\ @ 7eb0c6c (post #2359 models merge). Conflicts resolved by keeping both sides:
Full suite result: 82 passed / 7 skipped / 0 failed. Branch force-pushed to \origin/feat/gui3-chat-account-a11y. — Mattingly |
a4ebd09 to
0772762
Compare
|
Rebase round 4 complete — rebased onto \1c3bb93f\ (merged base after #2362 download a11y). Conflict resolution: kept both sides throughout:
Test results: 86 passed / 7 skipped / 0 failed ✅ — Mattingly |
…+ account menu a11y Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
0772762 to
51f3491
Compare
Rebase Round 5 — onto merged base 2d431d1Rebased \eat/gui3-chat-account-a11y\ onto \origin/kpoin/ui-testing\ (2d431d1), which includes #2364 (forms/icons a11y: combobox semantics, durable form labels, icon-button names) as the most recent merge. Conflicts resolved by keeping both sides (no renumbering):
Full suite result: 95 passed / 7 skipped / 0 failed This is the last remaining open a11y PR in the GUI3 series. Rounds 1–4 merged #2357/presets, #2360/backend, #2359/models, #2362/downloads, #2364/forms+icons. #2363 is the final piece. — Mattingly |
#2346 #2348) (#2363) * a11y(chat,account): full listbox keyboard nav for conversation rail + complete account menu semantics Closes #2346 #2348 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(squad): add Group E learnings and decision record for chat rail + account menu a11y Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Summary
#2346 - Chat conversation rail: full listbox keyboard navigation
File: prototype/ui-redesign/src/components/ChatView.tsx
Each
a11y: Account menu dialog/popover behavior is incomplete #2348 - Account menu: complete modal dialog semantics
File: prototype/ui-redesign/src/features/accounts/AccountMenu.tsx
Decision: MODAL dialog. The component already declared role="dialog" and aria-haspopup="dialog"; multi-mode forms warrant modal containment.
Changes: aria-modal="true" added; triggerRef and panelRef added; useFocusTrap(panelRef, open) for Tab containment; useEffect Escape handler calls closePanel() which restores focus to trigger via requestAnimationFrame; close button uses closePanel().
Tests
8 new tests A35-A42 in tests/a11y.spec.ts:
Test result: 58 passed, 7 skipped, 0 failed (was 50/7)
Closes a11y: Chat conversation rail is not keyboard-complete #2346
Closes a11y: Account menu dialog/popover behavior is incomplete #2348
A human reviews before merge.