webui: [ChatFormPickerPopover][a11y] add tabindex and aria-hidden to popover trigger#22699
Open
vignesh191 wants to merge 1 commit intoggml-org:masterfrom
Open
webui: [ChatFormPickerPopover][a11y] add tabindex and aria-hidden to popover trigger#22699vignesh191 wants to merge 1 commit intoggml-org:masterfrom
vignesh191 wants to merge 1 commit intoggml-org:masterfrom
Conversation
ServeurpersoCom
approved these changes
May 5, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Overview
I was using my keyboard to navigate the webUI (
TabandShift+Tab). There was a hidden<button data-slot="popover-trigger">inChatFormPickerPopoverthat you couldn't see, but you could stilltabto it and screen readers would announce it.When
Enteris clicked the popover would seemingly open out of nowhere saying:No MCP resources available. The button has to stick around because bits-ui uses it as the positioning anchor for the popover content, so removing it isn't an option.Adding
tabindex={-1}takes it out of the tab order, andaria-hidden="true"hides it from screen readers. Together, it's now invisible to every keyboard interaction and the a11y tree for screen readers, while still doing its positioning job :)Additional information
You can reproduce this issue in the local Storybook instance:
ChatScreenForm > Default. HitShift+Tab, then hitEnter. checkdocument.activeElementin the console. For keyboard users this behavior is unusual and does not flow naturally through the order of focusable elements.Requirements
webui/repo's structure and made the diff after I picked the most viable fix.