Commit ac3c8dd
# Backport
This will backport the following commits from `main` to `9.2`:
- [a11y: Fix `@elastic/eui/require-aria-label-for-modals` violations
across 43 presentation/maps/canvas files
(#259314)](#259314)
<!--- Backport version: 10.2.0 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)
<!--BACKPORT
[{"author":{"name":"Copilot","email":"198982749+Copilot@users.noreply.github.com"},"sourceCommit":{"committedDate":"2026-03-31T19:09:22Z","message":"a11y:
Fix `@elastic/eui/require-aria-label-for-modals` violations across 43
presentation/maps/canvas files (#259314)\n\nCloses:
https://github.com/elastic/kibana/issues/259305\n\n43 EUI overlay
components (`EuiModal`, `EuiFlyout`,
`EuiPopover`,\n`EuiWrappingPopover`) were missing required `aria-label`
or\n`aria-labelledby` props, failing WCAG 2.2 AA screen-reader
accessibility\nrequirements.\n\n## Approach\n\n**EuiModal / EuiFlyout**
— preferred `aria-labelledby` pattern
using\n`useGeneratedHtmlId`:\n```tsx\nconst modalTitleId =
useGeneratedHtmlId();\n// ...\n<EuiModal aria-labelledby={modalTitleId}
...>\n <EuiModalHeader>\n <EuiModalHeaderTitle
id={modalTitleId}>...</EuiModalHeaderTitle>\n```\n\n**EuiPopover /
EuiWrappingPopover** — `aria-label` with i18n
string:\n```tsx\n<EuiPopover\n
aria-label={i18n.translate('xpack.maps.tileErrorsList.popoverAriaLabel',
{\n defaultMessage: 'Tile errors',\n })}\n ...\n>\n```\n\n## Scope\n\n-
**6 modal/flyout components**:
`delete_grid_section_modal`,\n`labs_flyout`, `asset_manager`,
`keyboard_shortcuts_doc`,\n`saved_elements_modal`, `custom_icon_modal`
(class component — used\n`aria-label` with title prop)\n- **37 popover
components**: reused existing label variables\n(`displayName`,
`strings.getMoreActionsLabel()`, etc.) where available;\nadded new
`i18n.translate()` calls otherwise\n- Added `i18n` and
`useGeneratedHtmlId` imports only where needed\n\n\n---\n\n📱 Kick off
Copilot coding agent tasks wherever you are with
[GitHub\nMobile](https://gh.io/cca-mobile-docs), available on iOS and
Android.\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot]
<198982749+Copilot@users.noreply.github.com>\nCo-authored-by: Copilot
<223556219+Copilot@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Alexey Antonov <alexwizp@gmail.com>\nCo-authored-by: alexwizp
<20072247+alexwizp@users.noreply.github.com>","sha":"93c442574a5ea72f599daa9ebca41a4b71601544","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","💝community","backport:version","v9.4.0","v9.3.3","v9.2.8","a11y:agent-pr"],"title":"a11y:
Fix `@elastic/eui/require-aria-label-for-modals` violations across 43
presentation/maps/canvas
files","number":259314,"url":"https://github.com/elastic/kibana/pull/259314","mergeCommit":{"message":"a11y:
Fix `@elastic/eui/require-aria-label-for-modals` violations across 43
presentation/maps/canvas files (#259314)\n\nCloses:
https://github.com/elastic/kibana/issues/259305\n\n43 EUI overlay
components (`EuiModal`, `EuiFlyout`,
`EuiPopover`,\n`EuiWrappingPopover`) were missing required `aria-label`
or\n`aria-labelledby` props, failing WCAG 2.2 AA screen-reader
accessibility\nrequirements.\n\n## Approach\n\n**EuiModal / EuiFlyout**
— preferred `aria-labelledby` pattern
using\n`useGeneratedHtmlId`:\n```tsx\nconst modalTitleId =
useGeneratedHtmlId();\n// ...\n<EuiModal aria-labelledby={modalTitleId}
...>\n <EuiModalHeader>\n <EuiModalHeaderTitle
id={modalTitleId}>...</EuiModalHeaderTitle>\n```\n\n**EuiPopover /
EuiWrappingPopover** — `aria-label` with i18n
string:\n```tsx\n<EuiPopover\n
aria-label={i18n.translate('xpack.maps.tileErrorsList.popoverAriaLabel',
{\n defaultMessage: 'Tile errors',\n })}\n ...\n>\n```\n\n## Scope\n\n-
**6 modal/flyout components**:
`delete_grid_section_modal`,\n`labs_flyout`, `asset_manager`,
`keyboard_shortcuts_doc`,\n`saved_elements_modal`, `custom_icon_modal`
(class component — used\n`aria-label` with title prop)\n- **37 popover
components**: reused existing label variables\n(`displayName`,
`strings.getMoreActionsLabel()`, etc.) where available;\nadded new
`i18n.translate()` calls otherwise\n- Added `i18n` and
`useGeneratedHtmlId` imports only where needed\n\n\n---\n\n📱 Kick off
Copilot coding agent tasks wherever you are with
[GitHub\nMobile](https://gh.io/cca-mobile-docs), available on iOS and
Android.\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot]
<198982749+Copilot@users.noreply.github.com>\nCo-authored-by: Copilot
<223556219+Copilot@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Alexey Antonov <alexwizp@gmail.com>\nCo-authored-by: alexwizp
<20072247+alexwizp@users.noreply.github.com>","sha":"93c442574a5ea72f599daa9ebca41a4b71601544"}},"sourceBranch":"main","suggestedTargetBranches":["9.3","9.2"],"targetPullRequestStates":[{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/259314","number":259314,"mergeCommit":{"message":"a11y:
Fix `@elastic/eui/require-aria-label-for-modals` violations across 43
presentation/maps/canvas files (#259314)\n\nCloses:
https://github.com/elastic/kibana/issues/259305\n\n43 EUI overlay
components (`EuiModal`, `EuiFlyout`,
`EuiPopover`,\n`EuiWrappingPopover`) were missing required `aria-label`
or\n`aria-labelledby` props, failing WCAG 2.2 AA screen-reader
accessibility\nrequirements.\n\n## Approach\n\n**EuiModal / EuiFlyout**
— preferred `aria-labelledby` pattern
using\n`useGeneratedHtmlId`:\n```tsx\nconst modalTitleId =
useGeneratedHtmlId();\n// ...\n<EuiModal aria-labelledby={modalTitleId}
...>\n <EuiModalHeader>\n <EuiModalHeaderTitle
id={modalTitleId}>...</EuiModalHeaderTitle>\n```\n\n**EuiPopover /
EuiWrappingPopover** — `aria-label` with i18n
string:\n```tsx\n<EuiPopover\n
aria-label={i18n.translate('xpack.maps.tileErrorsList.popoverAriaLabel',
{\n defaultMessage: 'Tile errors',\n })}\n ...\n>\n```\n\n## Scope\n\n-
**6 modal/flyout components**:
`delete_grid_section_modal`,\n`labs_flyout`, `asset_manager`,
`keyboard_shortcuts_doc`,\n`saved_elements_modal`, `custom_icon_modal`
(class component — used\n`aria-label` with title prop)\n- **37 popover
components**: reused existing label variables\n(`displayName`,
`strings.getMoreActionsLabel()`, etc.) where available;\nadded new
`i18n.translate()` calls otherwise\n- Added `i18n` and
`useGeneratedHtmlId` imports only where needed\n\n\n---\n\n📱 Kick off
Copilot coding agent tasks wherever you are with
[GitHub\nMobile](https://gh.io/cca-mobile-docs), available on iOS and
Android.\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot]
<198982749+Copilot@users.noreply.github.com>\nCo-authored-by: Copilot
<223556219+Copilot@users.noreply.github.com>\nCo-authored-by:
kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by:
Alexey Antonov <alexwizp@gmail.com>\nCo-authored-by: alexwizp
<20072247+alexwizp@users.noreply.github.com>","sha":"93c442574a5ea72f599daa9ebca41a4b71601544"}},{"branch":"9.3","label":"v9.3.3","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"9.2","label":"v9.2.8","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
---------
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
1 parent 39d984a commit ac3c8dd
File tree
41 files changed
+133
-5
lines changed- examples
- embeddable_examples/public/app/presentation_container_example/components
- grid_example/public
- src/platform
- packages/private/kbn-grid-layout/grid/grid_section
- plugins
- private/presentation_panel/public/panel_component/panel_header
- x-pack/platform/plugins
- private/canvas
- canvas_plugin_src/renderers/error/components
- public/components
- asset_manager
- saved_elements_modal
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
41 files changed
+133
-5
lines changedLines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
15 | 16 | | |
| |||
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
82 | 86 | | |
83 | 87 | | |
84 | 88 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
46 | 49 | | |
47 | 50 | | |
48 | 51 | | |
| |||
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| |||
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| 36 | + | |
35 | 37 | | |
36 | 38 | | |
37 | 39 | | |
38 | 40 | | |
| 41 | + | |
39 | 42 | | |
40 | 43 | | |
41 | 44 | | |
42 | 45 | | |
43 | 46 | | |
44 | | - | |
| 47 | + | |
45 | 48 | | |
46 | 49 | | |
47 | 50 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
477 | 477 | | |
478 | 478 | | |
479 | 479 | | |
| 480 | + | |
480 | 481 | | |
481 | 482 | | |
482 | 483 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| 113 | + | |
113 | 114 | | |
114 | 115 | | |
115 | 116 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
296 | 296 | | |
297 | 297 | | |
298 | 298 | | |
| 299 | + | |
299 | 300 | | |
300 | 301 | | |
301 | 302 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| |||
117 | 118 | | |
118 | 119 | | |
119 | 120 | | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
120 | 124 | | |
121 | 125 | | |
122 | 126 | | |
| |||
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
64 | 65 | | |
65 | 66 | | |
66 | 67 | | |
| 68 | + | |
67 | 69 | | |
68 | 70 | | |
69 | 71 | | |
| |||
134 | 136 | | |
135 | 137 | | |
136 | 138 | | |
| 139 | + | |
137 | 140 | | |
138 | 141 | | |
139 | 142 | | |
140 | | - | |
| 143 | + | |
141 | 144 | | |
142 | 145 | | |
143 | 146 | | |
| |||
Lines changed: 7 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
37 | 43 | | |
38 | 44 | | |
39 | 45 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
95 | 96 | | |
96 | 97 | | |
97 | 98 | | |
| |||
0 commit comments