carbon-design-system / carbon

A design system built by IBM
https://www.carbondesignsystem.com
Apache License 2.0
7.87k stars 1.82k forks source link

[Bug]: Inconsistency in focus behavior between Combo box and Dropdown #16106

Open Kritvi-bhatia17 opened 7 months ago

Kritvi-bhatia17 commented 7 months ago

Package

carbon-components

Browser

No response

Package version

1.52.0

React version

18.2.0

Description

When focusing through the menu options of the Combo box, the focus cycles from top to bottom. However, in the Dropdown, the focus does not cycle through the options and stops at the last option in the menu.

Apr-01-2024 10-35-36

Reproduction/example

.

Steps to reproduce

.

Suggested Severity

Severity 4 = Unrelated to a user task, has a workaround or does not need a workaround.

Application/PAL

No response

Code of Conduct

tay1orjones commented 6 months ago

Combobox and FilterableMultiSlect wraps -- MultiSelect and Dropdown do not wrap. Is this correct? The APG guidance for Combobox suggests that it should not wrap. APG for ListBox isn't clear on either approach. What should we do?

mbgower commented 6 months ago

To some degree, I feel like this is a UX discussion. There must be some decent guidance out there on why and why not one would have wrap from bottom to top item in a list. I'd like to see those considerations itemized and then ponder whether there are accessibility complications. My basic assumption is that in a situation where all items are equally weighted, a wrap might make sense. I'm looking through a long list of dropdown items, and I want to return to a first item, having reviewed the set, so it's much easer to keep arrowing down. Think, for example of a list of movies that are available to watch. But given that the most established dropdown component, Select, does NOT wrap around, there is clear precedent to restrict. I think there is probably less benefit with an alphabetically organized list in one circumstances (i.e., jumping from the last Z entry to the first A) BUT if I know the item I want is near the bottom of the list, it is way faster to arrow UP from the first item and rapidly get to the last item. Of course in most interactions, I can also type any letter to jump to the first item beginning with it, so wrap has less relative utility.

From a negative a11y perspective, I can see a user with low vision not even realizing they have wrapped. I can see some people with cognitive issues also being confused. Those are probably the biggest cautions I can think of.

thyhmdo commented 5 months ago

The design team will need to do more research to provide options here.