-
Notifications
You must be signed in to change notification settings - Fork 8.5k
Fix violations of the @elastic/eui/tooltip-focusable-anchor ESLint rule
#236721
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
Conversation
e9381dc to
32ae83f
Compare
|
Pinging @elastic/kibana-accessibility (Project:Accessibility) |
kc13greiner
left a comment
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.
LGTM! Just one question
| {option.value?.description ? ( | ||
| <EuiToolTip position="left" content={option.value?.description}> | ||
| <EuiText size="s">{option.label}</EuiText> | ||
| <EuiText size="s" tabIndex={0}> |
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.
I'm unsure about this one: these are options in the combo box, the arrow keys are used to navigate through them. When I tab, it just skips over it.
Is there a different attribute that could be added?
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.
@kc13greiner Yeah... you've found another case of unusual component usage =) I'll take a look at the options how we can deal with similar cases tomorrow morning.
|
@elastic/kibana-core, @elastic/obs-ux-management-team, @elastic/stack-monitoring, @elastic/workflows-eng, @tomsonpl please review |
|
@elastic/obs-ux-management-team, @elastic/stack-monitoring, @elastic/workflows-eng, @tomsonpl please review |
consulthys
left a comment
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.
LGT Stack Monitoring
Thanks for the work!
💛 Build succeeded, but was flaky
Failed CI StepsTest Failures
Metrics [docs]Async chunks
Page load bundle
History
|
skynetigor
left a comment
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.
LGTM
|
Starting backport for target branches: 9.1, 9.2 https://github.com/elastic/kibana/actions/runs/18374673215 |
…rule (elastic#236721) Closes: elastic#204767 Closes: elastic#221091 **Summary** This PR fixes accessibility violations related to EuiTooltip usage across the codebase. **Details** 1. Ensures that all `EuiTooltip` components are anchored to elements that can receive keyboard focus. 2. Added `tabIndex={0}` to non-interactive elements (e.g., `span`, `EuiText`) used as tooltip anchors so they are keyboard-focusable. **Why** Tooltips anchored to non-focusable elements were not accessible to keyboard users. These changes improve compliance with accessibility guidelines and ensure a better experience for all users. **More context** Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint. See elastic/eui#9051 for more details --------- Co-authored-by: kibanamachine <[email protected]> (cherry picked from commit 7088e5c)
💔 Some backports could not be created
Note: Successful backport PRs will be merged automatically after passing CI. Manual backportTo create the backport manually run: Questions ?Please refer to the Backport tool documentation |
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
…rule (elastic#236721) Closes: elastic#204767 Closes: elastic#221091 **Summary** This PR fixes accessibility violations related to EuiTooltip usage across the codebase. **Details** 1. Ensures that all `EuiTooltip` components are anchored to elements that can receive keyboard focus. 2. Added `tabIndex={0}` to non-interactive elements (e.g., `span`, `EuiText`) used as tooltip anchors so they are keyboard-focusable. **Why** Tooltips anchored to non-focusable elements were not accessible to keyboard users. These changes improve compliance with accessibility guidelines and ensure a better experience for all users. **More context** Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint. See elastic/eui#9051 for more details --------- Co-authored-by: kibanamachine <[email protected]> (cherry picked from commit 7088e5c) # Conflicts: # src/platform/packages/private/kbn-index-editor/src/components/file_clashes.tsx # src/platform/packages/private/kbn-index-editor/src/components/flyout_content.tsx # src/platform/packages/shared/kbn-apm-ui-shared/src/components/timestamp/index.tsx # src/platform/packages/shared/kbn-unified-field-list/src/components/field_stats/field_top_values_bucket.tsx # src/platform/plugins/shared/data/public/search/session/sessions_mgmt/components/table/columns/get_columns.tsx # src/platform/plugins/shared/workflows_management/public/components/workflows_empty_state/workflows_empty_state.tsx # x-pack/platform/plugins/shared/index_management/public/application/components/mappings_editor/components/document_fields/fields/fields_list_item.tsx # x-pack/platform/plugins/shared/ingest_pipelines/public/application/sections/pipelines_list/flyout_content/details_panel.tsx # x-pack/platform/plugins/shared/ingest_pipelines/public/application/sections/pipelines_list/table.tsx # x-pack/platform/plugins/shared/streams_app/public/components/data_management/schema_editor/field_status.tsx # x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_enrichment/processors/processor_metrics.tsx # x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_management/classic.tsx # x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_management/wired.tsx # x-pack/platform/plugins/shared/streams_app/public/components/data_management/stream_detail_routing/idle_routing_stream_entry.tsx # x-pack/solutions/observability/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfall/badge/sync_badge.tsx # x-pack/solutions/observability/plugins/apm/public/components/shared/trace_waterfall/bar_details.tsx # x-pack/solutions/observability/plugins/observability/common/components/elapsed_timestamp_tooltip.tsx # x-pack/solutions/security/packages/kbn-cloud-security-posture/public/src/components/fleet_extensions/common.tsx # x-pack/solutions/security/plugins/security_solution/public/management/components/console_argument_selectors/custom_scripts_selector/custom_script_selector.tsx # x-pack/solutions/security/plugins/security_solution/public/management/components/console_argument_selectors/pending_actions_selector/pending_actions_selector.tsx # x-pack/solutions/security/plugins/security_solution/public/reports/components/ai_value/compare_percentage_badge.tsx
…SLint rule (#236721) (#238227) # Backport This will backport the following commits from `main` to `9.2`: - [Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint rule (#236721)](#236721) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Alexey Antonov","email":"[email protected]"},"sourceCommit":{"committedDate":"2025-10-09T11:21:50Z","message":"Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint rule (#236721)\n\nCloses: https://github.com/elastic/kibana/issues/204767\nCloses: https://github.com/elastic/kibana/issues/221091\n\n**Summary**\n\nThis PR fixes accessibility violations related to EuiTooltip usage\nacross the codebase.\n\n**Details**\n\n1. Ensures that all `EuiTooltip` components are anchored to elements\nthat can receive keyboard focus.\n2. Added `tabIndex={0}` to non-interactive elements (e.g., `span`,\n`EuiText`) used as tooltip anchors so they are keyboard-focusable.\n\n**Why**\n\nTooltips anchored to non-focusable elements were not accessible to\nkeyboard users. These changes improve compliance with accessibility\nguidelines and ensure a better experience for all users.\n\n**More context**\nFix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint.\nSee elastic/eui#9051 for more details\n\n---------\n\nCo-authored-by: kibanamachine <[email protected]>","sha":"7088e5c0994a2206251cc55ad8abf684797cdcde","branchLabelMapping":{"^v9.3.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Project:Accessibility","release_note:skip","Team:Fleet","ci:project-deploy-observability","Team:obs-ux-infra_services","Team:obs-ux-management","backport:version","v9.2.0","v9.1.5","v9.3.0"],"title":"Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint rule","number":236721,"url":"https://github.com/elastic/kibana/pull/236721","mergeCommit":{"message":"Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint rule (#236721)\n\nCloses: https://github.com/elastic/kibana/issues/204767\nCloses: https://github.com/elastic/kibana/issues/221091\n\n**Summary**\n\nThis PR fixes accessibility violations related to EuiTooltip usage\nacross the codebase.\n\n**Details**\n\n1. Ensures that all `EuiTooltip` components are anchored to elements\nthat can receive keyboard focus.\n2. Added `tabIndex={0}` to non-interactive elements (e.g., `span`,\n`EuiText`) used as tooltip anchors so they are keyboard-focusable.\n\n**Why**\n\nTooltips anchored to non-focusable elements were not accessible to\nkeyboard users. These changes improve compliance with accessibility\nguidelines and ensure a better experience for all users.\n\n**More context**\nFix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint.\nSee elastic/eui#9051 for more details\n\n---------\n\nCo-authored-by: kibanamachine <[email protected]>","sha":"7088e5c0994a2206251cc55ad8abf684797cdcde"}},"sourceBranch":"main","suggestedTargetBranches":["9.2","9.1"],"targetPullRequestStates":[{"branch":"9.2","label":"v9.2.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.1","label":"v9.1.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.3.0","branchLabelMappingKey":"^v9.3.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/236721","number":236721,"mergeCommit":{"message":"Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint rule (#236721)\n\nCloses: https://github.com/elastic/kibana/issues/204767\nCloses: https://github.com/elastic/kibana/issues/221091\n\n**Summary**\n\nThis PR fixes accessibility violations related to EuiTooltip usage\nacross the codebase.\n\n**Details**\n\n1. Ensures that all `EuiTooltip` components are anchored to elements\nthat can receive keyboard focus.\n2. Added `tabIndex={0}` to non-interactive elements (e.g., `span`,\n`EuiText`) used as tooltip anchors so they are keyboard-focusable.\n\n**Why**\n\nTooltips anchored to non-focusable elements were not accessible to\nkeyboard users. These changes improve compliance with accessibility\nguidelines and ensure a better experience for all users.\n\n**More context**\nFix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint.\nSee elastic/eui#9051 for more details\n\n---------\n\nCo-authored-by: kibanamachine <[email protected]>","sha":"7088e5c0994a2206251cc55ad8abf684797cdcde"}}]}] BACKPORT--> Co-authored-by: Alexey Antonov <[email protected]>
|
Looks like this PR has backport PRs but they still haven't been merged. Please merge them ASAP to keep the branches relatively in sync. |
…SLint rule (#236721) (#238242) # Backport This will backport the following commits from `main` to `9.1`: - [Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint rule (#236721)](#236721) <!--- Backport version: 10.0.2 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Alexey Antonov","email":"[email protected]"},"sourceCommit":{"committedDate":"2025-10-09T11:21:50Z","message":"Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint rule (#236721)\n\nCloses: https://github.com/elastic/kibana/issues/204767\nCloses: https://github.com/elastic/kibana/issues/221091\n\n**Summary**\n\nThis PR fixes accessibility violations related to EuiTooltip usage\nacross the codebase.\n\n**Details**\n\n1. Ensures that all `EuiTooltip` components are anchored to elements\nthat can receive keyboard focus.\n2. Added `tabIndex={0}` to non-interactive elements (e.g., `span`,\n`EuiText`) used as tooltip anchors so they are keyboard-focusable.\n\n**Why**\n\nTooltips anchored to non-focusable elements were not accessible to\nkeyboard users. These changes improve compliance with accessibility\nguidelines and ensure a better experience for all users.\n\n**More context**\nFix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint.\nSee elastic/eui#9051 for more details\n\n---------\n\nCo-authored-by: kibanamachine <[email protected]>","sha":"7088e5c0994a2206251cc55ad8abf684797cdcde","branchLabelMapping":{"^v9.3.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Project:Accessibility","release_note:skip","Team:Fleet","ci:project-deploy-observability","Team:obs-ux-infra_services","Team:obs-ux-management","backport:version","v9.2.0","v9.1.5","v9.3.0"],"title":"Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint rule","number":236721,"url":"https://github.com/elastic/kibana/pull/236721","mergeCommit":{"message":"Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint rule (#236721)\n\nCloses: https://github.com/elastic/kibana/issues/204767\nCloses: https://github.com/elastic/kibana/issues/221091\n\n**Summary**\n\nThis PR fixes accessibility violations related to EuiTooltip usage\nacross the codebase.\n\n**Details**\n\n1. Ensures that all `EuiTooltip` components are anchored to elements\nthat can receive keyboard focus.\n2. Added `tabIndex={0}` to non-interactive elements (e.g., `span`,\n`EuiText`) used as tooltip anchors so they are keyboard-focusable.\n\n**Why**\n\nTooltips anchored to non-focusable elements were not accessible to\nkeyboard users. These changes improve compliance with accessibility\nguidelines and ensure a better experience for all users.\n\n**More context**\nFix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint.\nSee elastic/eui#9051 for more details\n\n---------\n\nCo-authored-by: kibanamachine <[email protected]>","sha":"7088e5c0994a2206251cc55ad8abf684797cdcde"}},"sourceBranch":"main","suggestedTargetBranches":["9.1"],"targetPullRequestStates":[{"branch":"9.2","label":"v9.2.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/238227","number":238227,"state":"OPEN"},{"branch":"9.1","label":"v9.1.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.3.0","branchLabelMappingKey":"^v9.3.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/236721","number":236721,"mergeCommit":{"message":"Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint rule (#236721)\n\nCloses: https://github.com/elastic/kibana/issues/204767\nCloses: https://github.com/elastic/kibana/issues/221091\n\n**Summary**\n\nThis PR fixes accessibility violations related to EuiTooltip usage\nacross the codebase.\n\n**Details**\n\n1. Ensures that all `EuiTooltip` components are anchored to elements\nthat can receive keyboard focus.\n2. Added `tabIndex={0}` to non-interactive elements (e.g., `span`,\n`EuiText`) used as tooltip anchors so they are keyboard-focusable.\n\n**Why**\n\nTooltips anchored to non-focusable elements were not accessible to\nkeyboard users. These changes improve compliance with accessibility\nguidelines and ensure a better experience for all users.\n\n**More context**\nFix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint.\nSee elastic/eui#9051 for more details\n\n---------\n\nCo-authored-by: kibanamachine <[email protected]>","sha":"7088e5c0994a2206251cc55ad8abf684797cdcde"}}]}] BACKPORT-->
…rule (elastic#236721) Closes: elastic#204767 Closes: elastic#221091 **Summary** This PR fixes accessibility violations related to EuiTooltip usage across the codebase. **Details** 1. Ensures that all `EuiTooltip` components are anchored to elements that can receive keyboard focus. 2. Added `tabIndex={0}` to non-interactive elements (e.g., `span`, `EuiText`) used as tooltip anchors so they are keyboard-focusable. **Why** Tooltips anchored to non-focusable elements were not accessible to keyboard users. These changes improve compliance with accessibility guidelines and ensure a better experience for all users. **More context** Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint. See elastic/eui#9051 for more details --------- Co-authored-by: kibanamachine <[email protected]>
…rule (elastic#236721) Closes: elastic#204767 Closes: elastic#221091 **Summary** This PR fixes accessibility violations related to EuiTooltip usage across the codebase. **Details** 1. Ensures that all `EuiTooltip` components are anchored to elements that can receive keyboard focus. 2. Added `tabIndex={0}` to non-interactive elements (e.g., `span`, `EuiText`) used as tooltip anchors so they are keyboard-focusable. **Why** Tooltips anchored to non-focusable elements were not accessible to keyboard users. These changes improve compliance with accessibility guidelines and ensure a better experience for all users. **More context** Fix violations of the `@elastic/eui/tooltip-focusable-anchor` ESLint. See elastic/eui#9051 for more details --------- Co-authored-by: kibanamachine <[email protected]>
Closes: #204767
Closes: #221091
Summary
This PR fixes accessibility violations related to EuiTooltip usage across the codebase.
Details
EuiTooltipcomponents are anchored to elements that can receive keyboard focus.tabIndex={0}to non-interactive elements (e.g.,span,EuiText) used as tooltip anchors so they are keyboard-focusable.Why
Tooltips anchored to non-focusable elements were not accessible to keyboard users. These changes improve compliance with accessibility guidelines and ensure a better experience for all users.
More context
Fix violations of the
@elastic/eui/tooltip-focusable-anchorESLint. See elastic/eui#9051 for more details