Skip to content

feat(web): keyboard and length slider, the last area of Phase 7b (D251) - #179

Merged
allisson merged 1 commit into
mainfrom
feat/7b-keyboard
Nov 12, 2026
Merged

allisson merged 1 commit into
mainfrom
feat/7b-keyboard

Conversation

@allisson

Copy link
Copy Markdown
Owner

The last area of Phase 7b (D244): keyboard and the generator's length slider.

What changes

  • List: with the focus on an item, ↓ or J moves to the next item and ↑ or K to the one before, with no modifier. Past the last item the focus stays; above the first it goes to the search. The keys move the focus only: Enter opens the item. A row's Copy is still reached with Tab.
  • Search: ↓ moves to the first item shown; Esc clears a non-empty search in every browser and keeps the focus there. The search's hint says both.
  • Editor: Ctrl/⌘+Enter saves from any field, the notes included, through the same validation as Save; never while the discard dialog is open or a save runs. Save declares it in aria-keyshortcuts and its tooltip.
  • Generator: a range slider from 12 to 128 beside the length field, both setting the same length; autocomplete="off" and no spellcheck, like every control (D174, D176).
  • Declared shortcuts: the movement keys are not declared on each row, where a screen reader would read them on every item; the search's hint says them instead (D251).

Tests

  • shortcuts.test.ts: the movement keys and the save shortcut, with their modifiers.
  • keyboard.spec.ts: a new D251 test: Ctrl/⌘+Enter from the notes, ↓/J/↑/K through the list and back to the search, Esc, and the slider and field in step.
  • pnpm run ci green. Playwright on Chromium, Firefox and WebKit: the full run gave 526 passed, 23 skipped, 6 failed. form-history.spec.ts caught the slider without autocomplete="off" (fixed); the other three were WebKit runs of pairing.spec.ts and storage-state.spec.ts. After the fix, form-history, keyboard, storage-state and the failed pairing test passed 36 of 36.

Docs

  • docs/overview.md: D251.
  • docs/roadmap.md: the keyboard task ticked.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@allisson
allisson merged commit 1d09711 into main Nov 12, 2026
7 checks passed
@allisson
allisson deleted the feat/7b-keyboard branch November 12, 2026 14:56
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.

1 participant