Skip to content

fix(ui): resolve additional jsx-a11y violations#11685

Merged
mikeldking merged 1 commit intoArize-ai:mainfrom
pandego:fix/11614-jsx-a11y-phase2
Feb 22, 2026
Merged

fix(ui): resolve additional jsx-a11y violations#11685
mikeldking merged 1 commit intoArize-ai:mainfrom
pandego:fix/11614-jsx-a11y-phase2

Conversation

@pandego
Copy link
Contributor

@pandego pandego commented Feb 22, 2026

refs #11614

Summary

Second small pass on issue #11614 to reduce a11y lint violations with low-risk, focused fixes.

What changed

  • Added missing iframe titles on APIs page
  • Added missing img alt text in UserPicture and SpanImage
  • Removed invalid aria-role usage from experiment token cost components
  • Removed explicit autoFocus={false} props in ModelMenu

Validation

  • cd app && pnpm fmt:check
  • cd app && pnpm lint
  • cd app && pnpm typecheck

Note

Low Risk
Small, UI-only accessibility attribute changes with minimal behavioral impact (possible minor focus behavior differences in menus).

Overview
Addresses additional jsx-a11y violations across the UI.

Adds missing accessible labels by providing title on the REST/GraphQL docs iframes and alt text on user avatar and span image <img> elements. Removes invalid aria-role usage from experiment token cost displays and drops redundant autoFocus={false} props from model selection menus.

Written by Cursor Bugbot for commit da09b48. This will update automatically on new commits. Configure here.

@pandego pandego requested a review from a team as a code owner February 22, 2026 18:08
@github-project-automation github-project-automation bot moved this to 📘 Todo in phoenix Feb 22, 2026
@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Feb 22, 2026
@dosubot
Copy link

dosubot bot commented Feb 22, 2026

Related Documentation

Checked 0 published document(s) in 2 knowledge base(s). No updates required.

How did I do? Any feedback?  Join Discord

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

Fix in Cursor Fix in Web

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:

  1. keep role off and rely on the interactive wrapper semantics, or
  2. move to a fully semantic button-like structure consistently across all of them.

happy to update this PR if you want option 2 now.

Copy link
Collaborator

@mikeldking mikeldking left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@pandego appreciate your focus on a11y. much appreciated

@github-project-automation github-project-automation bot moved this from 📘 Todo to 👍 Approved in phoenix Feb 22, 2026
@mikeldking mikeldking merged commit d676e62 into Arize-ai:main Feb 22, 2026
43 of 45 checks passed
@github-project-automation github-project-automation bot moved this from 👍 Approved to ✅ Done in phoenix Feb 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files.

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

2 participants