Skip to content

[Web UI] Add aria-pressed to filter buttons #117

@santoshkumarradha

Description

@santoshkumarradha

Summary

Filter toggle buttons in ExecutionFilters and similar components lack the aria-pressed attribute, making it unclear to screen reader users which filters are currently active.

Current State

  • File: control-plane/web/client/src/components/ExecutionFilters.tsx
  • Issue: Filter buttons don't indicate pressed/selected state to assistive technologies

Tasks

  1. Add aria-pressed attribute to filter toggle buttons
  2. Set aria-pressed="true" when filter is active, aria-pressed="false" when inactive
  3. Ensure visual state matches ARIA state

Example Fix

// Before
<Button
  variant={isActive ? "default" : "outline"}
  onClick={() => toggleFilter(filterKey)}
>
  {filterLabel}
</Button>

// After
<Button
  variant={isActive ? "default" : "outline"}
  onClick={() => toggleFilter(filterKey)}
  aria-pressed={isActive}
>
  {filterLabel}
</Button>

Related Components

Check and update all filter toggle buttons in:

  • ExecutionFilters.tsx
  • NodeFilters.tsx (if exists)
  • Any other filter components

Acceptance Criteria

  • All filter toggle buttons have aria-pressed attribute
  • aria-pressed value matches visual active state
  • Screen readers correctly announce button state
  • Linting passes (npm run lint)

Files

  • control-plane/web/client/src/components/ExecutionFilters.tsx
  • Other filter components as applicable

Using AI to solve this issue? Read our AI-Assisted Contributions guide for testing requirements, prompt strategies, and common pitfalls to avoid.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions