Skip to content

fix(a11y): give the view switcher and the exit mode real semantics - #17

Merged
devRMA merged 1 commit into
fix/hero-panel-value-overflowfrom
fix/a11y-tabs-and-radio-group
Aug 2, 2026
Merged

fix(a11y): give the view switcher and the exit mode real semantics#17
devRMA merged 1 commit into
fix/hero-panel-value-overflowfrom
fix/a11y-tabs-and-radio-group

Conversation

@devRMA

Copy link
Copy Markdown
Owner

Closes the two blocked items from #13.

The Jornada / Custo da Hora pair swaps the main panel, so it was neither
navigation nor a pair of independent toggles. It is now real links
carrying the view in the query string, marked with aria-current. That
also makes the active tab shareable and bookmarkable - it used to live
in useState - and restores Cmd-click and middle-click.

Reading the view through useSearchParams forces a Suspense boundary, so
the nav and the panel moved into one organism rendered inside it, with
the journey view as the fallback. The prerendered HTML still carries the
whole shell and / stays static.

AUTO/MANUAL was two aria-pressed buttons: assistive tech announced two
independent toggles, with no mutual exclusion, two tab stops and no
arrow-key navigation. Two radios in a fieldset let the platform supply
grouping, aria-checked, arrow keys and the roving tab stop for no JS.
The input covers the label rather than sitting in an sr-only corner, so
the click target matches what is actually visible.

Selectors in both e2e specs follow the new roles.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com


Stack created with GitHub Stacks CLIGive Feedback 💬

@vercel

vercelBot commented Aug 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

ProjectDeploymentActionsUpdated (UTC)
workloadReadyReadyPreviewAug 2, 2026 6:48pm

@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

This comment was marked as resolved.

Closes the two blocked items from #13.
The Jornada / Custo da Hora pair swaps the main panel, so it was neither
navigation nor a pair of independent toggles. It is now real links
carrying the view in the query string, marked with aria-current. That
also makes the active tab shareable and bookmarkable - it used to live
in useState - and restores Cmd-click and middle-click.
Reading the view through useSearchParams forces a Suspense boundary, so
the nav and the panel moved into one organism rendered inside it, with
the journey view as the fallback. The prerendered HTML still carries the
whole shell and / stays static.
AUTO/MANUAL was two aria-pressed buttons: assistive tech announced two
independent toggles, with no mutual exclusion, two tab stops and no
arrow-key navigation. Two radios in a fieldset let the platform supply
grouping, aria-checked, arrow keys and the roving tab stop for no JS.
The input covers the label rather than sitting in an sr-only corner, so
the click target matches what is actually visible.
Selectors in both e2e specs follow the new roles.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@devRMA
devRMAforce-pushed the fix/a11y-tabs-and-radio-group branch from abdebd6 to f5f2f41CompareAugust 2, 2026 18:46
@devRMA
devRMA merged commit c78ccfa into mainAug 2, 2026
4 checks passed
@devRMA
devRMA deleted the fix/a11y-tabs-and-radio-group branch August 2, 2026 19:00
Sign up for freeto 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.

3 participants

@devRMA@codecov-commenter