Accessibility: icon-only buttons missing aria-label across asset and library screens #126

Closed
opened 2026-05-26 18:22:16 -04:00 by zgaetano · 1 comment
Owner

Fixed in 04ce096. Icon-only buttons across asset detail, library, projects, schedule, admin, settings, and editor screens now carry descriptive aria-label attributes (Close, More actions, Project actions, User actions, Asset actions, Play/Pause, Toggle mute, Toggle fullscreen, Show/Hide password, Sign out, Remove member, Create bin, Delete recorder, Previous/Next day, Toggle sidebar, etc.).

Fixed in 04ce096. Icon-only buttons across asset detail, library, projects, schedule, admin, settings, and editor screens now carry descriptive `aria-label` attributes (Close, More actions, Project actions, User actions, Asset actions, Play/Pause, Toggle mute, Toggle fullscreen, Show/Hide password, Sign out, Remove member, Create bin, Delete recorder, Previous/Next day, Toggle sidebar, etc.).
Author
Owner

Fix Plan — #126 Icon-only buttons missing aria-label

Root cause: Icon-only <button className="icon-btn"> elements have no aria-label or title. Screen readers announce "button" with no context.

Locations: screens-asset.jsx:329,344,482, screens-library.jsx:349,617.

Fix — add aria-label to every icon-only button:

// before:
<button className="icon-btn" onClick={handleDelete}><TrashIcon /></button>

// after:
<button className="icon-btn" onClick={handleDelete} aria-label="Delete asset"><TrashIcon /></button>

Audit all <button> elements — if no text content, must have aria-label.

Files: screens-asset.jsx, screens-library.jsx
Effort: ~30min
**Priority: P3 — accessibility

## Fix Plan — #126 Icon-only buttons missing aria-label **Root cause:** Icon-only `<button className="icon-btn">` elements have no `aria-label` or `title`. Screen readers announce "button" with no context. **Locations:** `screens-asset.jsx:329,344,482`, `screens-library.jsx:349,617`. **Fix — add aria-label to every icon-only button:** ```js // before: <button className="icon-btn" onClick={handleDelete}><TrashIcon /></button> // after: <button className="icon-btn" onClick={handleDelete} aria-label="Delete asset"><TrashIcon /></button> ``` Audit all `<button>` elements — if no text content, must have `aria-label`. **Files:** `screens-asset.jsx`, `screens-library.jsx` **Effort:** ~30min **Priority: P3 — accessibility
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: WildDragonLLC/dragonflight#126
No description provided.