Skip to content

[ML] Add aria-label to Anomaly score button for screen reader accessibility#266469

Merged
alexwizp merged 7 commits into
mainfrom
copilot/ml-anomaly-explorer-fix-button-title
May 10, 2026
Merged

[ML] Add aria-label to Anomaly score button for screen reader accessibility#266469
alexwizp merged 7 commits into
mainfrom
copilot/ml-anomaly-explorer-fix-button-title

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 29, 2026

The Anomaly score button in the Anomaly Explorer only announces its selection value ("Multiple") to screen readers, missing the "Anomaly score" title context. This violates WCAG SC 4.1.2 (Name, Role, Value).

Fixes #264988

Changes

  • Added optional aria-label prop to MultiSuperSelect component, forwarded to the inner EuiButtonEmpty
  • Passed the "Anomaly score" label as aria-label in SelectSeverityUI so assistive technology announces the full context

Screen readers will now announce: "Anomaly score, Multiple, collapsed, button" instead of just "Multiple, collapsed, button".

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
    • Triggering command: /home/REDACTED/.nvm/versions/node/v24.14.1/bin/node /home/REDACTED/.nvm/versions/node/v24.14.1/bin/node scripts/yarn_install_scripts.js run x86-64.so.2 0.8.2 if (a[i] < (dns block)
    • Triggering command: /home/REDACTED/.nvm/versions/node/v24.14.1/bin/node /home/REDACTED/.nvm/versions/node/v24.14.1/bin/node scripts/kbn bootstrap (dns block)
    • Triggering command: /home/REDACTED/.nvm/versions/node/v24.14.1/bin/node node scripts/check_changes.ts dd ldd s/li�� (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 :build-webpack ldd 0.8.2 (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 :build-webpack ldd 0.8.2 (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 :build-webpack ldd 0.8.2 (dns block)
  • googlechromelabs.github.io
    • Triggering command: /home/REDACTED/.nvm/versions/node/v24.14.1/bin/node /home/REDACTED/.nvm/versions/node/v24.14.1/bin/node install.js _TOKEN"; }; f ldd b/li�� nibrowser-gtk/sys/lib/libbrotlienc.so.1.0.7 (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:

…essibility

Agent-Logs-Url: https://github.com/elastic/kibana/sessions/b9266b90-d7b1-4f7f-b99f-a5bd1d9839ff

Co-authored-by: L1nBra <178042654+L1nBra@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix missing title for anomaly score button in announcement [ML] Add aria-label to Anomaly score button for screen reader accessibility Apr 29, 2026
Copilot AI requested a review from L1nBra April 29, 2026 16:44
@bhavyarm
Copy link
Copy Markdown
Contributor

/ci

@bhavyarm
Copy link
Copy Markdown
Contributor

@elasticmachine run docs-build

@bhavyarm bhavyarm added Project:Accessibility release_note:skip Skip the PR/issue when compiling release notes backport:all-open Backport to all branches that could still receive a release v9.5.0 a11y:agent-pr PR has been created by the agent labels Apr 29, 2026
@L1nBra L1nBra marked this pull request as ready for review May 5, 2026 13:55
@L1nBra L1nBra requested a review from a team as a code owner May 5, 2026 13:55
@infra-vault-gh-plugin-prod
Copy link
Copy Markdown

Pinging @elastic/kibana-accessibility (Project:Accessibility)

@infra-vault-gh-plugin-prod
Copy link
Copy Markdown

Pinging @elastic/ml-ui (:ml)

@peteharverson peteharverson self-requested a review May 6, 2026 11:21
Copy link
Copy Markdown
Contributor

@peteharverson peteharverson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested and LGTM

@alexwizp alexwizp removed the backport:all-open Backport to all branches that could still receive a release label May 8, 2026
@alexwizp alexwizp added backport:version Backport to applied version labels v9.4.0 v9.3.5 labels May 8, 2026
@alexwizp
Copy link
Copy Markdown
Contributor

alexwizp commented May 8, 2026

/ci

@alexwizp
Copy link
Copy Markdown
Contributor

alexwizp commented May 8, 2026

@elasticmachine run docs-build

@alexwizp alexwizp enabled auto-merge (squash) May 8, 2026 19:00
@alexwizp
Copy link
Copy Markdown
Contributor

alexwizp commented May 9, 2026

/ci

1 similar comment
@alexwizp
Copy link
Copy Markdown
Contributor

alexwizp commented May 9, 2026

/ci

@alexwizp
Copy link
Copy Markdown
Contributor

alexwizp commented May 9, 2026

@elasticmachine run docs-build

@alexwizp
Copy link
Copy Markdown
Contributor

/ci

@alexwizp
Copy link
Copy Markdown
Contributor

@elasticmachine run docs-build

@kibanamachine
Copy link
Copy Markdown
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] Scout Lane #6 - stateful-classic / default / local-stateful-classic - APM integration not installed but setup completed - Admin user
  • [job] [logs] Scout Lane #6 - stateful-classic / default / local-stateful-classic - APM integration not installed but setup completed - Viewer user
  • [job] [logs] Scout Lane #6 - stateful-classic / default / local-stateful-classic - Observability Landing Page (discover.isEsqlDefault enabled) - redirects to onboarding when no logs data exists
  • [job] [logs] Scout Lane #6 - stateful-classic / default / local-stateful-classic - Profiling is not setup and no data is loaded - Admin users
  • [job] [logs] Scout Lane #6 - stateful-classic / default / local-stateful-classic - Profiling is not setup and no data is loaded - Viewer users

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
ml 5.6MB 5.6MB +49.0B

History

cc @L1nBra @Copilot

@alexwizp alexwizp merged commit 8ef3b44 into main May 10, 2026
30 checks passed
@alexwizp alexwizp deleted the copilot/ml-anomaly-explorer-fix-button-title branch May 10, 2026 16:48
@kibanamachine
Copy link
Copy Markdown
Contributor

Starting backport for target branches: 9.3, 9.4

https://github.com/elastic/kibana/actions/runs/25634278555

@kibanamachine
Copy link
Copy Markdown
Contributor

💚 All backports created successfully

Status Branch Result
9.3
9.4

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request May 10, 2026
…ccessibility (#266469) (#268595)

# Backport

This will backport the following commits from `main` to `9.4`:
- [[ML] Add aria-label to Anomaly score button for screen reader
accessibility (#266469)](#266469)

<!--- 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-05-10T16:48:22Z","message":"[ML]
Add aria-label to Anomaly score button for screen reader accessibility
(#266469)\n\nThe Anomaly score button in the Anomaly Explorer only
announces its\nselection value (\"Multiple\") to screen readers, missing
the \"Anomaly\nscore\" title context. This violates WCAG SC 4.1.2 (Name,
Role, Value).\n\nFixes
https://github.com/elastic/kibana/issues/264988\n\n### Changes\n\n-
Added optional `aria-label` prop to `MultiSuperSelect`
component,\nforwarded to the inner `EuiButtonEmpty`\n- Passed the
\"Anomaly score\" label as `aria-label` in `SelectSeverityUI`\nso
assistive technology announces the full context\n\nScreen readers will
now announce: *\"Anomaly score, Multiple, collapsed,\nbutton\"* instead
of just *\"Multiple, collapsed, button\"*.\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/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\nscripts/yarn_install_scripts.js
run x86-64.so.2 0.8.2 if (a[i] &lt;`\n(dns block)\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
scripts/kbn\nbootstrap` (dns block)\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
node\nscripts/check_changes.ts dd ldd s/li\u0004\u0018` (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
:build-webpack ldd 0.8.2` (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
:build-webpack ldd 0.8.2` (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
:build-webpack ldd 0.8.2` (dns block)\n> -
`googlechromelabs.github.io`\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
install.js\n_TOKEN&#34;; }; f ldd
b/li\u0004\u0018\nnibrowser-gtk/sys/lib/libbrotlienc.so.1.0.7` (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\nCo-authored-by:
copilot-swe-agent[bot]
<198982749+Copilot@users.noreply.github.com>\nCo-authored-by: L1nBra
<178042654+L1nBra@users.noreply.github.com>\nCo-authored-by: Bhavya RM
<bhavya@elastic.co>\nCo-authored-by: L1nBra
<lina.braziulyte@gmail.com>\nCo-authored-by: Alexey Antonov
<alexwizp@gmail.com>","sha":"8ef3b44932d2b984f44d3569cc86b47242a08245","branchLabelMapping":{"^v9.5.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Project:Accessibility",":ml","Feature:Anomaly
Detection","release_note:skip","💝community","backport:version","v9.4.0","a11y:agent-pr","v9.5.0","v9.3.5"],"title":"[ML]
Add aria-label to Anomaly score button for screen reader
accessibility","number":266469,"url":"https://github.com/elastic/kibana/pull/266469","mergeCommit":{"message":"[ML]
Add aria-label to Anomaly score button for screen reader accessibility
(#266469)\n\nThe Anomaly score button in the Anomaly Explorer only
announces its\nselection value (\"Multiple\") to screen readers, missing
the \"Anomaly\nscore\" title context. This violates WCAG SC 4.1.2 (Name,
Role, Value).\n\nFixes
https://github.com/elastic/kibana/issues/264988\n\n### Changes\n\n-
Added optional `aria-label` prop to `MultiSuperSelect`
component,\nforwarded to the inner `EuiButtonEmpty`\n- Passed the
\"Anomaly score\" label as `aria-label` in `SelectSeverityUI`\nso
assistive technology announces the full context\n\nScreen readers will
now announce: *\"Anomaly score, Multiple, collapsed,\nbutton\"* instead
of just *\"Multiple, collapsed, button\"*.\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/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\nscripts/yarn_install_scripts.js
run x86-64.so.2 0.8.2 if (a[i] &lt;`\n(dns block)\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
scripts/kbn\nbootstrap` (dns block)\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
node\nscripts/check_changes.ts dd ldd s/li\u0004\u0018` (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
:build-webpack ldd 0.8.2` (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
:build-webpack ldd 0.8.2` (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
:build-webpack ldd 0.8.2` (dns block)\n> -
`googlechromelabs.github.io`\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
install.js\n_TOKEN&#34;; }; f ldd
b/li\u0004\u0018\nnibrowser-gtk/sys/lib/libbrotlienc.so.1.0.7` (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\nCo-authored-by:
copilot-swe-agent[bot]
<198982749+Copilot@users.noreply.github.com>\nCo-authored-by: L1nBra
<178042654+L1nBra@users.noreply.github.com>\nCo-authored-by: Bhavya RM
<bhavya@elastic.co>\nCo-authored-by: L1nBra
<lina.braziulyte@gmail.com>\nCo-authored-by: Alexey Antonov
<alexwizp@gmail.com>","sha":"8ef3b44932d2b984f44d3569cc86b47242a08245"}},"sourceBranch":"main","suggestedTargetBranches":["9.4","9.3"],"targetPullRequestStates":[{"branch":"9.4","label":"v9.4.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.5.0","branchLabelMappingKey":"^v9.5.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/266469","number":266469,"mergeCommit":{"message":"[ML]
Add aria-label to Anomaly score button for screen reader accessibility
(#266469)\n\nThe Anomaly score button in the Anomaly Explorer only
announces its\nselection value (\"Multiple\") to screen readers, missing
the \"Anomaly\nscore\" title context. This violates WCAG SC 4.1.2 (Name,
Role, Value).\n\nFixes
https://github.com/elastic/kibana/issues/264988\n\n### Changes\n\n-
Added optional `aria-label` prop to `MultiSuperSelect`
component,\nforwarded to the inner `EuiButtonEmpty`\n- Passed the
\"Anomaly score\" label as `aria-label` in `SelectSeverityUI`\nso
assistive technology announces the full context\n\nScreen readers will
now announce: *\"Anomaly score, Multiple, collapsed,\nbutton\"* instead
of just *\"Multiple, collapsed, button\"*.\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/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\nscripts/yarn_install_scripts.js
run x86-64.so.2 0.8.2 if (a[i] &lt;`\n(dns block)\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
scripts/kbn\nbootstrap` (dns block)\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
node\nscripts/check_changes.ts dd ldd s/li\u0004\u0018` (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
:build-webpack ldd 0.8.2` (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
:build-webpack ldd 0.8.2` (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
:build-webpack ldd 0.8.2` (dns block)\n> -
`googlechromelabs.github.io`\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
install.js\n_TOKEN&#34;; }; f ldd
b/li\u0004\u0018\nnibrowser-gtk/sys/lib/libbrotlienc.so.1.0.7` (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\nCo-authored-by:
copilot-swe-agent[bot]
<198982749+Copilot@users.noreply.github.com>\nCo-authored-by: L1nBra
<178042654+L1nBra@users.noreply.github.com>\nCo-authored-by: Bhavya RM
<bhavya@elastic.co>\nCo-authored-by: L1nBra
<lina.braziulyte@gmail.com>\nCo-authored-by: Alexey Antonov
<alexwizp@gmail.com>","sha":"8ef3b44932d2b984f44d3569cc86b47242a08245"}},{"branch":"9.3","label":"v9.3.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: L1nBra <178042654+L1nBra@users.noreply.github.com>
Co-authored-by: Bhavya RM <bhavya@elastic.co>
Co-authored-by: L1nBra <lina.braziulyte@gmail.com>
Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
kibanamachine added a commit that referenced this pull request May 10, 2026
…ccessibility (#266469) (#268594)

# Backport

This will backport the following commits from `main` to `9.3`:
- [[ML] Add aria-label to Anomaly score button for screen reader
accessibility (#266469)](#266469)

<!--- 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-05-10T16:48:22Z","message":"[ML]
Add aria-label to Anomaly score button for screen reader accessibility
(#266469)\n\nThe Anomaly score button in the Anomaly Explorer only
announces its\nselection value (\"Multiple\") to screen readers, missing
the \"Anomaly\nscore\" title context. This violates WCAG SC 4.1.2 (Name,
Role, Value).\n\nFixes
https://github.com/elastic/kibana/issues/264988\n\n### Changes\n\n-
Added optional `aria-label` prop to `MultiSuperSelect`
component,\nforwarded to the inner `EuiButtonEmpty`\n- Passed the
\"Anomaly score\" label as `aria-label` in `SelectSeverityUI`\nso
assistive technology announces the full context\n\nScreen readers will
now announce: *\"Anomaly score, Multiple, collapsed,\nbutton\"* instead
of just *\"Multiple, collapsed, button\"*.\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/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\nscripts/yarn_install_scripts.js
run x86-64.so.2 0.8.2 if (a[i] &lt;`\n(dns block)\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
scripts/kbn\nbootstrap` (dns block)\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
node\nscripts/check_changes.ts dd ldd s/li\u0004\u0018` (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
:build-webpack ldd 0.8.2` (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
:build-webpack ldd 0.8.2` (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
:build-webpack ldd 0.8.2` (dns block)\n> -
`googlechromelabs.github.io`\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
install.js\n_TOKEN&#34;; }; f ldd
b/li\u0004\u0018\nnibrowser-gtk/sys/lib/libbrotlienc.so.1.0.7` (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\nCo-authored-by:
copilot-swe-agent[bot]
<198982749+Copilot@users.noreply.github.com>\nCo-authored-by: L1nBra
<178042654+L1nBra@users.noreply.github.com>\nCo-authored-by: Bhavya RM
<bhavya@elastic.co>\nCo-authored-by: L1nBra
<lina.braziulyte@gmail.com>\nCo-authored-by: Alexey Antonov
<alexwizp@gmail.com>","sha":"8ef3b44932d2b984f44d3569cc86b47242a08245","branchLabelMapping":{"^v9.5.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Project:Accessibility",":ml","Feature:Anomaly
Detection","release_note:skip","💝community","backport:version","v9.4.0","a11y:agent-pr","v9.5.0","v9.3.5"],"title":"[ML]
Add aria-label to Anomaly score button for screen reader
accessibility","number":266469,"url":"https://github.com/elastic/kibana/pull/266469","mergeCommit":{"message":"[ML]
Add aria-label to Anomaly score button for screen reader accessibility
(#266469)\n\nThe Anomaly score button in the Anomaly Explorer only
announces its\nselection value (\"Multiple\") to screen readers, missing
the \"Anomaly\nscore\" title context. This violates WCAG SC 4.1.2 (Name,
Role, Value).\n\nFixes
https://github.com/elastic/kibana/issues/264988\n\n### Changes\n\n-
Added optional `aria-label` prop to `MultiSuperSelect`
component,\nforwarded to the inner `EuiButtonEmpty`\n- Passed the
\"Anomaly score\" label as `aria-label` in `SelectSeverityUI`\nso
assistive technology announces the full context\n\nScreen readers will
now announce: *\"Anomaly score, Multiple, collapsed,\nbutton\"* instead
of just *\"Multiple, collapsed, button\"*.\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/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\nscripts/yarn_install_scripts.js
run x86-64.so.2 0.8.2 if (a[i] &lt;`\n(dns block)\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
scripts/kbn\nbootstrap` (dns block)\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
node\nscripts/check_changes.ts dd ldd s/li\u0004\u0018` (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
:build-webpack ldd 0.8.2` (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
:build-webpack ldd 0.8.2` (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
:build-webpack ldd 0.8.2` (dns block)\n> -
`googlechromelabs.github.io`\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
install.js\n_TOKEN&#34;; }; f ldd
b/li\u0004\u0018\nnibrowser-gtk/sys/lib/libbrotlienc.so.1.0.7` (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\nCo-authored-by:
copilot-swe-agent[bot]
<198982749+Copilot@users.noreply.github.com>\nCo-authored-by: L1nBra
<178042654+L1nBra@users.noreply.github.com>\nCo-authored-by: Bhavya RM
<bhavya@elastic.co>\nCo-authored-by: L1nBra
<lina.braziulyte@gmail.com>\nCo-authored-by: Alexey Antonov
<alexwizp@gmail.com>","sha":"8ef3b44932d2b984f44d3569cc86b47242a08245"}},"sourceBranch":"main","suggestedTargetBranches":["9.4","9.3"],"targetPullRequestStates":[{"branch":"9.4","label":"v9.4.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.5.0","branchLabelMappingKey":"^v9.5.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/266469","number":266469,"mergeCommit":{"message":"[ML]
Add aria-label to Anomaly score button for screen reader accessibility
(#266469)\n\nThe Anomaly score button in the Anomaly Explorer only
announces its\nselection value (\"Multiple\") to screen readers, missing
the \"Anomaly\nscore\" title context. This violates WCAG SC 4.1.2 (Name,
Role, Value).\n\nFixes
https://github.com/elastic/kibana/issues/264988\n\n### Changes\n\n-
Added optional `aria-label` prop to `MultiSuperSelect`
component,\nforwarded to the inner `EuiButtonEmpty`\n- Passed the
\"Anomaly score\" label as `aria-label` in `SelectSeverityUI`\nso
assistive technology announces the full context\n\nScreen readers will
now announce: *\"Anomaly score, Multiple, collapsed,\nbutton\"* instead
of just *\"Multiple, collapsed, button\"*.\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/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\nscripts/yarn_install_scripts.js
run x86-64.so.2 0.8.2 if (a[i] &lt;`\n(dns block)\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
scripts/kbn\nbootstrap` (dns block)\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
node\nscripts/check_changes.ts dd ldd s/li\u0004\u0018` (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
:build-webpack ldd 0.8.2` (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
:build-webpack ldd 0.8.2` (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
:build-webpack ldd 0.8.2` (dns block)\n> -
`googlechromelabs.github.io`\n> - Triggering
command:\n`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node\n/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
install.js\n_TOKEN&#34;; }; f ldd
b/li\u0004\u0018\nnibrowser-gtk/sys/lib/libbrotlienc.so.1.0.7` (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\nCo-authored-by:
copilot-swe-agent[bot]
<198982749+Copilot@users.noreply.github.com>\nCo-authored-by: L1nBra
<178042654+L1nBra@users.noreply.github.com>\nCo-authored-by: Bhavya RM
<bhavya@elastic.co>\nCo-authored-by: L1nBra
<lina.braziulyte@gmail.com>\nCo-authored-by: Alexey Antonov
<alexwizp@gmail.com>","sha":"8ef3b44932d2b984f44d3569cc86b47242a08245"}},{"branch":"9.3","label":"v9.3.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: L1nBra <178042654+L1nBra@users.noreply.github.com>
Co-authored-by: Bhavya RM <bhavya@elastic.co>
Co-authored-by: L1nBra <lina.braziulyte@gmail.com>
Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
clintandrewhall pushed a commit that referenced this pull request May 12, 2026
…bility (#266469)

The Anomaly score button in the Anomaly Explorer only announces its
selection value ("Multiple") to screen readers, missing the "Anomaly
score" title context. This violates WCAG SC 4.1.2 (Name, Role, Value).

Fixes #264988

### Changes

- Added optional `aria-label` prop to `MultiSuperSelect` component,
forwarded to the inner `EuiButtonEmpty`
- Passed the "Anomaly score" label as `aria-label` in `SelectSeverityUI`
so assistive technology announces the full context

Screen readers will now announce: *"Anomaly score, Multiple, collapsed,
button"* instead of just *"Multiple, collapsed, button"*.

> [!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/v24.14.1/bin/node
/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
scripts/yarn_install_scripts.js run x86-64.so.2 0.8.2 if (a[i] &lt;`
(dns block)
> - Triggering command:
`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node scripts/kbn
bootstrap` (dns block)
> - Triggering command:
`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node node
scripts/check_changes.ts dd ldd s/li��` (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 :build-webpack ldd 0.8.2` (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 :build-webpack ldd 0.8.2` (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 :build-webpack ldd 0.8.2` (dns block)
> - `googlechromelabs.github.io`
> - Triggering command:
`/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node
/home/REDACTED/.nvm/versions/node/v24.14.1/bin/node install.js
_TOKEN&#34;; }; f ldd b/li��
nibrowser-gtk/sys/lib/libbrotlienc.so.1.0.7` (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>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: L1nBra <178042654+L1nBra@users.noreply.github.com>
Co-authored-by: Bhavya RM <bhavya@elastic.co>
Co-authored-by: L1nBra <lina.braziulyte@gmail.com>
Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a11y:agent-pr PR has been created by the agent backport:version Backport to applied version labels 💝community Feature:Anomaly Detection ML anomaly detection :ml Project:Accessibility release_note:skip Skip the PR/issue when compiling release notes v9.3.5 v9.4.2 v9.5.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ML] Anomaly explorer: Anomaly score button missing title from announcement

6 participants