fix(ui): resolve additional jsx-a11y violations#11685
fix(ui): resolve additional jsx-a11y violations#11685mikeldking merged 1 commit intoArize-ai:mainfrom
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| <TokenCosts size={props.size} aria-role="button"> | ||
| {props.costTotal} | ||
| </TokenCosts> | ||
| <TokenCosts size={props.size}>{props.costTotal}</TokenCosts> |
There was a problem hiding this comment.
Removed role instead of fixing to valid role attribute
Low Severity
The invalid aria-role="button" was removed entirely instead of being corrected to the valid role="button". The sibling component ExperimentAverageRunTokenCosts uses role="button" on its TokenCosts element for the same pattern (pressable token cost with tooltip). This creates an inconsistency across three nearly identical components — one has the correct role="button" while the other two now have none.
Additional Locations (1)
There was a problem hiding this comment.
good point on consistency
I removed aria-role because it’s invalid, but I didn’t switch to role="button" intentionally. With current lint rules (jsx-a11y), adding role on this element pattern can create new a11y warnings, and I wanted to avoid a superficial role-only fix.
I can take either direction, but I’d prefer to align all related token-cost components in one follow-up pass based on maintainer preference:
- keep role off and rely on the interactive wrapper semantics, or
- move to a fully semantic button-like structure consistently across all of them.
happy to update this PR if you want option 2 now.
mikeldking
left a comment
There was a problem hiding this comment.
@pandego appreciate your focus on a11y. much appreciated


refs #11614
Summary
Second small pass on issue #11614 to reduce a11y lint violations with low-risk, focused fixes.
What changed
Validation
Note
Low Risk
Small, UI-only accessibility attribute changes with minimal behavioral impact (possible minor focus behavior differences in menus).
Overview
Addresses additional
jsx-a11yviolations across the UI.Adds missing accessible labels by providing
titleon the REST/GraphQL docs iframes andalttext on user avatar and span image<img>elements. Removes invalidaria-roleusage from experiment token cost displays and drops redundantautoFocus={false}props from model selection menus.Written by Cursor Bugbot for commit da09b48. This will update automatically on new commits. Configure here.