Skip to content

[Web UI] Add ARIA labels to NodeCard component #109

@santoshkumarradha

Description

@santoshkumarradha

Summary

The NodeCard component displays agent node information with status icons and badges that lack proper ARIA labels, making them inaccessible to screen reader users.

Current State

  • File: control-plane/web/client/src/components/NodeCard.tsx
  • Issue: State icons/badges have no screen reader text

Tasks

  1. Add aria-label to status indicator icons
  2. Add screen reader text for status badges
  3. Ensure interactive elements have proper labels
  4. Add role attributes where appropriate

Examples of Needed Changes

// Before
<StatusIcon status={node.status} />

// After
<StatusIcon 
  status={node.status} 
  aria-label={`Node status: ${node.status}`}
/>
// Before
<Badge variant="success">Online</Badge>

// After
<Badge variant="success" aria-label="Node is online">Online</Badge>

Acceptance Criteria

  • All status icons have descriptive aria-label attributes
  • Status badges have screen reader accessible text
  • Component can be navigated with keyboard
  • Linting passes (npm run lint)

Files

  • control-plane/web/client/src/components/NodeCard.tsx

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

No one assigned

    Labels

    accessibilityWeb UI accessibility improvementsarea:web-uiReact web UI functionalitygood first issueGood for newcomershelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions