Added SR-only help text to EuiPopover and dependent components.#6589
Added SR-only help text to EuiPopover and dependent components.#65891Copenut merged 20 commits intoelastic:mainfrom 1Copenut:feature/screen-reader-dialogue
EuiPopover and dependent components.#6589Conversation
* Added SR help text to EuiPopover, EuiRange, EuiDualRange. * Completed preliminary testing with Safari and Firefox, VO screen reader. * Updated snapshot tests for SR instructions.
1Copenut
left a comment
There was a problem hiding this comment.
Left two review comments for the largest change and reasoning behind another.
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_6589/ |
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_6589/ |
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_6589/ |
breehall
left a comment
There was a problem hiding this comment.
Good work Trevor! I used the PR preview in combination with Apple Voice Over to check these changes. I don't typically use Voice Over, but good gravy does it have a lot to say! 😂
cee-chen
left a comment
There was a problem hiding this comment.
Making #6589 (comment) a blocking change request
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_6589/ |
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_6589/ |
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_6589/ |
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_6589/ |
| ); | ||
|
|
||
| expect(component.find('p').text()).toEqual( | ||
| expect(component.find('p#generated-id_instructions').text()).toEqual( |
There was a problem hiding this comment.
This is fine for now / not a change request, but FYI, at some point we want to stop replacing the randomly generated ID strings with a static generated-id string. (#4408)
There was a problem hiding this comment.
Agreed. I'll keep that in mind as I write or refactor tests going forward. Thank you for the link and FYI.
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_6589/ |
Co-authored-by: Cee Chen <549407+cee-chen@users.noreply.github.com>
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_6589/ |
|
jenkins retest this please |
|
Preview documentation changes for this PR: https://eui.elastic.co/pr_6589/ |
## Summary eui@76.0.2 ⏩ eui@76.3.0 ## [`76.3.0`](https://github.com/elastic/eui/tree/v76.3.0) - Updated `EuiSkipLink`'s `fallbackDestination` prop to support an array of query selector strings ([#6646](elastic/eui#6646)) **Bug fixes** - Fixed `EuiFlyout` to preserve body scrollbar width on open ([#6645](elastic/eui#6645)) - Fixed `EuiImage`'s full screen mode to not scroll jump & to preserve body scrollbar width on open ([#6645](elastic/eui#6645)) - Fixed `EuiCodeBlock`'s full screen mode to not scroll jump & to preserve body scrollbar width on open ([#6645](elastic/eui#6645)) ## [`76.2.0`](https://github.com/elastic/eui/tree/v76.2.0) - Added new `renderCustomGridBody` escape hatch rendering prop to `EuiDataGrid` ([#6624](elastic/eui#6624)) **Bug fixes** - Fixed visual listbox focus ring bug on non-searchable `EuiSelectable`s ([#6637](elastic/eui#6637)) - Added a legacy `alert` alias for the `warning` `EuiIcon` type ([#6640](elastic/eui#6640)) - Fixed a type definition incorrectly coming from a dev dependency, which was causing issues for some consuming projects ([#6643](elastic/eui#6643)) ## [`76.1.0`](https://github.com/elastic/eui/tree/v76.1.0) - Added more detailed screen reader instructions to `EuiSelectable`, `EuiSuggest`, `EuiSelectableTemplateSitewide`, `EuiRange`, and `EuiDualRange`. ([#6589](elastic/eui#6589)) - Added new `placeholder` prop to `EuiSuperSelect` ([#6630](elastic/eui#6630)) - Added new `setCellPopoverProps` parameter callback to `EuiDataGrid`'s `renderCellPopover` prop ([#6632](elastic/eui#6632)) **Bug fixes** - Fixed an ARIA attribute in `EuiSelectableList` ([#6589](elastic/eui#6589)) - Fixed `EuiSelectable` to no longer show active selection state or respond to the Up/Down arrow keys when focus is inside the selectable container, but not on the searchbox or listbox. ([#6631](elastic/eui#6631)) --------- Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
## Summary eui@76.0.2 ⏩ eui@76.3.0 ## [`76.3.0`](https://github.com/elastic/eui/tree/v76.3.0) - Updated `EuiSkipLink`'s `fallbackDestination` prop to support an array of query selector strings ([elastic#6646](elastic/eui#6646)) **Bug fixes** - Fixed `EuiFlyout` to preserve body scrollbar width on open ([elastic#6645](elastic/eui#6645)) - Fixed `EuiImage`'s full screen mode to not scroll jump & to preserve body scrollbar width on open ([elastic#6645](elastic/eui#6645)) - Fixed `EuiCodeBlock`'s full screen mode to not scroll jump & to preserve body scrollbar width on open ([elastic#6645](elastic/eui#6645)) ## [`76.2.0`](https://github.com/elastic/eui/tree/v76.2.0) - Added new `renderCustomGridBody` escape hatch rendering prop to `EuiDataGrid` ([elastic#6624](elastic/eui#6624)) **Bug fixes** - Fixed visual listbox focus ring bug on non-searchable `EuiSelectable`s ([elastic#6637](elastic/eui#6637)) - Added a legacy `alert` alias for the `warning` `EuiIcon` type ([elastic#6640](elastic/eui#6640)) - Fixed a type definition incorrectly coming from a dev dependency, which was causing issues for some consuming projects ([elastic#6643](elastic/eui#6643)) ## [`76.1.0`](https://github.com/elastic/eui/tree/v76.1.0) - Added more detailed screen reader instructions to `EuiSelectable`, `EuiSuggest`, `EuiSelectableTemplateSitewide`, `EuiRange`, and `EuiDualRange`. ([elastic#6589](elastic/eui#6589)) - Added new `placeholder` prop to `EuiSuperSelect` ([elastic#6630](elastic/eui#6630)) - Added new `setCellPopoverProps` parameter callback to `EuiDataGrid`'s `renderCellPopover` prop ([elastic#6632](elastic/eui#6632)) **Bug fixes** - Fixed an ARIA attribute in `EuiSelectableList` ([elastic#6589](elastic/eui#6589)) - Fixed `EuiSelectable` to no longer show active selection state or respond to the Up/Down arrow keys when focus is inside the selectable container, but not on the searchbox or listbox. ([elastic#6631](elastic/eui#6631)) --------- Co-authored-by: Tiago Costa <tiago.costa@elastic.co>
Summary
This PR closes #5813. It adds screen reader helper text to several components in two broad ways:
EuiFlyoutis opened. These instructions take into account if the flyout hasownFocus={true|orownFocus={false}.aria-describedbytext for input-centric components. This was the best way to ensure the instructions were read back consistently.QA
Remove or strikethrough items that do not apply to your PR.
General checklist