Skip to content

a11y: aria-live regions and step focus management#89

Merged
ChristopherRotnes merged 1 commit into
masterfrom
a11y/live-regions
May 3, 2026
Merged

a11y: aria-live regions and step focus management#89
ChristopherRotnes merged 1 commit into
masterfrom
a11y/live-regions

Conversation

@ChristopherRotnes
Copy link
Copy Markdown
Owner

Summary

Issues closed

Closes #73, #72

Test plan

  • Screen reader announces "Laster rapport…" when the Report page loads, then announces content when data arrives
  • Screen reader announces recommendation loading and errors in Report
  • Skeleton loaders in History are announced as busy
  • Last-session loading on Home is announced
  • Navigating steps in the logger (Neste / Tilbake) moves focus to the step heading
  • Active step in logger has aria-current="step" (verifiable via browser devtools)

🤖 Generated with Claude Code

- Report.jsx: wrap data loading/error and recs loading/error in
  aria-live="polite" so screen readers hear state changes
- History.jsx: add aria-live + aria-busy to calendar skeleton and
  session accordion skeleton
- Home.jsx: add aria-live + aria-busy to last-session loading indicator
- MuscleMap.jsx: move focus to heading on step change (headingRef +
  useEffect); add role="list"/role="listitem" and aria-current="step"
  to the step progress indicator; wrap upload error in aria-live

Closes #73, #72, #80 (partial)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

As a screen reader user I want loading and error states to be announced automatically so I know when the app is busy or an error occurs

1 participant