Skip to content

Accessibility: color-only status indicators and missing ARIA labels throughout UI#16

Open
Ghvstcode wants to merge 1 commit intomainfrom
sustn/accessibility-color-only-status-indicators-and-missing-aria
Open

Accessibility: color-only status indicators and missing ARIA labels throughout UI#16
Ghvstcode wants to merge 1 commit intomainfrom
sustn/accessibility-color-only-status-indicators-and-missing-aria

Conversation

@Ghvstcode
Copy link
Copy Markdown
Owner

SUSTN Auto-PR

Several UI components rely on color alone to convey state, which is inaccessible to colorblind users:

  1. AiStatusCard.tsx: Budget bar uses red/amber/default colors with no text or icon alternative
  2. TaskRow.tsx: Task state badges use color-coded backgrounds without sufficient contrast or alternative indicators
  3. ProjectItem.tsx: Red dot notification indicator is purely visual

Additionally, many interactive elements lack ARIA labels:

  1. AgentControls.tsx: Icon-only buttons have title but no aria-label
  2. TaskRow.tsx: State toggle button lacks aria-label
  3. SchedulingSection.tsx: Time inputs lack associated <label> elements
  4. BudgetSection.tsx: Slider has no aria-label explaining the value range
  5. ProjectList.tsx: Uses <div> instead of <ul>/<li> for list semantics

Fix:

  • Add text labels or icons alongside color indicators
  • Add aria-label to all icon-only buttons
  • Use semantic HTML (<ul>, <li>, <label>) for lists and forms
  • Add aria-valuenow, aria-valuemin, aria-valuemax to budget progress bars
  • Test with VoiceOver (macOS) to verify screen reader experience

Branch: sustn/accessibility-color-only-status-indicators-and-missing-aria

Several UI components relied on color alone to convey state, which is
inaccessible to colorblind users and screen reader users. This commit
addresses accessibility gaps across the component tree.

- AiStatusCard: add progressbar role with aria-valuenow/min/max to
  budget bar; show "Critical" / "Low" text labels alongside color
- TaskRow: add aria-label to all state toggle buttons (pending,
  in_progress, review, done, dismissed), drag handle, edit, and
  comment buttons
- ProjectItem: add sr-only text for the red notification dot so
  screen readers announce "Has tasks awaiting review"
- AgentControls: add aria-label to the icon-only pause/resume button
- SchedulingSection: wrap time inputs in <label> elements with
  sr-only text ("Start time" / "End time")
- BudgetSection: add aria-label to the budget ceiling slider
- ProjectList: convert project list from <div> to <ul>/<li> with
  aria-label for proper list semantics

SUSTN-Task: 631e29c5-0740-4528-b5ab-b8093031a9e4
@vercel
Copy link
Copy Markdown

vercel bot commented Apr 12, 2026

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

Project Deployment Actions Updated (UTC)
sustn Ready Ready Preview, Comment Apr 12, 2026 9:14pm

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