eschutho opened a new pull request, #41470:
URL: https://github.com/apache/superset/pull/41470
### Summary
- `IconButton` (a `<div role="button">`) had a `label` prop that only
rendered as visible text in a `<span>` but was never wired to `aria-label`, so
screen readers received no accessible name for the control
- Three icon-only call sites (`DeleteComponentButton`, row settings, column
settings) passed no `label` at all, leaving those buttons completely unnamed
for assistive technology
- Adds `aria-label={label}` to the `StyledDiv` in `IconButton` and supplies
a translatable `label` at all three unlabeled call sites
**WCAG 2.1 SC 4.1.2 (Name, Role, Value) — Level A.** Icon-only interactive
elements must have an accessible name; without one, screen reader users
(VoiceOver, NVDA, JAWS) cannot identify what the button does despite being
keyboard-focusable via `tabIndex={0}`.
### Files changed
| File | Change |
|------|--------|
| `dashboard/components/IconButton.tsx` | Add `aria-label={label}` to
`<StyledDiv>` |
| `dashboard/components/DeleteComponentButton.tsx` | Add `label={t('Delete
component')}` |
| `dashboard/components/gridComponents/Row/Row.tsx` | Add `label={t('Row
settings')}` |
| `dashboard/components/gridComponents/Column/Column.tsx` | Add
`label={t('Column settings')}` |
### Test plan
- [ ] Open a dashboard in edit mode
- [ ] Tab to the Delete, Row settings, and Column settings buttons
- [ ] Verify a screen reader announces their labels (VoiceOver: VO+Space on
macOS; NVDA: browse mode on Windows)
- [ ] Verify buttons still function correctly on click
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]