Skip to content

Add ARIA labels to all icon-only buttons for screen reader accessibility #2129

@georgi

Description

@georgi

Problem

Many IconButton components lack aria-label attributes, making them inaccessible to screen readers. Users who rely on assistive technology cannot understand what these buttons do.

What to do

  1. Search for all <IconButton components in web/src/ that don't have an aria-label prop
  2. Add a descriptive aria-label to each one (e.g. aria-label="Close", aria-label="Delete item", aria-label="Toggle settings")
  3. Also check for <button> elements that only contain an icon (no text) — these need labels too
  4. Ensure interactive elements that look like buttons use <button> or have role="button" + tabIndex={0} + keyboard handlers

Guidelines

  • Labels should be concise and action-oriented
  • Use the button's actual function, not the icon name (e.g. "Close dialog" not "X icon")
  • Don't add labels to buttons that already have visible text

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions