Altinity / Altinity/altinity-sql-browser

WebKit: Dashboard-tree row Tab-order lands on INPUT/BODY, not pencil/menu

Open
#497 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

inbox
Dominant language
TypeScript
Stars
8
Forks
2
Avg merge
1h 34m
Merged PRs (30d)
6

Description

The gap

tests/e2e/dashboard-tree.spec.js:316 — "Tab walks the row, its chevron and its
trailing actions, each ringed differently" — fails on WebKit on current main
(434643e, the tip after PR #495/#493), independent of any change on this branch.

Expected: ["workspace:sales", "chevron", "pencil", "menu"]
Received: ["workspace:sales", "chevron", "INPUT", "BODY"]

Tab-focus lands on INPUT/BODY instead of the row's pencil/menu trailing
actions on WebKit only; chromium passes the same spec. Reproduced twice,
deterministically (not a timing flake):

npx playwright install chromium webkit   # browsers were not preinstalled
npm run test:e2e -- --project=webkit -g "Tab walks the row"

Why deferred

Surfaced while shipping #466 (tab-close unsaved-change guard), which never
touches dashboard-tree.ts, dialog-shell.ts, or focus/tab-order code.
Confirmed present on a clean main checkout (stashed #466's changes, reran —
same failure), so it predates and is unrelated to that work. Likely connected
to the #429 phase 3 rename-pencil trailing action recently added to the row
(the expected order names pencil/menu — the two newest trailing actions).

Also worth noting for whoever picks this up: CI does not run test:e2e on a
PR (chromium/webkit only run locally), so this has had no green/red signal
since #429 phase 3 merged.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with tests/e2e/dashboard-tree.spec.js:316 and reproduce the failure using the provided WebKit Playwright command. Then inspect dashboard-tree.ts, dialog-shell.ts, and the focus/tab-order code, with the goal that WebKit reports the row, chevron, pencil, and menu sequence without INPUT or BODY.

Written by the indexing model from the issue text.

Assessment

Tech stack
playwright, typescript
Domain
accessibility, frontend, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
70/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.