Conversation
… @elastic/kibana-core files Co-authored-by: alexwizp <20072247+alexwizp@users.noreply.github.com> Agent-Logs-Url: https://github.com/elastic/kibana/sessions/c4a04403-d055-4144-9e6d-8c9474eaa6df
Co-authored-by: alexwizp <20072247+alexwizp@users.noreply.github.com> Agent-Logs-Url: https://github.com/elastic/kibana/sessions/c4a04403-d055-4144-9e6d-8c9474eaa6df
Copilot
AI
changed the title
[WIP] Fix @elastic/eui/require-aria-label-for-modals lint violations
Fix Mar 26, 2026
@elastic/eui/require-aria-label-for-modals lint violations across @elastic/kibana-core files
Contributor
|
/ci |
Contributor
|
Pinging @elastic/kibana-accessibility (Project:Accessibility) |
Contributor
|
/ci |
Contributor
|
/ci |
Contributor
💚 Build Succeeded
Metrics [docs]Async chunks
Page load bundle
History
cc @alexwizp @Copilot |
jloleysens
approved these changes
Mar 31, 2026
Contributor
|
@elasticmachine run docs-build |
Contributor
|
Starting backport for target branches: 9.3 https://github.com/elastic/kibana/actions/runs/23791529865 |
kibanamachine
pushed a commit
to kibanamachine/kibana
that referenced
this pull request
Mar 31, 2026
…ss `@elastic/kibana-core` files (elastic#259757) Closes: elastic#259747 Adds missing `aria-label` / `aria-labelledby` props to 8 EUI modal-type components (`EuiFlyout`, `EuiModal`, `EuiPopover`) across 6 files to satisfy the `@elastic/eui/require-aria-label-for-modals` ESLint rule. ### Changes - **`connection_details_flyout_content.stories.tsx`** — `aria-label` with i18n on 3 `EuiFlyout` instances - **`cloud_id_row/label.tsx`** — `aria-label` with i18n on `EuiPopover` - **`deployment_details_cloudid_input.tsx`** — `aria-label` with i18n on `EuiPopover` - **`deployment_details_modal.tsx`** — `aria-labelledby` via `useGeneratedHtmlId` linking `EuiModal` to its `EuiModalHeaderTitle` - **`saved_objects_management/.../flyout.tsx`** — `aria-labelledby` via `htmlIdGenerator` (class component) linking `EuiFlyout` to its `<h2>` heading - **`saved_objects_management/.../table.tsx`** — `aria-label` with i18n on export `EuiPopover` Where a visible heading exists, `aria-labelledby` is used (preferred). Where no heading is present, `aria-label` is used. All new strings use `i18n.translate()`. ```tsx // aria-labelledby — preferred when a visible title exists const modalTitleId = useGeneratedHtmlId(); <EuiModal aria-labelledby={modalTitleId}> <EuiModalHeaderTitle id={modalTitleId}>Connection details</EuiModalHeaderTitle> </EuiModal> // aria-label — when no visible title is available <EuiPopover aria-label={i18n.translate('...', { defaultMessage: 'Export options' })}> ``` > [!WARNING] > > <details> > <summary>Firewall rules blocked me from connecting to one or more addresses (expand for details)</summary> > > #### I tried to connect to the following addresses, but was blocked by firewall rules: > > - `ci-stats.kibana.dev` > - Triggering command: `/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node /home/REDACTED/.nvm/versions/node/v22.22.0/bin/node scripts/yarn_install_scripts.js run ldd 0.8.2 nibrowser-gtk/sys/lib/libjxl.so.0.8` (dns block) > - Triggering command: `/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node /home/REDACTED/.nvm/versions/node/v22.22.0/bin/node scripts/kbn bootstrap` (dns block) > - Triggering command: `/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node node scripts/eslint src/platform/packages/shared/cloud/connection_details/connection_details_flyout_content.stories.tsx src/platform/packages/shared/cloud/connection_details/tabs/endpoints_tab/rows/cloud_id_row/label.tsx src/platform/packages/shared/cloud/deployment_details/deployment_details_cloudid_input.tsx src/platform/packages/shared/cloud/deployment_details/deployment_details_modal.tsx src/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/flyout.tsx src/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/table.tsx` (dns block) > - `clients3.google.com` > - Triggering command: `/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon /home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon run :extract-version-dependencies :build-webpack 0.8.2 b/libWPEBackend-fdo-1.0.so.1` (dns block) > - `detectportal.firefox.com` > - Triggering command: `/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon /home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon run :extract-version-dependencies :build-webpack 0.8.2 b/libWPEBackend-fdo-1.0.so.1` (dns block) > - `google.com` > - Triggering command: `/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon /home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon run :extract-version-dependencies :build-webpack 0.8.2 b/libWPEBackend-fdo-1.0.so.1` (dns block) > - `googlechromelabs.github.io` > - Triggering command: `/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node /home/REDACTED/.nvm/versions/node/v22.22.0/bin/node install.js p/bin/git ldd b/li��` (dns block) > - `iojs.org` > - Triggering command: `/usr/bin/curl curl -q --fail --compressed -L -s REDACTED -o -` (dns block) > > If you need me to access, download, or install something from one of these locations, you can either: > > - Configure [Actions setup steps](https://gh.io/copilot/actions-setup-steps) to set up my environment, which run before the firewall is enabled > - Add the appropriate URLs or hosts to the custom allowlist in this repository's [Copilot coding agent settings](https://github.com/elastic/kibana/settings/copilot/coding_agent) (admins only) > > </details> <!-- START COPILOT CODING AGENT TIPS --> --- ⌨️ Start Copilot coding agent tasks without leaving your editor — available in [VS Code](https://gh.io/cca-vs-code-docs), [Visual Studio](https://gh.io/cca-visual-studio-docs), [JetBrains IDEs](https://gh.io/cca-jetbrains-docs) and [Eclipse](https://gh.io/cca-eclipse-docs). --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: alexwizp <20072247+alexwizp@users.noreply.github.com> Co-authored-by: Alexey Antonov <alexwizp@gmail.com> (cherry picked from commit 27ab7c3)
Contributor
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
mbondyra
added a commit
to mbondyra/kibana
that referenced
this pull request
Mar 31, 2026
…e_for_children6 * commit '3402744f63ca1196e97b11ffac4e7f7efab240df': (80 commits) [PerUserAuth] Add EARS auth type for Connectors V2 (elastic#253695) Fix `@elastic/eui/require-aria-label-for-modals` lint violations across `@elastic/kibana-core` files (elastic#259757) [Entity Analytics][Leads generation][4] Add API routes, LeadDataClient, and async generation (elastic#257046) [Agent Builder] Agent-centric UX redesign (elastic#258005) fix query streams failing test (elastic#260277) [Lens as code] Add list layout to the new API (elastic#259967) [FTR] Add warning comments to deployment-agnostic FTR base configs (elastic#260018) [Discover][Logs profile] Fix missing search highlights (elastic#260056) Plugin system: safe deletion (elastic#259038) [Infra] Fix Hosts filter options to match selected schema (elastic#259825) Manual Entity Resolution and flyout representation (elastic#260162) [Cascade] Handle grouping on fields with unset values (elastic#260033) [Fleet] generate OTel config for integration packages with otelcol inputs (elastic#259968) [Search] Switch over to V2 index management details (elastic#259866) [inference] increase timeout for ES inference calls (elastic#260382) [ES|QL] Enable subqueries (elastic#257455) [ES|QL] Change Point order free options (elastic#260282) [Auth] Added authentication strategy for UIAM OAuth (elastic#256182) [Security Solution] Add "alerts_candidate_count" rule execution metric (elastic#259917) [api-docs] 2026-03-31 Daily api_docs build (elastic#260380) ...
kibanamachine
added a commit
that referenced
this pull request
Mar 31, 2026
…s across `@elastic/kibana-core` files (#259757) (#260427) # Backport This will backport the following commits from `main` to `9.3`: - [Fix `@elastic/eui/require-aria-label-for-modals` lint violations across `@elastic/kibana-core` files (#259757)](#259757) <!--- Backport version: 9.6.6 --> ### 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-31T09:57:55Z","message":"Fix `@elastic/eui/require-aria-label-for-modals` lint violations across `@elastic/kibana-core` files (#259757)\n\nCloses: https://github.com/elastic/kibana/issues/259747\n\nAdds missing `aria-label` / `aria-labelledby` props to 8 EUI modal-type\ncomponents (`EuiFlyout`, `EuiModal`, `EuiPopover`) across 6 files to\nsatisfy the `@elastic/eui/require-aria-label-for-modals` ESLint rule.\n\n### Changes\n\n- **`connection_details_flyout_content.stories.tsx`** — `aria-label`\nwith i18n on 3 `EuiFlyout` instances\n- **`cloud_id_row/label.tsx`** — `aria-label` with i18n on `EuiPopover`\n- **`deployment_details_cloudid_input.tsx`** — `aria-label` with i18n on\n`EuiPopover`\n- **`deployment_details_modal.tsx`** — `aria-labelledby` via\n`useGeneratedHtmlId` linking `EuiModal` to its `EuiModalHeaderTitle`\n- **`saved_objects_management/.../flyout.tsx`** — `aria-labelledby` via\n`htmlIdGenerator` (class component) linking `EuiFlyout` to its `<h2>`\nheading\n- **`saved_objects_management/.../table.tsx`** — `aria-label` with i18n\non export `EuiPopover`\n\nWhere a visible heading exists, `aria-labelledby` is used (preferred).\nWhere no heading is present, `aria-label` is used. All new strings use\n`i18n.translate()`.\n\n```tsx\n// aria-labelledby — preferred when a visible title exists\nconst modalTitleId = useGeneratedHtmlId();\n<EuiModal aria-labelledby={modalTitleId}>\n <EuiModalHeaderTitle id={modalTitleId}>Connection details</EuiModalHeaderTitle>\n</EuiModal>\n\n// aria-label — when no visible title is available\n<EuiPopover aria-label={i18n.translate('...', { defaultMessage: 'Export options' })}>\n```\n\n> [!WARNING]\n>\n> <details>\n> <summary>Firewall rules blocked me from connecting to one or more\naddresses (expand for details)</summary>\n>\n> #### I tried to connect to the following addresses, but was blocked by\nfirewall rules:\n>\n> - `ci-stats.kibana.dev`\n> - Triggering command:\n`/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node\n/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node\nscripts/yarn_install_scripts.js run ldd 0.8.2\nnibrowser-gtk/sys/lib/libjxl.so.0.8` (dns block)\n> - Triggering command:\n`/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node\n/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node scripts/kbn\nbootstrap` (dns block)\n> - Triggering command:\n`/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node node scripts/eslint\nsrc/platform/packages/shared/cloud/connection_details/connection_details_flyout_content.stories.tsx\nsrc/platform/packages/shared/cloud/connection_details/tabs/endpoints_tab/rows/cloud_id_row/label.tsx\nsrc/platform/packages/shared/cloud/deployment_details/deployment_details_cloudid_input.tsx\nsrc/platform/packages/shared/cloud/deployment_details/deployment_details_modal.tsx\nsrc/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/flyout.tsx\nsrc/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/table.tsx`\n(dns block)\n> - `clients3.google.com`\n> - Triggering command:\n`/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\n/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\nrun :extract-version-dependencies :build-webpack 0.8.2\nb/libWPEBackend-fdo-1.0.so.1` (dns block)\n> - `detectportal.firefox.com`\n> - Triggering command:\n`/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\n/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\nrun :extract-version-dependencies :build-webpack 0.8.2\nb/libWPEBackend-fdo-1.0.so.1` (dns block)\n> - `google.com`\n> - Triggering command:\n`/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\n/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\nrun :extract-version-dependencies :build-webpack 0.8.2\nb/libWPEBackend-fdo-1.0.so.1` (dns block)\n> - `googlechromelabs.github.io`\n> - Triggering command:\n`/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node\n/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node install.js p/bin/git\nldd b/li\u0004\u0018` (dns block)\n> - `iojs.org`\n> - Triggering command: `/usr/bin/curl curl -q --fail --compressed -L -s\nREDACTED -o -` (dns block)\n>\n> If you need me to access, download, or install something from one of\nthese locations, you can either:\n>\n> - Configure [Actions setup\nsteps](https://gh.io/copilot/actions-setup-steps) to set up my\nenvironment, which run before the firewall is enabled\n> - Add the appropriate URLs or hosts to the custom allowlist in this\nrepository's [Copilot coding agent\nsettings](https://github.com/elastic/kibana/settings/copilot/coding_agent)\n(admins only)\n>\n> </details>\n\n\n---\n\n⌨️ Start Copilot coding agent tasks without leaving your editor —\navailable in [VS Code](https://gh.io/cca-vs-code-docs), [Visual\nStudio](https://gh.io/cca-visual-studio-docs), [JetBrains\nIDEs](https://gh.io/cca-jetbrains-docs) and\n[Eclipse](https://gh.io/cca-eclipse-docs).\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: alexwizp <20072247+alexwizp@users.noreply.github.com>\nCo-authored-by: Alexey Antonov <alexwizp@gmail.com>","sha":"27ab7c35d87a8c043d5b7f644932f7a2eee284ef","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Project:Accessibility","release_note:skip","💝community","backport:version","v9.4.0","v9.3.3","a11y:agent-pr"],"title":"Fix `@elastic/eui/require-aria-label-for-modals` lint violations across `@elastic/kibana-core` files","number":259757,"url":"https://github.com/elastic/kibana/pull/259757","mergeCommit":{"message":"Fix `@elastic/eui/require-aria-label-for-modals` lint violations across `@elastic/kibana-core` files (#259757)\n\nCloses: https://github.com/elastic/kibana/issues/259747\n\nAdds missing `aria-label` / `aria-labelledby` props to 8 EUI modal-type\ncomponents (`EuiFlyout`, `EuiModal`, `EuiPopover`) across 6 files to\nsatisfy the `@elastic/eui/require-aria-label-for-modals` ESLint rule.\n\n### Changes\n\n- **`connection_details_flyout_content.stories.tsx`** — `aria-label`\nwith i18n on 3 `EuiFlyout` instances\n- **`cloud_id_row/label.tsx`** — `aria-label` with i18n on `EuiPopover`\n- **`deployment_details_cloudid_input.tsx`** — `aria-label` with i18n on\n`EuiPopover`\n- **`deployment_details_modal.tsx`** — `aria-labelledby` via\n`useGeneratedHtmlId` linking `EuiModal` to its `EuiModalHeaderTitle`\n- **`saved_objects_management/.../flyout.tsx`** — `aria-labelledby` via\n`htmlIdGenerator` (class component) linking `EuiFlyout` to its `<h2>`\nheading\n- **`saved_objects_management/.../table.tsx`** — `aria-label` with i18n\non export `EuiPopover`\n\nWhere a visible heading exists, `aria-labelledby` is used (preferred).\nWhere no heading is present, `aria-label` is used. All new strings use\n`i18n.translate()`.\n\n```tsx\n// aria-labelledby — preferred when a visible title exists\nconst modalTitleId = useGeneratedHtmlId();\n<EuiModal aria-labelledby={modalTitleId}>\n <EuiModalHeaderTitle id={modalTitleId}>Connection details</EuiModalHeaderTitle>\n</EuiModal>\n\n// aria-label — when no visible title is available\n<EuiPopover aria-label={i18n.translate('...', { defaultMessage: 'Export options' })}>\n```\n\n> [!WARNING]\n>\n> <details>\n> <summary>Firewall rules blocked me from connecting to one or more\naddresses (expand for details)</summary>\n>\n> #### I tried to connect to the following addresses, but was blocked by\nfirewall rules:\n>\n> - `ci-stats.kibana.dev`\n> - Triggering command:\n`/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node\n/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node\nscripts/yarn_install_scripts.js run ldd 0.8.2\nnibrowser-gtk/sys/lib/libjxl.so.0.8` (dns block)\n> - Triggering command:\n`/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node\n/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node scripts/kbn\nbootstrap` (dns block)\n> - Triggering command:\n`/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node node scripts/eslint\nsrc/platform/packages/shared/cloud/connection_details/connection_details_flyout_content.stories.tsx\nsrc/platform/packages/shared/cloud/connection_details/tabs/endpoints_tab/rows/cloud_id_row/label.tsx\nsrc/platform/packages/shared/cloud/deployment_details/deployment_details_cloudid_input.tsx\nsrc/platform/packages/shared/cloud/deployment_details/deployment_details_modal.tsx\nsrc/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/flyout.tsx\nsrc/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/table.tsx`\n(dns block)\n> - `clients3.google.com`\n> - Triggering command:\n`/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\n/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\nrun :extract-version-dependencies :build-webpack 0.8.2\nb/libWPEBackend-fdo-1.0.so.1` (dns block)\n> - `detectportal.firefox.com`\n> - Triggering command:\n`/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\n/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\nrun :extract-version-dependencies :build-webpack 0.8.2\nb/libWPEBackend-fdo-1.0.so.1` (dns block)\n> - `google.com`\n> - Triggering command:\n`/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\n/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\nrun :extract-version-dependencies :build-webpack 0.8.2\nb/libWPEBackend-fdo-1.0.so.1` (dns block)\n> - `googlechromelabs.github.io`\n> - Triggering command:\n`/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node\n/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node install.js p/bin/git\nldd b/li\u0004\u0018` (dns block)\n> - `iojs.org`\n> - Triggering command: `/usr/bin/curl curl -q --fail --compressed -L -s\nREDACTED -o -` (dns block)\n>\n> If you need me to access, download, or install something from one of\nthese locations, you can either:\n>\n> - Configure [Actions setup\nsteps](https://gh.io/copilot/actions-setup-steps) to set up my\nenvironment, which run before the firewall is enabled\n> - Add the appropriate URLs or hosts to the custom allowlist in this\nrepository's [Copilot coding agent\nsettings](https://github.com/elastic/kibana/settings/copilot/coding_agent)\n(admins only)\n>\n> </details>\n\n\n---\n\n⌨️ Start Copilot coding agent tasks without leaving your editor —\navailable in [VS Code](https://gh.io/cca-vs-code-docs), [Visual\nStudio](https://gh.io/cca-visual-studio-docs), [JetBrains\nIDEs](https://gh.io/cca-jetbrains-docs) and\n[Eclipse](https://gh.io/cca-eclipse-docs).\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: alexwizp <20072247+alexwizp@users.noreply.github.com>\nCo-authored-by: Alexey Antonov <alexwizp@gmail.com>","sha":"27ab7c35d87a8c043d5b7f644932f7a2eee284ef"}},"sourceBranch":"main","suggestedTargetBranches":["9.3"],"targetPullRequestStates":[{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/259757","number":259757,"mergeCommit":{"message":"Fix `@elastic/eui/require-aria-label-for-modals` lint violations across `@elastic/kibana-core` files (#259757)\n\nCloses: https://github.com/elastic/kibana/issues/259747\n\nAdds missing `aria-label` / `aria-labelledby` props to 8 EUI modal-type\ncomponents (`EuiFlyout`, `EuiModal`, `EuiPopover`) across 6 files to\nsatisfy the `@elastic/eui/require-aria-label-for-modals` ESLint rule.\n\n### Changes\n\n- **`connection_details_flyout_content.stories.tsx`** — `aria-label`\nwith i18n on 3 `EuiFlyout` instances\n- **`cloud_id_row/label.tsx`** — `aria-label` with i18n on `EuiPopover`\n- **`deployment_details_cloudid_input.tsx`** — `aria-label` with i18n on\n`EuiPopover`\n- **`deployment_details_modal.tsx`** — `aria-labelledby` via\n`useGeneratedHtmlId` linking `EuiModal` to its `EuiModalHeaderTitle`\n- **`saved_objects_management/.../flyout.tsx`** — `aria-labelledby` via\n`htmlIdGenerator` (class component) linking `EuiFlyout` to its `<h2>`\nheading\n- **`saved_objects_management/.../table.tsx`** — `aria-label` with i18n\non export `EuiPopover`\n\nWhere a visible heading exists, `aria-labelledby` is used (preferred).\nWhere no heading is present, `aria-label` is used. All new strings use\n`i18n.translate()`.\n\n```tsx\n// aria-labelledby — preferred when a visible title exists\nconst modalTitleId = useGeneratedHtmlId();\n<EuiModal aria-labelledby={modalTitleId}>\n <EuiModalHeaderTitle id={modalTitleId}>Connection details</EuiModalHeaderTitle>\n</EuiModal>\n\n// aria-label — when no visible title is available\n<EuiPopover aria-label={i18n.translate('...', { defaultMessage: 'Export options' })}>\n```\n\n> [!WARNING]\n>\n> <details>\n> <summary>Firewall rules blocked me from connecting to one or more\naddresses (expand for details)</summary>\n>\n> #### I tried to connect to the following addresses, but was blocked by\nfirewall rules:\n>\n> - `ci-stats.kibana.dev`\n> - Triggering command:\n`/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node\n/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node\nscripts/yarn_install_scripts.js run ldd 0.8.2\nnibrowser-gtk/sys/lib/libjxl.so.0.8` (dns block)\n> - Triggering command:\n`/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node\n/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node scripts/kbn\nbootstrap` (dns block)\n> - Triggering command:\n`/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node node scripts/eslint\nsrc/platform/packages/shared/cloud/connection_details/connection_details_flyout_content.stories.tsx\nsrc/platform/packages/shared/cloud/connection_details/tabs/endpoints_tab/rows/cloud_id_row/label.tsx\nsrc/platform/packages/shared/cloud/deployment_details/deployment_details_cloudid_input.tsx\nsrc/platform/packages/shared/cloud/deployment_details/deployment_details_modal.tsx\nsrc/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/flyout.tsx\nsrc/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/table.tsx`\n(dns block)\n> - `clients3.google.com`\n> - Triggering command:\n`/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\n/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\nrun :extract-version-dependencies :build-webpack 0.8.2\nb/libWPEBackend-fdo-1.0.so.1` (dns block)\n> - `detectportal.firefox.com`\n> - Triggering command:\n`/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\n/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\nrun :extract-version-dependencies :build-webpack 0.8.2\nb/libWPEBackend-fdo-1.0.so.1` (dns block)\n> - `google.com`\n> - Triggering command:\n`/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\n/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon\nrun :extract-version-dependencies :build-webpack 0.8.2\nb/libWPEBackend-fdo-1.0.so.1` (dns block)\n> - `googlechromelabs.github.io`\n> - Triggering command:\n`/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node\n/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node install.js p/bin/git\nldd b/li\u0004\u0018` (dns block)\n> - `iojs.org`\n> - Triggering command: `/usr/bin/curl curl -q --fail --compressed -L -s\nREDACTED -o -` (dns block)\n>\n> If you need me to access, download, or install something from one of\nthese locations, you can either:\n>\n> - Configure [Actions setup\nsteps](https://gh.io/copilot/actions-setup-steps) to set up my\nenvironment, which run before the firewall is enabled\n> - Add the appropriate URLs or hosts to the custom allowlist in this\nrepository's [Copilot coding agent\nsettings](https://github.com/elastic/kibana/settings/copilot/coding_agent)\n(admins only)\n>\n> </details>\n\n\n---\n\n⌨️ Start Copilot coding agent tasks without leaving your editor —\navailable in [VS Code](https://gh.io/cca-vs-code-docs), [Visual\nStudio](https://gh.io/cca-visual-studio-docs), [JetBrains\nIDEs](https://gh.io/cca-jetbrains-docs) and\n[Eclipse](https://gh.io/cca-eclipse-docs).\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: alexwizp <20072247+alexwizp@users.noreply.github.com>\nCo-authored-by: Alexey Antonov <alexwizp@gmail.com>","sha":"27ab7c35d87a8c043d5b7f644932f7a2eee284ef"}},{"branch":"9.3","label":"v9.3.3","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: alexwizp <20072247+alexwizp@users.noreply.github.com> Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
jeramysoucy
pushed a commit
to jeramysoucy/kibana
that referenced
this pull request
Apr 1, 2026
…ss `@elastic/kibana-core` files (elastic#259757) Closes: elastic#259747 Adds missing `aria-label` / `aria-labelledby` props to 8 EUI modal-type components (`EuiFlyout`, `EuiModal`, `EuiPopover`) across 6 files to satisfy the `@elastic/eui/require-aria-label-for-modals` ESLint rule. ### Changes - **`connection_details_flyout_content.stories.tsx`** — `aria-label` with i18n on 3 `EuiFlyout` instances - **`cloud_id_row/label.tsx`** — `aria-label` with i18n on `EuiPopover` - **`deployment_details_cloudid_input.tsx`** — `aria-label` with i18n on `EuiPopover` - **`deployment_details_modal.tsx`** — `aria-labelledby` via `useGeneratedHtmlId` linking `EuiModal` to its `EuiModalHeaderTitle` - **`saved_objects_management/.../flyout.tsx`** — `aria-labelledby` via `htmlIdGenerator` (class component) linking `EuiFlyout` to its `<h2>` heading - **`saved_objects_management/.../table.tsx`** — `aria-label` with i18n on export `EuiPopover` Where a visible heading exists, `aria-labelledby` is used (preferred). Where no heading is present, `aria-label` is used. All new strings use `i18n.translate()`. ```tsx // aria-labelledby — preferred when a visible title exists const modalTitleId = useGeneratedHtmlId(); <EuiModal aria-labelledby={modalTitleId}> <EuiModalHeaderTitle id={modalTitleId}>Connection details</EuiModalHeaderTitle> </EuiModal> // aria-label — when no visible title is available <EuiPopover aria-label={i18n.translate('...', { defaultMessage: 'Export options' })}> ``` > [!WARNING] > > <details> > <summary>Firewall rules blocked me from connecting to one or more addresses (expand for details)</summary> > > #### I tried to connect to the following addresses, but was blocked by firewall rules: > > - `ci-stats.kibana.dev` > - Triggering command: `/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node /home/REDACTED/.nvm/versions/node/v22.22.0/bin/node scripts/yarn_install_scripts.js run ldd 0.8.2 nibrowser-gtk/sys/lib/libjxl.so.0.8` (dns block) > - Triggering command: `/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node /home/REDACTED/.nvm/versions/node/v22.22.0/bin/node scripts/kbn bootstrap` (dns block) > - Triggering command: `/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node node scripts/eslint src/platform/packages/shared/cloud/connection_details/connection_details_flyout_content.stories.tsx src/platform/packages/shared/cloud/connection_details/tabs/endpoints_tab/rows/cloud_id_row/label.tsx src/platform/packages/shared/cloud/deployment_details/deployment_details_cloudid_input.tsx src/platform/packages/shared/cloud/deployment_details/deployment_details_modal.tsx src/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/flyout.tsx src/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/table.tsx` (dns block) > - `clients3.google.com` > - Triggering command: `/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon /home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon run :extract-version-dependencies :build-webpack 0.8.2 b/libWPEBackend-fdo-1.0.so.1` (dns block) > - `detectportal.firefox.com` > - Triggering command: `/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon /home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon run :extract-version-dependencies :build-webpack 0.8.2 b/libWPEBackend-fdo-1.0.so.1` (dns block) > - `google.com` > - Triggering command: `/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon /home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon run :extract-version-dependencies :build-webpack 0.8.2 b/libWPEBackend-fdo-1.0.so.1` (dns block) > - `googlechromelabs.github.io` > - Triggering command: `/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node /home/REDACTED/.nvm/versions/node/v22.22.0/bin/node install.js p/bin/git ldd b/li��` (dns block) > - `iojs.org` > - Triggering command: `/usr/bin/curl curl -q --fail --compressed -L -s REDACTED -o -` (dns block) > > If you need me to access, download, or install something from one of these locations, you can either: > > - Configure [Actions setup steps](https://gh.io/copilot/actions-setup-steps) to set up my environment, which run before the firewall is enabled > - Add the appropriate URLs or hosts to the custom allowlist in this repository's [Copilot coding agent settings](https://github.com/elastic/kibana/settings/copilot/coding_agent) (admins only) > > </details> <!-- START COPILOT CODING AGENT TIPS --> --- ⌨️ Start Copilot coding agent tasks without leaving your editor — available in [VS Code](https://gh.io/cca-vs-code-docs), [Visual Studio](https://gh.io/cca-visual-studio-docs), [JetBrains IDEs](https://gh.io/cca-jetbrains-docs) and [Eclipse](https://gh.io/cca-eclipse-docs). --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: alexwizp <20072247+alexwizp@users.noreply.github.com> Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
paulinashakirova
pushed a commit
to paulinashakirova/kibana
that referenced
this pull request
Apr 2, 2026
…ss `@elastic/kibana-core` files (elastic#259757) Closes: elastic#259747 Adds missing `aria-label` / `aria-labelledby` props to 8 EUI modal-type components (`EuiFlyout`, `EuiModal`, `EuiPopover`) across 6 files to satisfy the `@elastic/eui/require-aria-label-for-modals` ESLint rule. ### Changes - **`connection_details_flyout_content.stories.tsx`** — `aria-label` with i18n on 3 `EuiFlyout` instances - **`cloud_id_row/label.tsx`** — `aria-label` with i18n on `EuiPopover` - **`deployment_details_cloudid_input.tsx`** — `aria-label` with i18n on `EuiPopover` - **`deployment_details_modal.tsx`** — `aria-labelledby` via `useGeneratedHtmlId` linking `EuiModal` to its `EuiModalHeaderTitle` - **`saved_objects_management/.../flyout.tsx`** — `aria-labelledby` via `htmlIdGenerator` (class component) linking `EuiFlyout` to its `<h2>` heading - **`saved_objects_management/.../table.tsx`** — `aria-label` with i18n on export `EuiPopover` Where a visible heading exists, `aria-labelledby` is used (preferred). Where no heading is present, `aria-label` is used. All new strings use `i18n.translate()`. ```tsx // aria-labelledby — preferred when a visible title exists const modalTitleId = useGeneratedHtmlId(); <EuiModal aria-labelledby={modalTitleId}> <EuiModalHeaderTitle id={modalTitleId}>Connection details</EuiModalHeaderTitle> </EuiModal> // aria-label — when no visible title is available <EuiPopover aria-label={i18n.translate('...', { defaultMessage: 'Export options' })}> ``` > [!WARNING] > > <details> > <summary>Firewall rules blocked me from connecting to one or more addresses (expand for details)</summary> > > #### I tried to connect to the following addresses, but was blocked by firewall rules: > > - `ci-stats.kibana.dev` > - Triggering command: `/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node /home/REDACTED/.nvm/versions/node/v22.22.0/bin/node scripts/yarn_install_scripts.js run ldd 0.8.2 nibrowser-gtk/sys/lib/libjxl.so.0.8` (dns block) > - Triggering command: `/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node /home/REDACTED/.nvm/versions/node/v22.22.0/bin/node scripts/kbn bootstrap` (dns block) > - Triggering command: `/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node node scripts/eslint src/platform/packages/shared/cloud/connection_details/connection_details_flyout_content.stories.tsx src/platform/packages/shared/cloud/connection_details/tabs/endpoints_tab/rows/cloud_id_row/label.tsx src/platform/packages/shared/cloud/deployment_details/deployment_details_cloudid_input.tsx src/platform/packages/shared/cloud/deployment_details/deployment_details_modal.tsx src/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/flyout.tsx src/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/table.tsx` (dns block) > - `clients3.google.com` > - Triggering command: `/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon /home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon run :extract-version-dependencies :build-webpack 0.8.2 b/libWPEBackend-fdo-1.0.so.1` (dns block) > - `detectportal.firefox.com` > - Triggering command: `/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon /home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon run :extract-version-dependencies :build-webpack 0.8.2 b/libWPEBackend-fdo-1.0.so.1` (dns block) > - `google.com` > - Triggering command: `/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon /home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon run :extract-version-dependencies :build-webpack 0.8.2 b/libWPEBackend-fdo-1.0.so.1` (dns block) > - `googlechromelabs.github.io` > - Triggering command: `/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node /home/REDACTED/.nvm/versions/node/v22.22.0/bin/node install.js p/bin/git ldd b/li��` (dns block) > - `iojs.org` > - Triggering command: `/usr/bin/curl curl -q --fail --compressed -L -s REDACTED -o -` (dns block) > > If you need me to access, download, or install something from one of these locations, you can either: > > - Configure [Actions setup steps](https://gh.io/copilot/actions-setup-steps) to set up my environment, which run before the firewall is enabled > - Add the appropriate URLs or hosts to the custom allowlist in this repository's [Copilot coding agent settings](https://github.com/elastic/kibana/settings/copilot/coding_agent) (admins only) > > </details> <!-- START COPILOT CODING AGENT TIPS --> --- ⌨️ Start Copilot coding agent tasks without leaving your editor — available in [VS Code](https://gh.io/cca-vs-code-docs), [Visual Studio](https://gh.io/cca-visual-studio-docs), [JetBrains IDEs](https://gh.io/cca-jetbrains-docs) and [Eclipse](https://gh.io/cca-eclipse-docs). --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: alexwizp <20072247+alexwizp@users.noreply.github.com> Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
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.
Closes: #259747
Adds missing
aria-label/aria-labelledbyprops to 8 EUI modal-type components (EuiFlyout,EuiModal,EuiPopover) across 6 files to satisfy the@elastic/eui/require-aria-label-for-modalsESLint rule.Changes
connection_details_flyout_content.stories.tsx—aria-labelwith i18n on 3EuiFlyoutinstancescloud_id_row/label.tsx—aria-labelwith i18n onEuiPopoverdeployment_details_cloudid_input.tsx—aria-labelwith i18n onEuiPopoverdeployment_details_modal.tsx—aria-labelledbyviauseGeneratedHtmlIdlinkingEuiModalto itsEuiModalHeaderTitlesaved_objects_management/.../flyout.tsx—aria-labelledbyviahtmlIdGenerator(class component) linkingEuiFlyoutto its<h2>headingsaved_objects_management/.../table.tsx—aria-labelwith i18n on exportEuiPopoverWhere a visible heading exists,
aria-labelledbyis used (preferred). Where no heading is present,aria-labelis used. All new strings usei18n.translate().Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
ci-stats.kibana.dev/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node /home/REDACTED/.nvm/versions/node/v22.22.0/bin/node scripts/yarn_install_scripts.js run ldd 0.8.2 nibrowser-gtk/sys/lib/libjxl.so.0.8(dns block)/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node /home/REDACTED/.nvm/versions/node/v22.22.0/bin/node scripts/kbn bootstrap(dns block)/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node node scripts/eslint src/platform/packages/shared/cloud/connection_details/connection_details_flyout_content.stories.tsx src/platform/packages/shared/cloud/connection_details/tabs/endpoints_tab/rows/cloud_id_row/label.tsx src/platform/packages/shared/cloud/deployment_details/deployment_details_cloudid_input.tsx src/platform/packages/shared/cloud/deployment_details/deployment_details_modal.tsx src/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/flyout.tsx src/platform/plugins/shared/saved_objects_management/public/management_section/objects_table/components/table.tsx(dns block)clients3.google.com/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon /home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon run :extract-version-dependencies :build-webpack 0.8.2 b/libWPEBackend-fdo-1.0.so.1(dns block)detectportal.firefox.com/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon /home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon run :extract-version-dependencies :build-webpack 0.8.2 b/libWPEBackend-fdo-1.0.so.1(dns block)google.com/home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon /home/REDACTED/work/kibana/kibana/node_modules/@moonrepo/core-linux-x64-gnu/moon run :extract-version-dependencies :build-webpack 0.8.2 b/libWPEBackend-fdo-1.0.so.1(dns block)googlechromelabs.github.io/home/REDACTED/.nvm/versions/node/v22.22.0/bin/node /home/REDACTED/.nvm/versions/node/v22.22.0/bin/node install.js p/bin/git ldd b/li��(dns block)iojs.org/usr/bin/curl curl -q --fail --compressed -L -s REDACTED -o -(dns block)If you need me to access, download, or install something from one of these locations, you can either:
⌨️ Start Copilot coding agent tasks without leaving your editor — available in VS Code, Visual Studio, JetBrains IDEs and Eclipse.