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

Discrepancy with Combobox pattern arrow key interaction guidelines #3061

Open
TheSonOfThomp opened this issue Jul 23, 2024 · 2 comments
Open
Assignees
Labels
Feedback Issue raised by or for collecting input from people outside APG task force P3 Task force has identified as low priority at this time compared to other prioritized issues Pattern Page Related to a page documenting a Pattern

Comments

@TheSonOfThomp
Copy link

I'm noticing some discrepancy in the Combobox interaction pattern guidelines.

In this document: https://www.w3.org/WAI/ARIA/apg/patterns/combobox/#keyboard_interaction, in the "Combobox Keyboard Interaction" section, it states:

When focus is in the combobox... Up Arrow (Optional): If the popup is available, places focus on the last focusable element in the popup.

However, in the following section, "Listbox Popup Keyboard Interaction", it states:

When focus is in a listbox popup... Down Arrow: Moves focus to and selects the next option. If focus is on the last option, either returns focus to the combobox or does nothing.

and

Up Arrow: Moves focus to and selects the previous option. If focus is on the first option, either returns focus to the combobox or does nothing.

This raises the concern: if a user presses the Up Arrow to move focus to the last element in the popup, this action may not be reversible, except by pressing the Up Arrow until they reach the top of the menu.

Finally, this demo: Editable Combobox With List Autocomplete Example
behaves counter to the "Listbox Popup Keyboard Interaction" guidelines—it "rolls over" focus from first to last, and vice-versa.

@TheSonOfThomp TheSonOfThomp changed the title Discrepancy with Combobox pattern arrow key behavior guidelines Discrepancy with Combobox pattern arrow key interaction guidelines Jul 23, 2024
@TheSonOfThomp
Copy link
Author

TheSonOfThomp commented Jul 23, 2024

There is also a discrepancy between the "Grid Popup Keyboard Interaction" section in the Combobox pattern guidelines:

In a grid popup... Down Arrow: Moves focus one cell down. If focus is in the last row of the grid, either does nothing or returns focus to the combobox.

compared to the "Keyboard Support" section in Editable Combobox with Grid Popup Example:

Down Arrow | Moves focus to the next row. If focus is in the last row, moves focus to the first row.

which also differs from Keyboard Interaction for LayoutGrids

Down Arrow: Moves focus one cell down. Optionally, if focus is on the bottom cell in the column, focus may move to the top cell in the following column. If focus is on the last cell in the grid, focus does not move.

@a11ydoer a11ydoer assigned a11ydoer and mcking65 and unassigned a11ydoer Jul 30, 2024
@mcking65 mcking65 added Feedback Issue raised by or for collecting input from people outside APG task force Pattern Page Related to a page documenting a Pattern labels Jul 30, 2024
@mcking65 mcking65 added the P3 Task force has identified as low priority at this time compared to other prioritized issues label Jul 30, 2024
@css-meeting-bot
Copy link
Member

The ARIA Authoring Practices (APG) Task Force just discussed Combobox arrow key behaviors.

The full IRC log of that discussion <jugglinmike> Topic: Combobox arrow key behaviors
<jugglinmike> github: https://github.com//issues/3061
<jugglinmike> Matt_King: I volunteer to take this issue on
<jugglinmike> Matt_King: I think it's mostly editorial, at least initially. Though we need to get aligned on what we want the pattern to say
<jugglinmike> Matt_King: There are certain places where the combo box pattern is fairly prescriptive about what the up- and down-arrow keys do when you are at the ends of the grid
<jugglinmike> Matt_King: The reporter really looked deeply into this and said that the examples and the description of the examples are out-of-sync
<jugglinmike> Matt_King: My gut reaction is that the pattern might be too prescriptive and that there should potentially be more flexibility in the pattern
<jugglinmike> Matt_King: I'd like to identify the core questions and then make a proposal
<jugglinmike> Matt_King: Now, if someone else could do this sooner than me, that'd be pretty awesome
<jugglinmike> Matt_King: Is there anybody else here who would love to work on this and figure out a way to resolve the discrepancies?
<jugglinmike> jongund: I can read through it and see
<jugglinmike> Matt_King: Actually, since you wrote some of these examples, it would be really nice if you could read and express whether or not you think it's a good idea for the examples to diverge from the pattern descriptions
<jugglinmike> Matt_King: I think this is really about the pattern for now, so I'm going to label the issue accordingly
<jugglinmike> Jem: I will assign Matt_King and jongund
<jugglinmike> Matt_King: And I'll place it in the "combo box" project
<jugglinmike> Matt_King: I know the combo box pattern is used a lot. I don't know how much this aspect of the pattern would trip people up. There's nothing in the report related to the impact; it only points out the problem
<jugglinmike> Matt_King: Anybody have any thoughts on whether this should be a P1, P2, or P3?
<jugglinmike> Matt_King: It's definitely not P1 because it isn't blocking anything. So it's really a choice between P2 or P3
<jugglinmike> jongund: It seems fairly low-priority to me...
<jugglinmike> Matt_King: Yeah, the only reason I'm considering P2 is the popularity of the "combo box" pattern
<jugglinmike> Matt_King: I'm going to make it "P3" for now
<jugglinmike> Matt_King: We'll come back to this one, probably in several weeks
<Jem> https://github.com/w3c/aria-practices/issues?q=is%3Aissue+is%3Aopen+created%3A%3E2021-08-15+no%3Alabel++sort%3Aupdated-desc
<jugglinmike> Jem: Here's some information about prioritization and the issue triage process: https://github.com/w3c/aria-practices/wiki/Issue-Triage-Process
<Jem> https://github.com//issues/2770

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feedback Issue raised by or for collecting input from people outside APG task force P3 Task force has identified as low priority at this time compared to other prioritized issues Pattern Page Related to a page documenting a Pattern
Development

No branches or pull requests

5 participants