You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Basics first — this is a canvas-heavy app so full canvas a11y is a long road, but the chrome around the canvas has cheap wins:
Dialogs:MoveConfirmDialog.tsx:27-56 has no role="dialog", no aria-modal, no focus trap — focus Tabs straight out to the canvas behind the backdrop. The Tutorial loading dialog (Tutorial/Tutorial.tsx:416-435) reuses the same markup with the same gaps. ShortcutsOverlay and TutorialBar set role="dialog"/aria-modal but don't move or trap focus either. A tiny shared <Modal> (role, aria-modal, initial focus, focus trap, Esc handling that stops propagation — see the keyboard issue) fixes all four.
Piece rename is a click-only <span> (PieceProperties.tsx:94-115) — not focusable, no role="button"/tabIndex/keydown. Keyboard users cannot rename pieces.
Pointer-only canvas operations: no keyboard alternative for selecting pieces, nudging texture transforms, or moving vertices. A pragmatic first step: arrow-key nudge (+Shift for coarse) for the selected piece's transform on the sheet panel, and Tab-cycling selection through pieces. Pairs naturally with the docked inspector (Docked right-side inspector (replace floating piece-properties popover) #34), which gives keyboard users a focusable home per piece.
Basics first — this is a canvas-heavy app so full canvas a11y is a long road, but the chrome around the canvas has cheap wins:
MoveConfirmDialog.tsx:27-56has norole="dialog", noaria-modal, no focus trap — focus Tabs straight out to the canvas behind the backdrop. The Tutorial loading dialog (Tutorial/Tutorial.tsx:416-435) reuses the same markup with the same gaps.ShortcutsOverlayandTutorialBarsetrole="dialog"/aria-modalbut don't move or trap focus either. A tiny shared<Modal>(role, aria-modal, initial focus, focus trap, Esc handling that stops propagation — see the keyboard issue) fixes all four.<span>(PieceProperties.tsx:94-115) — not focusable, norole="button"/tabIndex/keydown. Keyboard users cannot rename pieces.ResultPanel.tsx:1519,SheetPanel.tsx:489) lackaria-expanded/aria-haspopup.