Skip to content

feat: OnboardingTour with WCAG 2.1 AA keyboard focus outlines (FWC26) - #820

Open
Legit003 wants to merge 1 commit into
CalloraOrg:mainfrom
Legit003:feat/onboarding-tour-focus-a11y
Open

feat: OnboardingTour with WCAG 2.1 AA keyboard focus outlines (FWC26)#820
Legit003 wants to merge 1 commit into
CalloraOrg:mainfrom
Legit003:feat/onboarding-tour-focus-a11y

Conversation

@Legit003

Copy link
Copy Markdown
  • Add src/pages/OnboardingTour.tsx: 5-step guided tour with full keyboard accessibility (WAI-ARIA tabs pattern, skip link, focus management, arrow-key navigation, completion screen)
  • Add src/pages/OnboardingTour.test.tsx: 48 tests covering rendering, button/keyboard navigation, skip link, completion screen, ARIA attributes, and focus.css @layer contract
  • Update src/styles/focus.css: add :focus-visible rules for all 6 OnboardingTour interactive element classes inside @layer focus (.onboarding-tour__skip, .tour-step-tab, .onboarding-tour__panel, .tour-nav-button, .tour-done-button, .tour-restart-link) plus a catch-all .onboarding-tour *:focus-visible belt-and-braces rule
  • Register /onboarding-tour route in src/App.tsx

WCAG 2.1 AA compliance:
2.1.1 Keyboard: every interactive element reachable by keyboard alone 2.4.7 Focus Visible: 2px solid var(--accent) ring on :focus-visible 1.4.11 Non-text Contrast: accent token clears 3:1 on both themes 4.1.2 Name/Role/Value: role=tablist/tab/tabpanel, aria-selected, aria-controls, aria-live=polite, explicit aria-labels

Closes #739

- Add src/pages/OnboardingTour.tsx: 5-step guided tour with full
  keyboard accessibility (WAI-ARIA tabs pattern, skip link, focus
  management, arrow-key navigation, completion screen)
- Add src/pages/OnboardingTour.test.tsx: 48 tests covering rendering,
  button/keyboard navigation, skip link, completion screen, ARIA
  attributes, and focus.css @layer contract
- Update src/styles/focus.css: add :focus-visible rules for all 6
  OnboardingTour interactive element classes inside @layer focus
  (.onboarding-tour__skip, .tour-step-tab, .onboarding-tour__panel,
  .tour-nav-button, .tour-done-button, .tour-restart-link) plus a
  catch-all .onboarding-tour *:focus-visible belt-and-braces rule
- Register /onboarding-tour route in src/App.tsx

WCAG 2.1 AA compliance:
  2.1.1 Keyboard: every interactive element reachable by keyboard alone
  2.4.7 Focus Visible: 2px solid var(--accent) ring on :focus-visible
  1.4.11 Non-text Contrast: accent token clears 3:1 on both themes
  4.1.2 Name/Role/Value: role=tablist/tab/tabpanel, aria-selected,
        aria-controls, aria-live=polite, explicit aria-labels

Closes #FWC26-onboarding-tour
@drips-wave

drips-wave Bot commented Jul 28, 2026

Copy link
Copy Markdown

@Legit003 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

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.

Add visible focus-visible outline on OnboardingTour interactive elements [b#062]

1 participant