The latest updates on your projects. Learn more about Vercel for GitHub.
| Project | Deployment | Actions | Updated (UTC) |
|---|---|---|---|
| dashboard | Preview, Comment | Jun 10, 2026 10:09am |
Every virtualized listing table (Logs, Sessions, Triggers, Users, Auth Configs, Connected Accounts, Support, user-detail tabs) opens its detail view via onRowClick — but the <tr> had no tabIndex, no key handler, and no focus indicator. Keyboard and assistive-technology users could not reach or activate any row. Verified live in production via DOM inspection: tabIndex: -1, role: null on clickable rows.
WCAG 2.1 A failures: 2.1.1 Keyboard, 2.4.7 Focus Visible.
src/components/core/data-table/data-table.tsx, data-row branch only, all conditional on onRowClick:
tabIndex={0} — rows join the tab orderonRowClick(row); preventDefault() stops Space from scrolling the virtualized containerfocus-visible: inset 2px ring outline + bg-muted/50 tint (matches the hover treatment; inset so it isn't clipped by the scroll container)e.target !== e.currentTargetrole="button" — <tr> keeps native row semantics for screen readersRoving tabindex / arrow-key navigation and focus restoration on virtualization — follow-up.
pnpm check passes (oxlint + tsgo + tenant-scope audit)🤖 Generated with Claude Code
The latest updates on your projects. Learn more about Vercel for GitHub.
| Project | Deployment | Actions | Updated (UTC) |
|---|---|---|---|
| dashboard | Preview, Comment | Jun 10, 2026 10:09am |