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
Is your feature request related to a problem? Please describe.
Our icon_tip.tsx file adds a tabindex=0 to the child EuiIcon on line 66. This is causing an accessibility violation in Kibana just now because icons with aria-hidden="true" have a tabindex that allows them to be reached by keyboard focus before the finished icon has been loaded.
Describe the solution you'd like
I'd like to find a way to signal to EuiIconTip that it should not be ARIA hidden by its nature. Maybe we could explicitly set the attribute undefined ?
// If it's an empty icon, or if there is no aria-label, aria-labelledby, or title it gets aria-hidden true
Here's my question for you Trevor - should we really be removing aria-hidden for empty/loading icons, or should we be removing the tabIndex="0"?
The latter feels more true to the intention of hiding icons that have no meaningful context attached, but the former feels more flexible for worst case scenarios, e.g.:
icon is unable to finish loading, due to e.g. internet issues
dev forgets to attach an aria-label but an aria-describedby does exist (thanks to the tooltip) and provides more helpful information than if it was completely hidden to SRs
I talked through this a bit more with @peteharverson in Slack and he helped me think through the above question a bit more. The conclusion we came to was that that not applying aria-hidden to empty icons makes the most sense if a label/title of some sort is being applied - we should always prioritize providing that label to screen reader users.
Is your feature request related to a problem? Please describe.
Our
icon_tip.tsx
file adds atabindex=0
to the child EuiIcon on line 66. This is causing an accessibility violation in Kibana just now because icons witharia-hidden="true"
have atabindex
that allows them to be reached by keyboard focus before the finished icon has been loaded.Describe the solution you'd like
I'd like to find a way to signal to
EuiIconTip
that it should not be ARIA hidden by its nature. Maybe we could explicitly set the attributeundefined
?<EuiToolTip position={position} delay={delay} {...rest}> <EuiIcon + aria-hidden={undefined} tabIndex={0} type={type} color={color} size={size} aria-label={ariaLabel} {...iconProps} /> </EuiToolTip>
Additional context
Kibana is tracking this error in elastic/kibana#172598. There may be others that haven't been discovered yet.
The Buildkite error logs showed this snippet, that suggests the scan is running while icons are not fully loaded:
The text was updated successfully, but these errors were encountered: