-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Steps to make keyboard navigation usable #11581
Comments
I would advise against using modal windows and instead providing those instructions in the most convenient manner, as plain text. It will still be difficult to remember these instructions even if you've read them, but it is a good start to the problem. |
Thanks for the feedback; just addressing some points: Navigating across blocksThere is a way to navigate across blocks since #10545. A good follow-up might be to show part of the content of the block in the visual navigation and to let screenreader access a bit of the content of the block from the hierarchy navigation menu.
There were issues with the approach there for screenreaders that I didn't see resolved, but it's a big issue and maybe I missed it. But I don't think it's a case of just needing to write a few tests and shipping it. Navigating from a block to its settings and vice versaSkiplinks would further muddy the interface and add even more tab stops though. If we address keyboard shortcut education (and improve block navigation shortcuts where needed), this isn't as needed. Discovering how these things are navigated using keyboard onlyYeah, this should be better surfaced. I like the idea of a skip link to keyboard shortcuts, but keep in mind that's a modal right now. The idea of surfacing keyboard shortcuts using the NUX guides was floated around too: bonus is that then regular users get lessons on keyboard shortcuts too 😄 |
Worth noting again the thoughts outlined in this comment: #5709 (comment), and specifically adapted mockups in #5694 (comment). |
We do need a better way for users to navigate and orient themselves. As you note, "In order to edit, it needs to be easy to navigate into editing." Skip links and exposing navigation guides are good steps in addressing this. |
Ah yes, that is definitely an improvement, and I see how it is sort of reachable from within one block through the shortcut. Wouldn't say this solution is nearly as integrated and useful as #10545. But it's certainly better than nothing. I think the layered approach is needed to make it intuitively usable and make the block editor more natively discoverable using a keyboard.
Not saying it's that easy. But the main blocker I got is that it was proposed to make the block overlay / outline semantically a button and this was understood by some as a need to put an actual button in there. Deferring to @afercia for more context. |
@tofumatt I get what you're saying about mudding up the UI with another tab stop, but currently getting from block to settings and vice versa is near impossible without a mouse. If adding some form of a bypass block helps keyboard users, that could be a big win for universal design. Adding it as an item inside the #10545 menu could be an option (alongside each block item in the menu - so you could jump straight to the settings), but also inline to each block. (cc @omarreiss) |
⌥ F10 navigates to the nearest block toolbar, but yeah it doesn't work because that toolbar is only visible on hover. I guess we really need a block toolbar always visible to fix that, though for Unified Toolbar mode it works well. 🤷♂️ ^` navigates to the next section, which in a few presses will take you to the sidebar where extra block settings live. A dedicated "Block Settings" shortcut would save on keypress for the second option, but with Unified Toolbar it's a bit better: https://www.dropbox.com/s/tqtatf3fhyn1dih/Screen%20Recording%202018-11-07%20at%2016.31.08.mov?dl=0 But yeah, it's still a non-obvious setting users need to enable to get there. And getting back to text from the toolbar is meh 😢 |
For better ⌥ F10 support there's two in progress PRs if people want to help review: |
As agreed during the last accessibility meeting, the accessibility team considers the "Blocks navigation menu" implemented in #10545 a nice-to-have but it doesn’t fully address the issue. See #5694 (comment). We haven't reopened #5694 because there's now this issue with a clear, actionable, proposal. Worth mentioning also #11711 and #11713.
I'm not sure I fully understand. Skip links would actually reduce the amount of tab key presses required for navigating content. That said, we can certainly explore other options but there's the need of a mechanism to jump from a block directly to the sidebar. Ideally, this mechanism should be easily discoverable with standard interaction (i.e. no keyboard shortcuts).
Again, as pointed out in the following comments, that approach doesn't work with screen readers. It has already been tried. It doesn't work. See #5694 (comment)
[...]
Lastly:
We'd make a better service to our users trying to think more holistically. It's not just about navigating to the sidebar. Once I'm on the sidebar, I haven't done anything yet. It's about accomplishing a task and actually being able to use the extra block settings. As demonstrated with a specific example in the accessibility team report, changing the font size required 34 separate keyboard stops. |
For a sighted user that menu item strikes me as quite confusing. What would it do when clicked? If it opens the sidebar and focuses it, even calling it “Open Block Settings” or just “Block Settings” might be better?
|
"Block Settings" makes sense "Move" sounds like you're physically moving something. What I was thinking was Having "Block Settings" and "Hide|Show Block Settings" together could be confusing as well. What do think about the first image with just the gear icon exposed in the toolbar (next to the "more" menu), which the "block settings" tooltip on it. Too much in the toolbar? If we can work out the action item for this in the next couple days, I should be able to pick it up Monday/Tuesday. |
Because this issue is still in discussion without a PR yet I'm moving it out of the WP 5.0 milestone, but we can still tackle it in a follow-up 5.0.x release. |
This option was discussed at some point in previous issues / PRs but then agreed to not implement it because it's based on the assumption that when users open the settings sidebar they also want to move focus there. This might be true for some workflows but not for all workflows. For example, users might want to open the sidebar just to check what's in there and still keep focus on the block. |
@afercia That make sense, but we're more so talking about having 2 options in the menu:
The wording of the two menu items is tricky, since the functionality is so close. It would be great if they were the same, but you're right, not everyone wants to move focus. In my opinion, if they were the same option, it would be much better to present a user with the minor inconvenience of having to jump back to the block vs. the difficult experience we're currently presenting keyboard users who need to access block settings. I"m on a short week with the holiday, but I might be able to prototype something. |
Quoting from the WPCampus/Tenon accessibility report (issue filed at #15322): Shortcut keys for moving around a document should be considered extra UX features for power users, rather than essential for basic navigation. Focus should follow a predictable order, generally following visible items, and should not be able to reach invisible areas. Relevant standards |
I am removing the 'User Experience (UX)' label as part of a label cleanup. It's not being used anymore consistently so let's try and keep to 'needs design' and 'needs design feedback'. If we find a need for another label we can consider it but having those 2 should cover this. |
The design team discussed this during a triage session in Slack today. (Note: You may need a Slack account to log in.) We determined this issue doesn't strictly need design feedback, and that we should probably treat it as a tracking issue so as to focus work on actionable solutions. It comprises three different issues, all of which have been discussed in other issues. I did a wee bit of digging to pull those up. If there are more representative issues than these, please feel free to edit this comment to reflect that so we have an up-to-date reference.
In the interests of pushing things forward and improving keyboard accessibility for all users, let's try to make some progress on these issues, and then we can loop back here to investigate the broader impact of the changes. |
While #16500 is potentially a huge improvement (still needs a complete accessibility feedback), it doesn't address all the points raised on this issue and previously on #5694. The work done on #16500 is greatly appreciated but I'd like to propose to keep this issue open. As mentioned in the accessibility team report on October 2018 and on the WPCampus accessibility report (see for example #15322 and #15314), some of the accessibility issues in Gutenberg are related to the overall design and should be solved at a design level. |
If there are other a11y aspects that needs to be discussed/tracked, please open separate issues. We can't just have a "accessibility is broken" issue. |
This issue explicitly mentions (as second point) navigation to the block settings 🙂 Technically, #13663 is a duplicate of a part of this issue. I'm sorry but I think categorizing this issue as an "accessibility is broken" issue sounds unfair towards the ones who researched, explored, and reported their findings here. Seems to me everything here is well detailed. Also, #16500 still needs a full accessibility feedback and testing, as I asked yesterday. Not sure an issue can be considered "solved" without extensive testing with assistive technologies and feedback from specialists in the field. |
#16500 I got a11y review from a bunch of people including @enriquesanchez and I'm happy to follow-up with feedback from anyone.
Sorry about that, yeah, words badly chosen. I was replying to your comment where you said, we keep this open because of design consideration (it was pretty vague).
I don't mind if we close the other one, but let's just focus on one problem in one issue. |
After reading the issues, I think #13663 goes into more details about the problem and the proposed solutions. I'm proposing that we consolidate there. If there's anything missing from this issue that should be reflected there please add it. Thanks. |
Fair enough. I'm fine with keeping this closed for now with the note that:
|
Opening a new issue for this since I think my issue is more general than it is technical. The premise is very simple. We can dramatically improve keyboard navigation for Gutenberg if we just fix a couple of basic things. Accessibility is a part of this, but right now it's just really hard and tiresome to navigate using the keyboard. This is primarily a usability issue.
Main keyboard navigation usecases that we need to support better:
What do we need:
Some thoughts on navigation and a11y
Navigation and screen reader accessibility go hand in hand. The way to discover what's on a page with a screen reader is simply to navigate through it's basic structure. To make a complex application accessible, we need a layered approach, where the top level structure is as simple as possible and deeper nested capabilities (like editing in a block) can be a layer underneath that. The main function of any top layer is always to provide a framework for orientation, thus navigation is a top level concern. Editing is not, even though it's the primary concern of the editor. In order to edit, it needs to be easy to navigate into editing. From a visual perspective this kind of conceptual hierarchy is actually also how a web page is processed by users. However, instead of explicit it is implicit, so there is less necessity to conceptualize it. I'm sure I'm reiterating here what others might have already expressed far more eloquently.
The text was updated successfully, but these errors were encountered: