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

Select/Multiselect active descendent is the same colour as already selected items, affecting Keyboard users #7490

Closed
Paul-Grogan opened this issue Dec 22, 2020 · 4 comments · Fixed by #7832 or #9193
Assignees
Labels
component: multiselect proposal: accepted This request has gone through triaging and we are accepting PR's against it. type: a11y ♿

Comments

@Paul-Grogan
Copy link

Paul-Grogan commented Dec 22, 2020

Environment

Operating system: Windows10

Browser: Firefox 84, Chrome 87.0.4280.88, Edge 87.0.664.66

Detailed description

The active descendent in the multiselect uses the same colour as a selected item. This results in it being difficult for a keyboard user to know where they are in the list (without having to either count key presses or toggling the selection to find where they are).
See the screenshot.
000779

What version of the Carbon Design System are you using?
Vanilla Components version
React Components version ^7.25.0
Last updated 11 December 2020

What did you expect to happen?
It would be easy to tell the difference between selected items and the currently active descendent.

What happened instead?
No colour change

What WCAG 2.1 checkpoint does the issue violate?
2.4.7: Focus Visible
Specifically
Benefits
This Success Criterion helps anyone who relies on the keyboard to operate the page, by letting them visually determine the component on which keyboard operations will interact at any point in time.
People with attention limitations, short term memory limitations, or limitations in executive processes benefit by being able to discover where the focus is located.

While the input does have a focus indicator and is ready to accept text when the user types, the options list part of the component doesn't satisfy this.

Steps to reproduce the issue

  1. Navigate a browser to: https://www.carbondesignsystem.com/components/dropdown/usage#live-demo
  2. Change the Variant selector to either the Multiselect or Filterable Multiselect
    NOTE: the Select and Drop Down variants have this problem too, but because there's only one item selectable it's not as intrusive.
  3. Using only the keyboard, open the drop down list from the multiselect
  4. Using the arrow keys, make an option active and select it with Enter, repeat this to select multiple items.
  5. Using the arrow keys again, make any of the selected items active.

Additional information

  • Screenshots or code
  • Notes
@dakahn dakahn added component: multiselect proposal: open This request has gone through triaging. We're determining whether we take this on or not. and removed status: needs triage 🕵️‍♀️ labels Jan 16, 2021
@dakahn
Copy link
Contributor

dakahn commented Jan 16, 2021

Agree that active and selected menu items are similar enough to be difficult to spot for magnification/low vision users.

@dakahn
Copy link
Contributor

dakahn commented Jan 27, 2021

We're getting AVT teams reporting this as a contrast violation as well

@dakahn dakahn added proposal: accepted This request has gone through triaging and we are accepting PR's against it. and removed proposal: open This request has gone through triaging. We're determining whether we take this on or not. labels Jan 27, 2021
@aagonzales
Copy link
Member

Solution
The "active" state for the "selected" items should be a background color change using $hover-selected-ui
image

Bug
That same token should also be used for the hover state of the selected items. Right now the hover is going lighter because it's using the wrong token.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: multiselect proposal: accepted This request has gone through triaging and we are accepting PR's against it. type: a11y ♿
Projects
None yet
6 participants