-
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
Navigation Screen: MVP Designs #24875
Comments
@shaunandrews thanks for sharing the prototype. My initial click-through went something like this... I see 3 different modules that include buttons/text/dividers/icons, but because of the gaps in between each of the modules, they feel disconnected… until I click on something... then visual changes appear everywhere. This was a bit difficult to process how each related and what was happening. For example: Feedback
I know this screen is a difficult one. It's been lingering around for a long time, so thank you for taking it on! I'm just noting that a lot of these issues could probably be solved by bringing in the Interface package as you mentioned above. It ties everything together in a way that makes sense. My vote would be for that direction. :) It would also align really well with the Widget Editor. |
Glad to see a visible H1 heading as first thing in the main content, as also asked on #24937. Is there a similar design also for the Widgets page already? |
Hey @afercia Check out this comment by @mapk |
One thing here @shaunandrews: I am not sure the SitePages block makes sense in the Navigation editor as this works all right with the auto add pages functionality and we can also create from pages. This block is a good feature in the context of using the block in the post and site editors where we save the navigation using block storage and so we cannot simply implement the auto add. I suggest we remove this requirement from the tasks above 😆 |
The existing "auto add" checkbox only adds top-level pages; The Page List block is designed to show hierarchy with an option to display literally all pages. I do think a Page List block would be helpful in the Navigation screen, but its probably not a requirement. |
@shaunandrews Is there a way to add a label to the 'Change Menu' What were you thoughts on how things might look on mobile? This isn't too different to the layout of the current design, so it may be fairly similar. |
One other thing I've been thinking about is how a user can tab around using the keyboard as well. Just throwing out a potential option for tab order based on the visual order of the screen:
The thing that stands out is that the Block Inspector is after Save. Would it be better to switch those in terms of usability? (cc @tellthemachines). |
A new test design.. inspired by Shauns designs (took some of the screens), the new Widget screen, the current Navigation screen and the beta Navigation screen. The focus is on the flow of the Navigation screen using elements/methods we are already familiar with from Gutenberg. I made a wireframe in Figma located here: Here is an animated gif showing a possible flow with focus on using the Inserter, list view and settings. The purpose is to inspire. There is some duplication of controls in the footer and the Nav settings screen. A few additional thoughts.... Drag and drop should also be made possible directly in the Navigation menu area. A press and hold (see outline of item) and then drag & drop. It would be supplementary to the Navigation structure. The user can then choose direct manipulation of the items in the menu or use the Nav structure. The Navigation h1 label should likely be the first element in the top bar like so: Navigation (title) - Inserter (icon) - Nav structure (icon). |
Thanks for pointing out this @talldan. Yep, the accessibility team asked for having the Save button as last thing in the tab order in the block editor as well, no luck so far 🙂 The thing is that for accessibility, the DOM order and the visual order must match so I do realize that visual design needs and accessibility needs clash here. The Save button at the end is expected by users who navigate or perceive the content in a linearized fashion. For example, keyboard users or screen reader users navigate the content sequentially, at least at the beginning when they are learning the interface. Screen reader users, once they learned the UI, have lots of tools to jump to parts of the UI, as long as there's a good headings structure, ARIA landmarks, etc. Regardless, it's basically a linearized experience as there's no concept of "layout". A Save button in the middle of the UI would be more or less equivalent to placing a Submit button in the middle of a long form 🙂 We also considered to have two visible Save buttons, with the second one placed as last thing in the relevant UI. No luck, and I do realize two buttons would be visually problematic, although not unprecedented in WordPress. One thing we didn't consider so far is to have a second Save button that gets only revealed on focus. This could serve well all keyboard users (including screen reader users) and still keep the UI "clean". Will ask the accessibility team for their thoughts. |
A had a go at implementing the broad strokes of this in #25178. |
Based on some of the feedback above, I've updated the design and have been working with @noisysocks's PR #25178 to explore these ideas: |
This feels so much more cohesive! |
The latest design looks very nice. My concern is it is a further step away from a 'data' view of a menu structure, which is what the current nav-menus.php page provides. (I am aware the data view is available in the drop down and that themes will be able to output the same block html that is being displayed here) The current nav-menus.php page is used to create a plethora of styles of menus - off canvas mobile menus, vertical menus, accordion menus, 'bog standard' horizontal menus. I have concerns that at best the primary 'preview' view is going to look somewhere close to the front end menu, at worst it will look nothing like the front end at all. In either case I imagine it would be confusing to a good proportion of users. In the new designs we are effectively looking at a data view of the menu (as in most cases, it won't reflect what is seen on the front end), but presented as a front end menu. Stepping back a bit, is that the intention here? And from a users point of view, is primarily presenting and managing the menu structure as a 'front end' menu better than presenting/managing it as a purely structural tree view? |
Noting that the "Currently editing" select element needs a button and should not trigger changes of context on the |
The current Navigation experiment (which aims to replace Core's Menu screen) looks something like this:
Its an obvious work-in-progress. While it contains a good amount of the functionality required to replace the older Menu screen, its lacking in design.
My first instinct was to suggest we make use of the
Interface
package which would give access to the top bar and sidebar components, which are also used in the Block Editor, the Site Editor, and the experimental Widgets Editor. It could look something like this:It seems like this might not be the best solution. Instead I've tried to work with the existing experiment to see what I could do to get it ready for prime time. I tried my best to clean up the layout, hierarchy, and (hopefully) improve the overall usability.
Here's where I've ended up:
--
There's a lot in the GIF. Here's a breakdown:
select
to choose a menu. This could be problematic if themes offer more than a handful of locations. We could scroll the popover as needed, or simply keep the separate screen (Issue Move theme location selection into the Navigation block's Inspector #25011).There's a clickable Figma prototype if you'd like to see full-size designs and experience the flow for yourself.
The text was updated successfully, but these errors were encountered: