Skip to content

feat(design): keyboard-driven row selection & range-copy for Ledger (#466) - #566

Open
laurentketterle-hub wants to merge 3 commits into
RevoraOrg:masterfrom
laurentketterle-hub:feat/keyboard-row-selection-copy
Open

feat(design): keyboard-driven row selection & range-copy for Ledger (#466)#566
laurentketterle-hub wants to merge 3 commits into
RevoraOrg:masterfrom
laurentketterle-hub:feat/keyboard-row-selection-copy

Conversation

@laurentketterle-hub

Copy link
Copy Markdown
Contributor

Design: Keyboard-Driven Row Selection & Range-Copy

Closes #466

Comprehensive UI/UX design adding keyboard-driven row navigation with single/range selection and range-copy to the virtualized Ledger.

Deliverable

designs/keyboard-row-selection-copy/DESIGN.md — 8 sections covering interaction model, visual design, copy functionality, accessibility, implementation details, and edge cases.

Keyboard Shortcuts

Shortcut Action
↑/↓ Navigate rows
Shift+↑/↓ Extend range
Space Toggle row
Ctrl+A Select all
Ctrl+C Copy → TSV
Ctrl+Shift+C Format dialog
Escape Clear
? Help overlay

Highlights

  • Virtualization-safe (selection by row ID, Set-based O(1))
  • Selection toolbar with count + format actions
  • 3 copy formats (TSV, CSV, JSON)
  • 16-item testing checklist
  • WCAG AA + screen reader + focus management

🔄 Stellar Wave 7th Wave

…select and Ctrl+C copy (RevoraOrg#466)

- Change selection model from single row to Set-based multi-select
- Add Shift+click range selection between anchor and clicked row
- Add Ctrl/Cmd+click to toggle individual row selection
- Add Ctrl+C to copy selected rows as TSV (tab-separated values)
- Add Ctrl+A to select all rows on current page
- Add Shift+ArrowUp/Down for keyboard range selection
- Add selection count display with Copy button in toolbar
- Add formatRowForCopy utility to extract text from rendered cells
- Add aria-multiselectable for grid accessibility
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.

[UI/UX Design] Design keyboard-driven row selection and range-copy for the Ledger

1 participant