Skip to content

fix: add accessible names to icon-only buttons - #3133

Open
defidough wants to merge 1 commit into
aave:mainfrom
defidough:fix/a11y-icon-button-labels
Open

defidough wants to merge 1 commit into
aave:mainfrom
defidough:fix/a11y-icon-button-labels

Conversation

@defidough

Copy link
Copy Markdown

General Changes

  • Adds translated aria-labels to 10 icon-only IconButtons that screen readers announced as just "button": modal close, clear amount, clear search, mobile search toggle, info tooltip trigger, market favourite star, bridge network switch, migration market menu, and the two explorer links (token contract, bridge tx).
  • The two explorer links sit inside DarkTooltip, which looks like it names them but doesn't: it wraps title in a Box, and MUI only applies title as aria-label when it's a string. They now get the tooltip text as their label.
  • TextWithTooltip gets an optional iconLabel prop (default "More information"), so callers that render a warning icon can name it.
  • Adds a jest guard that fails when an IconButton has no accessible name (a plain MUI Tooltip with a string title counts, since MUI applies it as aria-label; DarkTooltip does not).
  • Regenerated catalogs with pnpm i18n.

Developer Notes

Swap input controls are intentionally untouched. They're tracked in #3100, and the guard lists their exact file:line in KNOWN_UNLABELLED, so whoever fixes #3100 removes those entries, and a new unlabelled button in those files still fails. The guard is a static TypeScript-AST check rather than a render test because lingui macros aren't compiled under the jest transformer. No visual changes.

@vercel

vercel Bot commented Oct 12, 2026

Copy link
Copy Markdown

@defidough is attempting to deploy a commit to the Aave Team on Vercel.

A member of the Team first needs to authorize it.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug: swap token controls are not fully keyboard and screen-reader accessible

1 participant