-
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
Site Editor: Confusing back button behaviour when using command palette #52665
Comments
@jameskoster @SaxonF: What should happen here? Should navigating using the command palette reset the history? It feels to me like we'll constantly be playing whack-a-mole with similarly confusing flows that arise from having a back button that does something different depending on context. I wonder if we can come up with a design that eliminates the need for a back button altogether. Not sure. We'll likely need to get this airtight in the context of https://make.wordpress.org/core/2023/07/12/admin-design/. |
That seems reasonable to me. But I feel the whack-a-mole situation. I don't know how this might have come about, but upon logging into my local this morning after the weekend I found myself stuck in a loop: drilldown.mp4I agree that we should spend some more time on the design to get this right. Adjusting the behavior of the button is only one way to eliminate the confusion, but there are others to explore such as:
|
For me, we're treating the symptom rather than treating the root cause. Every time a shortcut will be added to the UI (command palette is just one of them), this problem is going to surface. The real problem is that the "back" button in the sidebar is equivalent to "navigate to parent" instead of "navigate to previous" and as long as the code says "goBack", we're going to have edge cases. The only valid solution is "goToParent" and since a page can't have two parents, we need to deambiguate between these two pages: in other words consider "page1" that was opened from "pages" different than "page1" than was opened from "templates" (have different parents for these, different urls...) |
I'd agree this would probably be the most expected behavior. But then, the navigator screens must not contain items that belong to other parents. for example, the Pages screen contains 'pseudo-pages' that actually are templates. Going back from them will bring users to Templates instead of where they were (Pages) which is totally disorienting. |
I'm conflicted on this one. I agree that the edge cases that are cropping up on trunk are annoying. But so are the original issues. I suppose it's too late now, but if we do restore the previous behavior, would it be feasible to include a label on the button: This would give users some prior understanding about where clicking the back button will take them. It would also solve a minor issue we have with the current format, where the panel heading and the chevron can easily be mistaken for a single element. For example cc @SaxonF @richtabor as we were talking about this a bit earlier. |
@jameskoster from an a11y perspective, I'd totally support visible text for the Back button. I'd even expand the label, instead of just:
I'd suggest:
I do realize that designers would love to keep the UI as light as possible and reduce visual clutter. But when an UI is confusing (and this one proved to be), I think that the best option is visible text that fully explains what the control action is.
That's another very good point 👍 |
I think so too. I've been stuck in loops trying to figure out how to get back to the top-level navigation whenever I use the command center to navigate. The back control should consistently go up the tree, not back to a previous state.
I like the idea of using the previous title as a label, but I don't think that should be a blocker for this fix (but if we can squeeze it in, awesome). The expectation is that you go back up the tree. The difficult part is when you can get to a view from different entry points (as pointed out initially) — like viewing a page from Navigation, vs. viewing a page from Pages.
I think a chevron icon pointing the direction you came from, along with the title of the previous view, is enough of a hint to help you understand where you're going. It's pretty much standard practice. |
From an a11y perspective no it isn't ideal:
Aside: there's some inconsistency across the editor regarding the left chevron icon and 'back' text, where:
I think I provided some example screenshots of these inconsistencies in another issue but I can't find it any longer. |
I think the title should be used consistently; that way you know where you're navigating to.
Prepending "Back to" is superfluous — more UI doesn't mean less confusion; usually the opposite. It would be instantly less scannable/understandable, especially for languages where the character count is much higher per word. Sure, we could add it to the aria-label and tooltip (there's already a tooltip indicating the title). Do you presume that every link/control/action on a page/site should have "Go to" or "Back to" prepended visually? Trying to understand from your view. 🖤 Resources: |
It really depends on the labeling of the control and the assistive technology in use. Often, expanding the accessible name of a control by the means of visually hidden text or aria-label etc. does help screen reader users but impacts other users e.g. speech recognition software users. Ideally, the visible text should match the accessible name. There are exceptions of course byt in general the best option is always visible text and nothing else. For example: The pattern with only the chevron icon
Some of these considerations also apply to other patterns e,g, the one with the chevron icon and text
The pattern
@richtabor thank you for the links you provided. Interesting reading. The Apple docs:
I'd be happy to see such a consistent Back button in use in the editor but, alas, we're not there yet. One more interesting thing I read there is the strong recommendation to always use a clear, visible title for any screen. In the editor, we had to go through a lengthy discussion to introduce a main H1 heading in the post/site editor. The current implementation has still lot of room for improvements, to be fair. Many screens don't have a clear, visible title yet. When pointing to some authoritative documentation, I would appreciate to see all the recommended points to be taken into consideration, not only the ones that in a specific moment may backup a specific argumentation. ❤️ I would greatly appreciate to see more design work about the titles of the various editor screens. The Material documentation: Lastly, I'd like to point out that for all the ones that use macOS, may assistive technologies are built-in and cane be used and tested with little effort. For example, I'd recommend to try Voice Control and use the Editor by issuing voice commands. I'm not saying all designers and developers must be Voice Control super expert but at the very least they should have a basic idea of how it works. I'm pretty sure that trying to use the Editor with Voice Control would be an enlightening experience. |
Thanks for the details.
Could you elaborate on the "trick" or "confusion" introduced here?
Do you have examples of where "< Back to ____" is a common pattern used on web-based applications?
Agreed, 100%. 🖤
There's not going to be one document that details exactly how we need to build these experiences. We all pull from multiple sources, and personal experiences, with a goal of building delightful and accessible experiences across WordPress. That's what makes WordPress what it is today. I'm giving examples with detailed insights on why a specific implementation has been used (extensively). Although Material and iOS are mobile-first, if there's an experience we use every day on our mobile devices, why would we expect the same experience to look and perform differently via the web?
100%. We need to keep pushing for consistency. |
The mismatch between visible text of a control and its actual accessible name would be maybe cleaer after trying at least once a speech recognition software. As designers and developers in a project that aims to be accessible, we all need to have at least a basic understanding of all devices and technology users may use.
I don't :) I'm trying to save both worlds. If it was up to me, I would use only text. If design prefers an icon, why not use both? It's also important to realize that many of the design patterns we see around are not accessible. I'm not sure looking for common patterns in use is always a good thing. Maybe a better approach would be looking at what is in use and adapt to this project specific accessibility needs. |
The trouble I have with that notion is that we're assuming there are no accessible cases of a web-based application using a "back" button of any sort. Nine times out of ten, we're not reinventing the wheel—perhaps making it much more better—but not starting with a completely blank slate.
I want to use both as well. I want this to be usable for everyone. I do think we're hitting the subjective level of design and accessibility, where a gray area does exist between the two. Even the Label in Name understanding doc mentions "Where practical, make the control’s text label and name match". "Practical" leaves quite a bit of room for interpretation. From my point of view, adding "< Back to templates" fully visible is much less practical than "< Templates", as it makes the UI harder to scan/comprehend holistically as you're sifting through what's rendered — especially for languages where "Back to" is any more than six characters. That's my hesitation. It's not about reducing visuals/minimizing the interface, but rather pushing for an experience that falls within that gray area; meets in the middle of design and accessibility. I think we're detracting from the overall goal of this issue though; to adapt the back button behavior. The UI tweaks would be a follow-up of this issue. But I do appreciate the conversation. 🙂 |
In an effort to address #50676 I opened #52456 which makes the back button in the Site Editor go back when possible instead of up.
There's still some confusing flows, however.
Instead of going to the "pages" sidebar, you go to the previous template that was opened. That feels wrong to me, If I wanted that I would have clicked the "previous" button of the browser why duplicate this one in the UI.
Originally posted by @youknowriad in #52456 (comment)
The text was updated successfully, but these errors were encountered: