Skip to content

Conversation

@mgadewoll
Copy link
Contributor

@mgadewoll mgadewoll commented Jun 13, 2025

Summary

Caused by elastic/kibana#212381

This PR fixes an Accessibility bug, where the aria-describedby passed from a wrapping EuiFormRow would not be applied on the input element of the EuiComboBox but instead on the outer wrapper. This would result in the errors not being read by screen readers when the input is focused.

Why are we making this change?

This change fixes an WCAG Level A Accessibility issue with EuiComboBox. The update ensures that related form error messages are read by screen readers when the combobox input is focused.

WCAG 3.3.1 Error Identification

Screenshots

before

Screenshot 2025-06-13 at 17 35 35

Screenshot 2025-06-13 at 18 03 40

after

Screenshot 2025-06-13 at 18 00 03

Screenshot 2025-06-13 at 18 02 42

Impact to users

🟢 This is a bug fix only. There are no visual or breaking changes.

QA

  • checkout this PR and open the added "TESTING_EXAMPLE" story:
    • verify that the aria-describedby is applied on the combobox input and read by screen readers

General checklist

  • Browser QA
    • Checked in both light and dark modes
    • Checked in both MacOS and Windows high contrast modes
    • Checked in mobile
    • Checked in Chrome, Safari, Edge, and Firefox
    • Checked for accessibility including keyboard-only and screenreader modes
  • Docs site QA
  • Code quality checklist
  • Release checklist
    • A changelog entry exists and is marked appropriately.
    • If applicable, added the breaking change issue label (and filled out the breaking change checklist)
  • Designer checklist
    • If applicable, file an issue to update EUI's Figma library with any corresponding UI changes. (This is an internal repo, if you are external to Elastic, ask a maintainer to submit this request)

@mgadewoll mgadewoll self-assigned this Jun 13, 2025
@elasticmachine
Copy link
Collaborator

💚 Build Succeeded

cc @mgadewoll

@elasticmachine
Copy link
Collaborator

💚 Build Succeeded

cc @mgadewoll

Copy link
Contributor

@acstll acstll left a comment

Choose a reason for hiding this comment

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

🟢 Verified manually the attribute is on the <input>, checked output with macOS VoiceOver. (thank you!)

@mgadewoll mgadewoll merged commit a77f7ae into elastic:main Jun 16, 2025
6 checks passed
mgadewoll added a commit that referenced this pull request Jun 16, 2025
- missed those before merging #8798
acstll added a commit to elastic/kibana that referenced this pull request Jun 19, 2025
`103.0.0` ⏩ `103.1.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

## Changes

- **EuiDataGrid** now takes an `onFullScreenChange` callback
- An accessibility fix in **EuiComboBox**
- 3 bug fixes

## Package updates

### `@elastic/eui`

## [`v103.1.0`](https://github.com/elastic/eui/releases/v103.1.0)

- Added `onFullScreenChange` prop to `EuiDataGrid` to handle changes
when the component enters or exits fullscreen mode
([#8765](elastic/eui#8765))

**Bug fixes**

- Fixed `onChange` being triggered twice when the checkbox in
`EuiCheckableCard` is clicked
([#8786](elastic/eui#8786))
- Fixed a circular import on the legacy Amsterdam theme that would cause
the theme usage to break
([#8780](elastic/eui#8780))
- Fixed high contrast theme token overrides not being applied
([#8742](elastic/eui#8742))

**Accessibility**

- Fixed form errors not being read by screen readers for `EuiComboBox`
inside of `EuiFormRow`
([#8798](elastic/eui#8798))

<!--ONMERGE {"backportTargets":["8.19","9.0"]} ONMERGE-->
acstll added a commit to acstll/kibana that referenced this pull request Jun 19, 2025
`103.0.0` ⏩ `103.1.0`

[Questions? Please see our Kibana upgrade
FAQ.](https://github.com/elastic/eui/blob/main/wiki/eui-team-processes/upgrading-kibana.md#faq-for-kibana-teams)

## Changes

- **EuiDataGrid** now takes an `onFullScreenChange` callback
- An accessibility fix in **EuiComboBox**
- 3 bug fixes

## Package updates

### `@elastic/eui`

## [`v103.1.0`](https://github.com/elastic/eui/releases/v103.1.0)

- Added `onFullScreenChange` prop to `EuiDataGrid` to handle changes
when the component enters or exits fullscreen mode
([elastic#8765](elastic/eui#8765))

**Bug fixes**

- Fixed `onChange` being triggered twice when the checkbox in
`EuiCheckableCard` is clicked
([elastic#8786](elastic/eui#8786))
- Fixed a circular import on the legacy Amsterdam theme that would cause
the theme usage to break
([elastic#8780](elastic/eui#8780))
- Fixed high contrast theme token overrides not being applied
([elastic#8742](elastic/eui#8742))

**Accessibility**

- Fixed form errors not being read by screen readers for `EuiComboBox`
inside of `EuiFormRow`
([elastic#8798](elastic/eui#8798))

<!--ONMERGE {"backportTargets":["8.19","9.0"]} ONMERGE-->

(cherry picked from commit b0d46f7)

# Conflicts:
#	package.json
#	yarn.lock
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants