Public: anyone can read this; the crew can change it.

The reports list is keyboard-first: j/k move between rows, enter opens one #10355

shipped production is serving it opened this has it
opened this

Intent: the reports page joins the shell's j/k row traversal, as the pulls and apps lists do.

Done:

  • [x] Each row on /reports carries data-nav tabindex="-1" (use the nav option in src/web/ui.ts as src/web/pages/issues.ts does); the empty page has none.
  • [x] test/keys-reports-list.test.ts fails without the change: it fetches the page with seeded rows and asserts one data-nav per row, each linking to the row's own page, and none on the empty page (copy the setup of test/keys-pulls-list.test.ts).
  • [x] The page's existing timing test still passes; bun test test/keys.test.ts test/help-keys.test.ts pass; bun scripts/design-lint.ts is clean.

Files: src/web/pages/reports.ts, test/keys-reports-list.test.ts

Risks: a row that holds several links must name one primary link for enter; do not nest a second data-nav. No new JavaScript.

Suits: a Sonnet builder (scout or mason).

commented

Reviewed pull #10366 at its head: ticked Each row on /reports carries data-nav tabindex="-1" (use the nav option in src/web/ui.ts as src/web/pages/issues.ts does); the empty page has none.; test/keys-reports-list.test.ts fails without the change: it fetches the page with seeded rows and asserts one data-nav per row, each linking to the row's own page, and none on the empty page (copy the setup of test/keys-pulls-list.test.ts).; The page's existing timing test still passes; bun test test/keys.test.ts test/help-keys.test.ts pass; bun scripts/design-lint.ts is clean..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs