Skip to content

Accessibility pass on the dashboard boards #19

Description

@Abhay512

There are two aria-*/role attributes in the entire component tree. The boards are data tables rendered as divs, the meters convey state through colour and width alone, and focus states are mostly browser defaults.

What to do

Pick one board and do it properly — this does not need to land in one PR:

  • Semantic table markup, or role="table" / role="row" / role="cell" where the layout requires divs
  • aria-label on the meters, with the numeric value exposed as text for screen readers
  • Visible focus rings that meet contrast requirements
  • aria-live="polite" on the signal feed so new rows are announced without stealing focus
  • Check that no state is communicated by colour alone

Acceptance

  • At least one board fully addressed
  • Keyboard-only navigation reaches everything interactive
  • No visual regression in either theme
  • npx tsc --noEmit and npm run build clean

Notes

The palette is already colour-vision-deficiency separated — see tailwind.config.ts. Use the theme tokens, never raw hex.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dashboardNext.js terminal interfacegood first issueWell-scoped, self-contained, a great place to starthelp wantedMaintainer would welcome a contributor on this

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions