Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EuiDatePicker][a11y] Fix screen reader announcements on time selection and intermittently broken up/down navigation on NVDA/JAWS #7726

Merged
merged 5 commits into from May 16, 2024

Conversation

cee-chen
Copy link
Member

@cee-chen cee-chen commented May 2, 2024

Summary

closes #6687

QA

General checklist

  • Browser QA
    • Checked for accessibility including keyboard-only and screenreader modes
  • Docs site QA - N/A
  • Code quality checklist - N/A, technically a 3rd party library?...
    - [ ] Added or updated jest and cypress tests
  • Release checklist
    • A changelog entry exists and is marked appropriately.
  • Designer checklist - N/A

@cee-chen cee-chen added bug a11yReviewNeeded Accessibility design or code review labels May 2, 2024
@cee-chen cee-chen marked this pull request as ready for review May 2, 2024 19:04
@cee-chen cee-chen requested a review from a team as a code owner May 2, 2024 19:04
Copy link
Contributor

@1Copenut 1Copenut left a comment

Choose a reason for hiding this comment

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

We're closer to a solution, but not quite there. I captured a new unexpected behavior in a comment. LMK if you want to meet up and discuss.

src/components/date_picker/react-datepicker/src/time.js Outdated Show resolved Hide resolved
- should be on the parent element that *does not* dynamically change

- also needs a polite attribute! yikes
- trying to fix the issue where the up/down arrow keys don't work

- not sure if this is doing anything honestly, need Trevor to test on staging
@cee-chen cee-chen force-pushed the datepicker/nvda-jaws-timepicker-fix branch from 1274c3a to 03949be Compare May 16, 2024 18:28
@kibanamachine
Copy link

Preview staging links for this PR:

@elasticmachine
Copy link
Collaborator

💚 Build Succeeded

History

cc @1Copenut

Copy link
Contributor

@1Copenut 1Copenut left a comment

Choose a reason for hiding this comment

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

💯 This change is a major improvement in the screen reader UX for EuiDatePicker and EuiSuperDatePicker.

I tested the behavior and confirmed it's working as expected using the following screen reader / browser combos:

  • MacOS Safari + VoiceOver
  • Win10 Firefox + NVDA
  • Win10 Chrome + NVDA
  • Win10 Chrome + JAWS

This testing and pair-coding did identify a bug (in prod already) how the EuiSuperDatePicker is handling time picking for screen readers. I'll log a separate issue for that so we don't block this PR with an out-of-scope item.

@cee-chen cee-chen merged commit a4d7638 into elastic:main May 16, 2024
5 checks passed
@cee-chen cee-chen deleted the datepicker/nvda-jaws-timepicker-fix branch May 16, 2024 23:28
mgadewoll added a commit to elastic/kibana that referenced this pull request May 22, 2024
`v94.5.0-backport.1` ⏩ `v94.5.1`

[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)

---

## [`v94.5.1`](https://github.com/elastic/eui/releases/v94.5.1)

**Bug fixes**

- Fixed an `EuiDualRange`s with `showInput` bug, where `min`/`max`
values and invalid states were not being correctly set if values were
empty strings ([#7767](elastic/eui#7767))

**Accessibility**

- Improved `EuiDatePicker` and `EuiSuperDatePicker`'s time selection
screen reader UX ([#7726](elastic/eui#7726))
- Improved the accessibility of `EuiDatePicker` by providing full
screen-reader-only week day names to the calendar header
([#7748](elastic/eui#7748))
- Improved `EuiBadge`'s ability to tell when text within the badge is
selected/highlighted and selection color contrast
([#7752](elastic/eui#7752))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a11yReviewNeeded Accessibility design or code review bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG][EuiSuperDatePicker] Cannot select a time from the time list when using NVDA, JAWS screen readers
4 participants