Skip to content

Add tabnav arrow-key navigation #731

Description

@Baskarayelu

Summary

Left/Right to move tabs, Home/End to jump to ends.

Background

Users who navigate with assistive technology (screen readers, keyboard-only, voice control, high-contrast modes) cannot fully use this surface today. The change should bring the behaviour in line with WCAG 2.1 AA and our internal accessibility checklist.

Acceptance criteria

  • The change matches the summary above.
  • Axe report attached to the PR shows zero violations on the affected route.
  • Keyboard-only walkthrough recorded or described in the PR description.
  • Lint, type-check, and tests all pass locally.
  • PR description references this issue with Closes #<this-issue>.

Implementation hints

  • Verify with at least one screen reader (VoiceOver on macOS / NVDA on Windows / TalkBack on Android).
  • Verify keyboard-only operation: every interactive element must be reachable and operable without a pointer.
  • Verify colour contrast meets WCAG AA (4.5:1 for text, 3:1 for UI components and graphical objects).
  • Run axe (Playwright @axe-core/playwright or DevTools) on the affected route and attach the report to the PR.

Repo-specific notes

  • Run npm run lint, npm run build, and the unit tests locally before pushing.
  • If you change a public component prop, update the matching Storybook story and the docs/COMPONENTS.md entry.
  • Respect the design tokens (CSS variables / Tailwind config); do not hard-code colours, spacing, or radii.

Out of scope

  • Unrelated refactors in adjacent files.
  • Stylistic-only changes (formatting, renaming) that are not required by the fix.
  • Anything beyond the acceptance criteria above; surface follow-ups as separate issues.

How to claim and submit

  1. Comment on this issue saying you'd like to take it on; wait for a maintainer to assign you (avoids duplicated effort).
  2. Open a PR that references this issue (Closes #<this-issue>).
  3. Make sure CI is green and request review from a CODEOWNERS maintainer.
  4. PRs that close this issue and pass review may qualify for a reward — see the MAYBE REWARDED label and the GrantFox OSS campaign page.

Category: accessibility  ·  Campaign: GrantFox OSS · Official Campaign · Maybe Rewarded

Metadata

Metadata

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions