-
Notifications
You must be signed in to change notification settings - Fork 355
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
Why was Ctrl+Up Arrow removed for Accordion focus relocation? #357
Comments
FWIW, ctrl+up/down are system keys on a Mac, and brings up a thumbnail view of open windows. I think this is a bad key to recommend for any widget, and if we remove it we should do it for any other widgets as well, such as tree. |
Wow, @aleventhal. That's a pretty surprising key combo for an OS to steal, as it is used in a lot of situations by (Windows-based) word processors (to move between paragraphs) and html elements. |
Yes it steals it in that case. I can't even find a way to select multiple items with the keyboard. That said, I'd like to take a moment and see that 99.9% of users won't know this ctrl+arrow trick. It's truly much more usable to provide a widget that has a checkbox next to each item. In addition, with the multiselect listbox, if the user presses the wrong thing, they lose their entire selection. With the checkboxes, you can arrow to each item and press spacebar without worrying about losing your work. In fact, I almost never see the multiselect in real life, probably because sites agree that it's not a user-friendly way to go. Just my opinion -- once you need multiple selection in a list, tree or treegrid, you should be thinking checkboxes. Supporting shift+up/down in addition to that seems like a nice-to-have if users need to select lots of items. |
I should add that I don't know much about the accordion use case of ctrl+arrow so I'm not sure what the workaround is for this particular issue. I got a little offtrack :) |
The funnest discussions always do. Personally I still use Ctrl and Shift with arrow keys to select stuff (with spacebar). Use fairly frequently. I take your point on checkboxes in a list, although I think that creates more tab effort since checkboxes each typically take a tabstop by default. And then you likely need a mechanism for clearing them. Anyway, getting back to the topic... In regard to the accordion operation, the challenge is how to get to the accordion header item from within the accordion panel. If a panel has a bunch of interactive content - links, etc -- then it can get tough to get back tot he header. I've even seen implementations where only such links are in the tab order for the panel (the links become the focus point for the accordion). So if you can't issue a keyboard command to get back to the header, you can actually no longer interact with the panel. In some ways the bigger issue is that we're dealing with trying to add application-like behaviour inside a user agent inside an OS. A lot of potential keyboard conflicts. It would be dreamy if we could just shove the browser into Full Screen mode and take it as given that all keyboard interaction would be controlled by the app until FS mode is exited. |
@mbgower commented:
What is meant here is:
This is the selection style the Authoring Practices recommends for multi-select widgets like BTW, we still include the old-school hold-down-shift way in those patterns, but try to down play it. @mbgower commented:
Yes, this is why the pattern includes keys for moving focus to headers. @mbgower commented:
I don't fully understand your description of this experience. On the surface, just sounds like bad design. But, bad design that the key for moving focus to the header could help overcome. @mbgower commented:
I agree that we could get some benefit from a web-app-automatically-takes-all paradigm in full screen mode. In the case of the accordion pattern, using ctrl+PageUp and ctrl+PageDown when focus is in the accordion context is not a real conflict. Why ctrl+PageUp/Down instead of ctrl+Up/Down? The task force is attempting to promote consistency across patterns by leveraging similarities with desktop conventions. Admitedly that is a slightly weird thing to say here given that accordions are pretty much a web thing. That said, I don't recall this being a big discussion topic that is well-documented. So, this issue is rather helpful in that regard. And, there may be other task force members that may recall additional rationale or other arguments. Judgments like this involve subjectivity and compromise. Building as much consensus as we can in open discussion is one of the most important goals of the practices task force. Generally speaking, accordions are rather loosely defined and not one of the most common patterns. For these less common widgets, very few people are going to be able to guess which keys will and will not work. |
Until December, the editor's draft contained a keystroke to relocate the focus to the accordion header/button for the currently focused content (i.e., if I had a tabstop inside accordion content).
This was a good workaround for the conflicts with Ctrl+PageUp that exist in some browsers (which moves focus between open tabs in the browser).
I raised it as an issue with a jquery implementation, and it resolved the keyboard usability, but as Nico pointed out, the keystroke is no longer in the APG.
nico3333fr/jquery-accessible-accordion-aria#13
Just wondering what the rationale was, and if it can be put back in.
The text was updated successfully, but these errors were encountered: