Skip to content

fix(ui): replace Popover with Tooltip on disabled Register model button to fix focus trap#2817

Open
Philip-Carneiro wants to merge 1 commit into
kubeflow:mainfrom
Philip-Carneiro:fix/a11y-register-model-focus-trap
Open

fix(ui): replace Popover with Tooltip on disabled Register model button to fix focus trap#2817
Philip-Carneiro wants to merge 1 commit into
kubeflow:mainfrom
Philip-Carneiro:fix/a11y-register-model-focus-trap

Conversation

@Philip-Carneiro

@Philip-Carneiro Philip-Carneiro commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Description

Fixes an accessibility (a11y) regression on the Model Catalog Details page where keyboard focus (Tab) gets trapped on the disabled "Register model" button.
Root cause: The Popover component with triggerAction="hover" combined with isAriaDisabled on the button causes PatternFly's internal focus management to trap the Tab cycle, preventing users from navigating past the button.
Fix: Replace Popover with Tooltip for the disabled "Register model" button. The Tooltip provides the same hover information without interfering with keyboard focus management. The Popover used for the "Validated" label is unaffected and remains unchanged.

Before

Screen.Recording.2026-06-11.at.14.23.19.mov

After

Screen.Recording.2026-06-11.at.14.21.44.mov

How Has This Been Tested?

It was manually tested as the video sample and added tests in cypress for it

Merge criteria:

  • All the commits have been signed-off (To pass the DCO check)
  • The commits have meaningful messages
  • Automated tests are provided as part of the PR for major new functionalities; testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has manually tested the changes and verified that the changes work.
  • Code changes follow the kubeflow contribution guidelines.
  • For first time contributors: Please reach out to the Reviewers to ensure all tests are being run, ensuring the label ok-to-test has been added to the PR.

If you have UI changes

  • The developer has added tests or explained why testing cannot be added.
  • Included any necessary screenshots or gifs if it was a UI change.
  • Verify that UI/UX changes conform the UX guidelines for Kubeflow.

Signed-off-by: Philip Colares Carneiro <philip.colares@gmail.com>
@google-oss-prow google-oss-prow Bot requested review from chambridge and fege June 11, 2026 13:27
@google-oss-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign ppadti for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@Philip-Carneiro

Copy link
Copy Markdown
Contributor Author

/retest

cy.findAllByText('N/A').should('have.length.at.least', 1);
});

it('should show disabled register button with tooltip when no model registries exist', () => {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

can we add a cy.testA11y() to double check all accessibility violations are gone?

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants