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

[a11y]: Contained list has two focus points, and overlap between the focus indicators #14174

Open
2 tasks done
mbgower opened this issue Jul 10, 2023 · 3 comments
Open
2 tasks done

Comments

@mbgower
Copy link

mbgower commented Jul 10, 2023

Package

@carbon/react

Browser

Chrome

Operating System

MacOS

Package version

https://react.carbondesignsystem.com/?path=/story/components-containedlist--with-interactive-items-and-actions

React version

@carbon/react@1.33.2

Automated testing tool and ruleset

n/a

Assistive technology

No response

Description

The Interactive items and actions implementation on Storbyook takes two separate tab stops per row.

I'm concerned about this, since I don't understand what the two different outcomes are when activating the control at each of these tab stops (and of course in Storybook, there is no outcome I can test).

A very related but separate issue is that the first focus indicator encompasses both tab stops on the row both the list item, and its 'dismiss' icon:
Screenshot 2023-07-06 at 2.31.44 PM.png
Then the user can advanced the focus so that the 'dismiss' icon takes its own separate tabstop as well.
Screenshot 2023-07-06 at 2.31.56 PM.png

That is definitely wrong.

I'm unclear about how these two actions can co-exist, and what that means.

WCAG 2.1 Violation

No response

Reproduction/example

https://react.carbondesignsystem.com/?path=/story/components-containedlist--with-interactive-items-and-actions

Steps to reproduce

  1. Navigate to https://react.carbondesignsystem.com/?path=/story/components-containedlist--with-interactive-items-and-actions
  2. Tab to the canvas
  3. Tab through the component

Code of Conduct

@janhassel
Copy link
Member

The design intent for this is to allow for a primary action on a list item (most likely "go to action") and a secondary (like "dismiss" in this example, could also be something different though).

Here is one example mockup of the ContainedList used to list notifications: The user can either interact with the notification itself to go the relevant area of the product that is throwing a warning and they can dismiss this notification.

image image

@tay1orjones
Copy link
Member

At the very least we can update storybook to provide an alert() when activating the row vs the dismiss action to provide some distinction between these two actions. It would also be nice if we could log these events to the "Actions" pane in storybook.

@mbgower
Copy link
Author

mbgower commented Aug 3, 2023

One obvious thing that needs to be addressed is the first focus indicator should NOT contain the 'action' button (typically, 'delete', I think)

IF this is ALWAYS a delete function, the user could just press Delete to delete, and there may not even be a need for the second tab stop, but in any case, it should not be included within the first focus indicator, IMO

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: ⏱ Backlog
Development

No branches or pull requests

4 participants