-
Notifications
You must be signed in to change notification settings - Fork 698
CONSOLE-4447: Migrate topology, helm, and metal3 modals to PatternFly v6 #16080
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
openshift-merge-bot
merged 2 commits into
openshift:main
from
rhamilto:CONSOLE-4447-topology-helm-metal
Mar 13, 2026
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
19 changes: 1 addition & 18 deletions
19
...ckages/topology/integration-tests/support/pages/export-application/export-applications.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🌐 Web query:
PatternFly v6 Modal aria-labelledby ModalHeader accessibility💡 Result:
In PatternFly v6, the modal’s accessible name comes from either:
titleon<Modal>(PatternFly will auto-setaria-labelledbyfor you), oraria-labelledbyon<Modal>that points at the ID of the element that visually labels the modal—this is required when you use a custom header / theheaderapproach instead oftitle. [1]With the v6 React subcomponents, that typically means:
<ModalHeader labelId="my-modal-title" ... /><Modal aria-labelledby="my-modal-title" ... />(you can include multiple IDs if needed). [1][2]Example:
Notes:
aria-labelon<Modal>instead. [1]<ModalHeader descriptorId="..." />, the modal’saria-describedbyshould match thatdescriptorId(or the relevant header ID), per the docs. [2]Sources: PatternFly Modal accessibility + props documentation. [1][2]
References:
[1] PatternFly Modal – Accessibility (aria-labelledby requirements; title auto-wiring) https://www.patternfly.org/components/modal/accessibility/
[2] PatternFly Modal – React props (Modal
aria-labelledby; ModalHeaderlabelId/descriptorId) https://www.patternfly.org/components/modal/🌐 Web query:
PatternFly v6 Modal accessibility best practices ARIA attributes💡 Result:
PatternFly v6 Modal: accessibility + ARIA best practices
Required / expected ARIA on the modal container
role="dialog"on the modal container (.pf-v6-c-modal-box). [1]aria-modal="true"on the modal container. (PatternFly marks this as required for its HTML modal.) [1]Give the modal an accessible name (required)
Use one of:
aria-labelledby="ID_OF_VISIBLE_TITLE"(recommended when you have a visible title). [1]aria-label="Text title"if there is no visible text title. [1]PatternFly React props that map to this
title(automatically setsaria-labelledby) oraria-labelledby(if you provide a custom header), oraria-label(if no visible title). [1]Provide an accessible description (recommended when there’s static “primary message” text)
aria-describedby="ID_OF_PRIMARY_CONTENT"pointing to the element that describes the modal’s purpose/message. [1], [2]PatternFly React prop
aria-describedby. [1]Close control (required)
aria-label="Close"). [1]Make the background inert + trap focus (required behavior for a modal)
aria-hidden="true"on the parent wrapper of the page content (with the modal rendered outside that wrapper as a sibling), so screen readers can’t navigate the background. [1], [3]aria-modal="true", ensure the dialog actually behaves modally (no background interaction), per ARIA practices guidance. [2]PatternFly React prop
disableFocusTrapunless you implement your own focus management correctly. [1]If the modal body scrolls (overflow)
aria-label="…",role="region"(typical), andtabindex="0"when the body is scrollable. [1]PatternFly React props
bodyAriaLabel(and optionallybodyAriaRole). [1]🏁 Script executed:
Repository: openshift/console
Length of output: 149
🏁 Script executed:
Repository: openshift/console
Length of output: 1935
Add
aria-labelledbyto Modal; PatternFly v6 does NOT auto-associate customModalHeaderwith the modal's accessible name.When using a custom
<ModalHeader>composition (rather than Modal'stitleprop), you must explicitly setaria-labelledbyon<Modal>pointing to thelabelIdon<ModalHeader>. Currently, the modal has no accessible name, so screen readers won't announce the README title on open.Update
HelmReadmeModalto accept and pass the title ID:Alternatively, simplify by moving the title to Modal's
titleprop (PatternFly auto-wires aria-labelledby for you).🤖 Prompt for AI Agents