The library grid is drag-sortable (#48 / PR #56) via dnd-kit's PointerSensor only. Two gaps from the final code review:
- No
KeyboardSensor — keyboard users cannot reorder books (click-to-open still works; reordering is a pointer-only enhancement today).
useSortable's attributes (role/tabIndex/aria-roledescription) are spread onto the <li>, advertising sortable semantics the keyboard cannot actually use, and adding a second tab stop per card.
Desired direction: add KeyboardSensor + sortableKeyboardCoordinates; or, cheaper, strip the keyboard-facing attributes from the <li> to stop over-promising and remove the extra tab stop.
Source: #48 final code review follow-up, 2026-06-07. Low priority by owner decision.
The library grid is drag-sortable (#48 / PR #56) via dnd-kit's PointerSensor only. Two gaps from the final code review:
KeyboardSensor— keyboard users cannot reorder books (click-to-open still works; reordering is a pointer-only enhancement today).useSortable'sattributes(role/tabIndex/aria-roledescription) are spread onto the<li>, advertising sortable semantics the keyboard cannot actually use, and adding a second tab stop per card.Desired direction: add
KeyboardSensor+sortableKeyboardCoordinates; or, cheaper, strip the keyboard-facing attributes from the<li>to stop over-promising and remove the extra tab stop.Source: #48 final code review follow-up, 2026-06-07. Low priority by owner decision.