Skip to content

Fix keyboard access for HQ detail modal and tracker stage movement#135

Merged
akeight merged 1 commit into
mainfrom
fix/keyboard-accessibility
Jul 13, 2026
Merged

Fix keyboard access for HQ detail modal and tracker stage movement#135
akeight merged 1 commit into
mainfrom
fix/keyboard-accessibility

Conversation

@akeight

@akeight akeight commented Jul 13, 2026

Copy link
Copy Markdown
Collaborator

Closes #69

Summary

  • Make HQ detail modal triggers keyboard-operable in deck cards, deck rows, and tracker cards (role="button", tabIndex, Enter/Space handlers, focus-visible styles).
  • Upgrade DetailModal with dialog semantics (role="dialog", aria-modal, aria-labelledby), initial focus to close button, focus trapping, and focus restore to opener on close.
  • Add keyboard-accessible tracker stage transition controls (previous/next stage buttons) as a fallback to drag-and-drop.

Why

Keyboard and assistive-technology users could not reliably open or stay within the details experience, and tracker stage movement required a mouse. This closes those accessibility gaps.

Test plan

  • Tab to a deck card and press Enter/Space -> detail modal opens
  • Tab to a deck list row and press Enter/Space -> detail modal opens
  • Tab to a tracker card and press Enter/Space -> detail modal opens
  • Screen reader announces modal as a dialog with title
  • While modal is open, Tab/Shift+Tab cycles only inside dialog
  • Escape closes modal
  • Closing modal restores focus to the triggering element
  • Use tracker prev/next stage buttons to move cards without drag-and-drop

Make deck/list/tracker detail openers keyboard-operable with button semantics and Enter/Space handlers. Add modal dialog ARIA semantics, focus trap, initial focus, and focus restoration on close; also add keyboard stage-move controls in tracker as a drag-and-drop fallback.
@akeight akeight marked this pull request as ready for review July 13, 2026 02:31
@akeight akeight merged commit 2fb07f1 into main Jul 13, 2026
2 checks passed
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.

[High] Accessibility: hackathon details unreachable by keyboard/screen reader; modal lacks dialog semantics and focus management

1 participant