Skip to content

fix(a11y): label filter rows as radiogroups with visible prefix and aria-checked#14

Merged
nokternol merged 1 commit into
mainfrom
fix/a11y-filter-radiogroup
Mar 8, 2026
Merged

fix(a11y): label filter rows as radiogroups with visible prefix and aria-checked#14
nokternol merged 1 commit into
mainfrom
fix/a11y-filter-radiogroup

Conversation

@nokternol

Copy link
Copy Markdown
Owner

Summary

Follow-up to #13 addressing review feedback on the filter row UX and accessibility.

  • Type and status filter rows had no visible label — users couldn't tell what they filtered
  • Buttons behaved as exclusive single-select but had no ARIA role to communicate this to screen readers

Changes:

  • Wrap each row in role="radiogroup" with aria-label="Type" / aria-label="Status"
  • Add role="radio" + aria-checked to each option button
  • Add visible "Type" / "Status" label span as first child of each row
  • Update tests to query by radiogroup/radio role (cleaner than the aria-label hack added previously)

Test plan

  • CI quality gate green
  • bash scripts/check.sh passes (7/7)
  • Browse page visually shows "Type" and "Status" prefix labels
  • Screen reader announces options as radio buttons with selection state

🤖 Generated with Claude Code

…ria-checked

Type and status filter rows on the browse page used plain <button> elements
with no visible label, making them ambiguous and inaccessible. Screen readers
announced options as generic buttons with no selection state.

- Wrap each filter row in role="radiogroup" with aria-label="Type"/"Status"
- Add role="radio" + aria-checked to each option button
- Add visible "Type" / "Status" label span as first child of each row
- Update tests to query by radiogroup/radio role instead of aria-label hack

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@nokternol nokternol merged commit a7430c5 into main Mar 8, 2026
3 checks passed
@nokternol nokternol deleted the fix/a11y-filter-radiogroup branch March 8, 2026 21:01
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.

1 participant