Skip to content

Accessibility review: comprehensive a11y improvements#82

Merged
brianorwhatever merged 2 commits intomainfrom
a11y/accessibility-review
Feb 8, 2026
Merged

Accessibility review: comprehensive a11y improvements#82
brianorwhatever merged 2 commits intomainfrom
a11y/accessibility-review

Conversation

@krusty-agent
Copy link
Copy Markdown
Collaborator

Accessibility Review (Phase 3)

Comprehensive accessibility audit and fixes across the app. All changes are additive (adding ARIA attributes, labels, roles) — no functional changes.

Changes

Keyboard Navigation

  • Added skip-to-main-content link in App.tsx for keyboard users
  • Added id="main-content" to main element as skip link target

Heading Hierarchy

  • Fixed h2→h1 on Home page ("Your Lists") and PriorityFocus page

Form Labels & Inputs

  • Added <label> (sr-only) + id to AddItemInput
  • Added <label> (sr-only) + id and role="search" to SearchInput
  • Changed SearchInput from type="text" to type="search" for semantics
  • Added label + id to RenameListDialog input
  • Added htmlFor/id pairing to ShareModal invite link input

Dialog Accessibility

  • Added role="dialog", aria-modal, aria-labelledby to RenameListDialog

ARIA States

  • Added aria-expanded to CategoryHeader collapse button
  • Added aria-expanded to ProvenanceSection collapse button
  • Added aria-expanded to VerificationBadge dropdown
  • Added aria-label to Settings toggle switches (dark mode, haptics, notifications)

Screen Reader Support

  • Added aria-label to BatchOperations toolbar buttons
  • Added aria-label to ListCard links for context
  • Added aria-label to tag color picker buttons
  • Added aria-label to collaborator role selector
  • Added aria-label to ProvenanceInfo copy buttons
  • Added role="alert" + aria-live="assertive" to OfflineIndicator

Testing

  • bun run build passes ✅
  • No functional changes — all additions are ARIA attributes and labels

Krusty added 2 commits February 8, 2026 08:06
- Add skip-to-main-content link for keyboard navigation (App.tsx)
- Fix heading hierarchy: h2→h1 on Home and PriorityFocus pages
- Add labels to form inputs: AddItemInput, SearchInput, RenameListDialog, ShareModal invite link
- Add sr-only labels for screen readers on search and add-item inputs
- Add role='search' to search container
- Change search input type from 'text' to 'search' for semantics
- Add role='dialog', aria-modal, aria-labelledby to RenameListDialog
- Add aria-expanded to collapsible sections: CategoryHeader, ProvenanceSection, VerificationBadge
- Add aria-label to toggle switches in Settings (dark mode, haptics, notifications)
- Add aria-label to BatchOperations toolbar buttons (check, uncheck, delete, clear)
- Add aria-label to ListCard links for screen reader context
- Add aria-label to tag color picker buttons
- Add aria-label to collaborator role selector
- Add aria-label to ProvenanceInfo copy buttons
- Add role='alert' and aria-live='assertive' to OfflineIndicator
- Add id='main-content' to main element for skip link target
@brianorwhatever brianorwhatever merged commit d64a11a into main Feb 8, 2026
2 of 3 checks passed
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.

2 participants