Skip to content

Conversation

@ckundo
Copy link
Member

@ckundo ckundo commented Nov 16, 2025

Fixes #46

Changes

  • ✅ Convert expand/collapse divs to <button> elements
  • ✅ Convert dropdown triggers to <button> elements
  • ✅ Convert sortable table headers to use <button> elements
  • ✅ Add aria-expanded, aria-controls, aria-label to expand buttons
  • ✅ Add aria-haspopup, aria-expanded, aria-controls to dropdowns
  • ✅ Change dropdown menu from divs to <ul>/<li> with proper ARIA roles
  • ✅ Add scope="col" to all table headers
  • ✅ Add screen reader only label for expand column
  • ✅ Add .sr-only utility class for screen reader only content
  • ✅ Style buttons to maintain visual appearance
  • ✅ Add proper focus indicators to all interactive elements

WCAG Compliance

2.1.1 Keyboard (Level A) - All functionality must be available from keyboard

Testing

  • Build succeeds
  • All interactive elements are reachable with Tab key
  • Elements can be activated with Enter or Space keys
  • Screen reader announces element purpose and state
  • Visual appearance unchanged
  • Focus indicators visible when navigating with keyboard

Screenshots

Before: Divs with tabindex="-1" - completely inaccessible to keyboard users
After: Semantic buttons with proper ARIA - fully keyboard accessible

- Convert expand/collapse divs to buttons with ARIA attributes
- Convert dropdown triggers to buttons with proper ARIA roles
- Convert sortable table headers to use button elements
- Add aria-expanded, aria-controls, aria-label to expand buttons
- Add aria-haspopup, aria-expanded, aria-controls to dropdowns
- Change dropdown menu from divs to ul/li with proper roles
- Add scope="col" to all table headers
- Add screen reader only label for expand column
- Add .sr-only utility class for screen reader only content
- Style buttons to maintain visual appearance
- Add proper focus indicators to all interactive elements

WCAG: 2.1.1 Keyboard (Level A)

All interactive elements are now keyboard accessible and properly
announced by screen readers.
@ckundo ckundo added bug Something isn't working keyboard Keyboard accessibility issues labels Nov 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working keyboard Keyboard accessibility issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants