-
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
Iterating on the "Options" settings #24965
Comments
I think options like "Top toolbar", "Spotlight mode", and "Fullscreen mode" ought to be moved into this panel. To me at least, they seem like user preferences that one isn't expected to toggle on/off very often... so why are they always taking up space as the first things in the ellipsis menu, and not even grouped next to the Options modal? Thumbs up on renaming "Keyboard options" to just "Keyboard" or something like that. I'd consider renaming "Document panels" to "Visible document panels" to make it a bit clearer what the checkboxes actually do. Adding extended descriptions to some controls is definitely a good idea, particularly in the case of the "Contain text cursor..." option. I wonder if perhaps we should rename the whole modal to "Preferences" or "Editor preferences". "Options" feels a bit too broad of a term, in my opinion; the term "options" could technically refer to a tool like the "Copy all content" button. Additionally, a label like "Editor preferences" helps to clarify what actually belongs in the modal, and distinguishes it from the "More tools & options" label that the ellipsis menu uses. |
Another thing I'd like to try here is to employ the "drill-down navigation" pattern that is being developed for a few of the site editing features to scale setting groups better. That might allow us to combine the block manager fully as well. |
One thing we need to keep in mind regarding the organization/layout is accessibility. What's this "drill-down navigation" like? Is it like the Customizer's navigation? Because I've seen the accessibility team criticize that for being very inaccessible due to how its implemented. That's not to say it can't be implemented accessibly, but we need to tread carefully to ensure what we end up with is an improvement for everyone. In terms of immediate actions to improve the Options modal, what do you think of renaming the modal to "Editor preferences"? That would help specify what kind of "options" it's supposed to provide, and prevent it from sounding too similar to "More options" and "More tools & options". I can spin up a PR with that change, if you think it's a good idea. |
I am exploring this and wanted to first cover what are the requirements and scope for this. After that, I have a design. The end goal for iterating the Options settings is:
I would love feedback on anything that should be added or removed from this list. ExplorationI have explored a flow based on the above. This uses a modal but brings in navigation where options are all surfaced. Here is the flow: Here you can see in the context of the full screen: A few points around this:
DiscussionI am looking for feedback on a few specific areas:
|
I really like this exploration, @karmatosed!
I think this exploration addresses the goals you outline above. It's simple and easy to understand and I think it will scale well with time. There's now enough room to improve and expand how we present all of the options and as I've started working on #3218, I can already see how this new layout will accommodate the UI we'll need.
I agree we should try and be mindful of this. We don't want the list of sections to grow unwieldy. I will start by removing 'General' from this list. I think it'll just end up being the place where things end up by default. How about something like this?
|
Nice mockup, @karmatosed. I like the idea of making more use of the horizontal space. I just have two questions:
|
@ZebulanStanphill I think we should follow the |
I went ahead and made a PR for this: #25683. |
@enriquesanchez I see how that would work for large viewports, but what about skinny mobile viewports? Wouldn't we have to collapse the tabs into a hamburger menu or something? |
Design feedback:
|
The header should probably just be styled exactly like it does right now in Thumbs up on adding a section header to the content area. |
Thanks, everyone for such great feedback. I took a bit some time to iterate using the following as my guide:
IterationsFor now, I have iterated just single screens as a start, I will then create the flow again once have feedback. The second changes the header in content to be a call to action, which other applications use, some of ours might fit this more easily than others. FeedbackI want specific feedback around those 3 areas of hierarchy, refinement and the header. Of course, I welcome more general feedback. My next goal is to iterate and then work on mobile along with rest of feedback, I wanted to focus on specific points first. |
I think the tabs still need more headings, e.g. the "General" tab's content are should begin with a "General" heading before any sub-headings. Headings are used for identifying the names of areas to screen readers... I don't know if "Adapt how block work:" is a proper heading with that in mind. I'll defer to @afercia on that question. One thing I'm wondering about is why the first mockup uses checkboxes and the other uses toggles. If I recall correctly, we're using the toggle design whenever something is supposed to have an immediate effect. But all these options have an immediate effect except (I think) the "Advanced panels" section, which requires a page reload to take effect. |
There have been quite a few popular expansion /replacements on the Block Manager using WPAdmin pages. Early designs (in context of the Block Directory) on Figma Fabrica Reusable Block instances I leave it at those two examples and here is a screenshot of one of the panels, envisioned. To manage block entities properly, especially Block Patterns, reusable block and blocks from plugins, the content creator needs to know how often a block has been used or not used. Managing all the entities (Blocks, Block Patterns, Block Styles, Block plugins) should be possible but it needs much more data displayed for it to be useful. |
Moving the "Options" title to the modal dialog title is appreciated, as it will be used for labelling the role=dialog by the means of aria-describedby. Also: a visible modal dialog title helps all users. Regarding the panel headings, I wouldn't say ""Adapt how block work:" would be a good heading. It doesn't immediately explain what the panel content is about. Headings are not only visual things, they're used to get a sense of the content and also as navigational tools thue they need to be meaningful. I wouldn't have strong objections to implement this as an ARIA At this point, on small screens there would be the need to transform the ARIA Overall, an ARIA Aside: I'd like to know more on the "drill-down navigation" pattern. If that's some sort of "sliding in-out" sidebars à la Customizer, then it's a huge barrier for accessibility as @ZebulanStanphill mentioned. Not a news, since the customizer sidebars pattern has been discussed for years for its accessibility and usability problems. |
@bph Is there a dedicated issue for moving block management out of the editor UI? Because that seems like something we should do regardless of what direction the Options modal goes. |
@ZebulanStanphill Yes there is.... |
While we explore all the design improvements, there's a smaller task that we could do in time for 5.6 which is:
|
A few iterations to the options modal in line with #24965 as a step for this release, whilst the new design is being worked on.
First of all: I really like those new "Options" (or Preferences?) @kellychoffman raised the following question in #3218 (comment)
I'm asking myself, if this is common behaviour for "Preferences", too – and I thought it would be better to discuss the topic here. Different questions arise from this:
I had a short look at different applications. Google Drive uses "OK" and "Cancel" buttons for their preferences, being in a modal window, too. iOS System Preferences, macOS System Preferences, macOS Application Preferences and VS Code Prefences don't use buttons either. Twitter and Telegram use kind of "Contextual buttons" – I could find buttons in language settings, but nowhere else. Maybe the buttons are used because they completely change the content (not only the appearance) of the current view. Currently I have the feeling that It's fine to omit buttons (as being shown in the designs above) and use them contextually. Here is the Figma file with my collection. I will add examples, if I see something new. |
* Iterations on options modal A few iterations to the options modal in line with #24965 as a step for this release, whilst the new design is being worked on. * Iterates margins * Increase margin a little more to adjust * Iterate margin calculation and also remove italics Props @jasmussen and @ItsJonQ * Update snapshot test for Options modal * Shorten text Shortens the length of text. * fix e2e tests * fix snapshot * Iterates help text * Update index.js * Try removal of borders * Increase bottom margin * Set to use help text variable * Iterate copy and add in new description to sections. * Iterate description text * Update index.js * Iterate the text based on feedback * Change text to be clearer * Fix test publish labels Co-authored-by: Jon Q <[email protected]> Co-authored-by: ntsekouras <[email protected]> Co-authored-by: Riad Benguella <[email protected]>
Thoughts on the "Panels" area:Classic EditorWith classic editor there are different display settings for different screens, e. g. in Connection between settings
Available options
ScalabilityThinking of the currently available options with Classic Editor, I think it is important, to have scalability in mind. IF it will be possibe to set different settings for every screen (and if Gutenberg will take more and more screens), toggles could become handy. To make it more usable, the current screen could always be shown at the top and open. |
Looking forward to using this new screen in the new future of Gutenberg plugin! I appreciate also the projection in the future. I can see how the Site Editor will bring a heap of new options/preferences, as will Global Styles. A first version could also show a way how 3rd party plugins are displayed. I am fairly certain that there will be a need for developers to provide preferences for their features into this screen, too. |
@mariohamann some great thoughts around the panels area, thanks. I really appreciate your consideration of what we have and where this could lead.
I am nodding my head as this feels key to what is being created here. We can't predict and shouldn't all the preferences to come, but we can set up patterns and interactions to use in future. I really like the idea of showing current screen at the top. I am not sure you need to know the page name beyond it being current, but that's a good thing to dig into. When you have 'edit' beside is that editable? I'm trying to work out what that interaction does and would love to explore more. @bph I absolutely agree that this could grow as an area, I think thought needs to go into that growth, but it's worth doing. It could easily become a drawer to hide things in, so exposing and finding ways for the content to make sense and be discoverable is key. |
Interesting @mariohamann. I think in that case I might have a found a point to be iterate as to what that means here. I think there's a problem with overwhelming in this section, so reviewing how distilled it can be for first experience and then how someone could go deeper to customize, feels like a good path to me. I know that's a little vague, but it might avoid having everything surfaced and therefore leading to potential confusion. |
At the moment the "Overview" sections are not needed, as there is no Gutenberg. But the difference between pages, posts, CPTs, products etc. might be VERY important soon. |
@mariohamann I agree in considering them. What I don't like currently is 'advanced' panels. I understand why they are advanced but sitting in preferences it seems to not fit so well. There's room to visually explore some variations here around combining, but also not having repeating headers like (edit) or anything else duplicate. It might be near future and not fully in scope of this issue, but I would love to see your exploring there if you are following a path. |
I have an update on preferences, which hopefully will get towards next steps moving into development. Full screen iterationThis flow considers all the current changes and brings in key points raised in conversation within this ticket. Specifically the things this implements are:
Smaller screenOn smaller screens I would recommend adjusting the menu experience to a full modal. Here is a prototype: List of each sectionAs there are a few changes and options moved, I thought listing the suggestions out would help with feedback. General
Appearance
Blocks
Block manager Panels Extra optionsWe don't have these options currently, but as this issue outlined at the start, providing a range of settings is useful going forward. Here is a mockup of some of those on a fictional page using potential features. As you can see in this there is a visual to show potentially the light and dark interfaces. What could be shown in those images is something to iterate on. I chose toolbars as they don't repeat UI, but should still show the impact as important to know. FeedbackI am interested in general feedback, but specifically around the sectioning and menu structure would be really helpful. The extra options I would like to get feedback on any upcoming features I might be missing to add in areas that need interfaces not shown. I realise I went fictional on some to explore, so keeping it focused around incoming features probably is a great point moving to the next step and into development. Next stepsOnce feedback has happened, if required iterations can happen and then moving to development would be ideal for this issue. |
As this has sat for a little while to get feedback, let's move the feedback labels to 'needs-dev' and see about progressing these iterations. |
Nice to see this iteration :) |
This looks fantastic, thanks for the designs @karmatosed! Would love to ship a first version in 5.7, what can we do to get this into dev? |
The settings screen has been growing gradually over time. It harbors important features and new items are already being worked on (like text only buttons). We should improve a bit its design to make it more usable and scalable.
Thoughts:
Example from iOS on a good use of description text to contextualize settings:
The text was updated successfully, but these errors were encountered: