You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When navigating EuiSelectable with searchable in screen readers, the search input is not announced while it is focused. This results in the user not having information about the element.
The search input has a hint text applied in code (code), but it's not read out. This is because the activeOptionIndex that's set on onFocus (code) populates the aria-describedby which controls the screen reader navigation/focus for listboxes. Instead of the search input that's focused, the active option will be focused and read by the screen reader. The input is skipped.
It seems like we need to change when the activeOptionIndex is set to ensure the search input is focusable standalone.
⚠️ Ensure to test the update in Kibana to understand potential test case failures.
Impact and severity
Medium - High: The component is functional but semantically it's not correct and creates confusion for screen reader users. Basically the input element is invisible due to it not being announced.
Reported by @jorgeoliveira117
Related Kibana issue: elastic/kibana#219240
Description
When navigating
EuiSelectablewithsearchablein screen readers, the search input is not announced while it is focused. This results in the user not having information about the element.The search input has a hint text applied in code (code), but it's not read out. This is because the
activeOptionIndexthat's set ononFocus(code) populates thearia-describedbywhich controls the screen reader navigation/focus for listboxes. Instead of the search input that's focused, the active option will be focused and read by the screen reader. The input is skipped.It seems like we need to change when the
activeOptionIndexis set to ensure the search input is focusable standalone.Impact and severity
Medium - High: The component is functional but semantically it's not correct and creates confusion for screen reader users. Basically the input element is invisible due to it not being announced.
Minimum reproducible sandbox
https://eui.elastic.co/next/docs/components/forms/selection/selectable/#searchable
To Reproduce
EuiSelectablewithsearchable=trueScreen.Recording.2025-10-30.at.15.28.39.mov
Expected behavior
The search input is focusable by screen reader navigation and read out with all its semantic information.
Screen.Recording.2025-10-28.at.17.48.24.mov