Word-style Tab navigation in tables with an accessible exit (#338) #343
No reviewers
Labels
No Label
area:auth
area:docs
area:export
area:ops
area:storage
area:supply-chain
auth
backend
blocked
collab
deployment
docs
effort:L
effort:M
effort:S
frontend
plugins
qa
vs-nfd
vs-nfd:blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: stwaidele/dorfteich#343
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "issue-338-tab-navigation"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Tab/Shift-Tab now move cell-wise inside tables; Tab in the last cell appends a new row and moves into it (Word behavior). Outside tables Tab keeps its browser default, so the editor stays a single tab stop.
Accessible exit (WCAG 2.1.2): Escape places the cursor after the table. The arrow keys reach the gap cursor (#335) only from the table's edge cells (ProseMirror searches gap positions only at the end of the parent), so Escape is the exit that works from every cell. Announced via an
aria-describedbyhint on the editor surface (visually hidden, de+en).The keyboard-trap proof lives in the editor pack rather than a11y.spec.ts: adding a login to the a11y pack shifts the CI's rate-limit budget (see the #301 lesson in the handoff), and the editor pack already owns the table specs.
Also stabilizes the table specs: right after the insert the collab sync can swallow a click's selection update -- the specs now settle briefly and verify cursor placement with typed markers.
Stacked on #342 (fast-forward chain #340 -> #341 -> #342 -> this).
Closes #338
753338f1betoc17ab41a33