-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Description
Note
Expanding on #71517
@jasmussen and I took a deep look at the work done for this project, the overall approach to each feature, and how those features integrate into the overall experience. We identified and discussed several points that could improve the understanding and usage of the features. Below are the main pain points and a proposal to enhance the ongoing implementation.
Heuristic concerns
There are three areas in the heuristic that I think jeopardize the user experience with the Editor and make the UI unnecessarily complicated by not leveraging existing concepts and patterns. My concern is that this creates a more difficult path to undo because it places affordances in UI areas that confuse their purpose, and therefore, anticipate where controls are. The three areas are:
- Entity navigation: When editing a pattern in context, the way to enter and exit the entity introduces a new navigation experience (Patterns: in the sidebar, standardize representation of edit controls across blocks and patterns #71557 Pattern: patterns in content only mode need a way to be "unlocked" or "detached" #71558). This pattern competes with the current document bar in the header as it's not clear the entity user is editing. Placing the in and out toggle in the block panel feels insufficient to convey what the user is editing. If we aim for a single navigation structure, this can be easily used in focus mode when editing a pattern in isolation.
- Block navigation: The editable fields version introduces another navigation experience, but now to enter and leave child blocks (concept in ContentOnly Patterns experiment: Add content only inspector fields #71730 interaction in Patterns editable fields: replace toolspanel and drilldown menus with flyouts #73274). This navigation tree affordance already exists in the ListView by displaying one or more levels at once, so it doesn't require the user to relearn it. Similar to the previous point, this double navigation makes the block panel more complex by adding a new way of interaction. This might not scale well and in deep inserted blocks, I envision several drilldowns and clicks to go back.
- Content edit affordances: Having editable fields in the inspector (in Content Only Pattern experiment: Split inspector controls into tabs for patterns #71626) opens a new path for adding controls that modify content, which is primarily done in the Editor's canvas. This interaction diverges from the WYSWYG approach and pulls in an abstraction level that better suits the admin and the data-managing layer of content modification. In the Editor, the block panel controls the selected block capabilities, and expanding it to modify other blocks adds extra ingredients. Another potential risk of the same path is expanding the editing capabilities (like inserting links, Patterns editable rich text fields: ensure Cmd/Ctrl-K shortcut works to insert links #73270) that then will require more controls. I envision an input field in the panel with style controls inside.
- Blocks visibility: If editing a pattern dims out the unrelated blocks in the Canvas, then it’s not clear why those blocks disappear in the ListView (Patterns: obscure pattern internals in the list view when a pattern is in content only mode #72019). This 1:1 relationship is fundamental for connecting both UI areas and providing different edition levels. The interaction could also frustrate users by altering the layout, repositioning visible blocks, and missing the target area, especially when the ListView hosts many full-content and content-only blocks.
Improvement areas
On the other hand, two areas are working great and can evolve even more to polish the experience.
- A single editor: In this idea shared a few days ago, I’m mainly proposing to reinforce the context of which entity the user is editing by reusing the existing structure of Editor’s UI. Instead of adding actions and patterns in the right panel, the Editor remains the same but adapts to both “inserted” and “focus" contexts.
- Improve spotting block capabilities: Similarly to recognizing blocked blocks, the ListView could convey more quickly which blocks are content only and which have all the features to tweak. That should prevent possible frustrations when realizing that some blocks have more editing capabilities than others. And reinforcing the visual identity of entities, anticipating the tools is a matter of muscle memory.**
Design proposal
When considering paths that simplify the editing experience, I strongly believe it’s essential to reuse existing patterns as much as possible and avoid introducing new ones that disrupt the purpose of the Editor’s areas. Before listing the proposed changes, the following two recordings highlight a few interactions.
editing.nonsync.pattern.mp4
editing.sync.and.detach.mp4
The attributes in the proposals above are:
- ListView shows the entity icon to convey edition capabilities.
- Block toolbar shows the pattern name to convey entity type and its capabilities.
- Editable blocks are actions in the block panel that select the block in both ListView and Canvas.
- Editing a pattern updates the Editor’s header to communicate the content type where the user is at.
- When editing a pattern, ListView updates to reflect the block tree.
- When editing a pattern while a child block is selected, ListView updates the block tree while keeping the block selected.
- Header’s back action is the exit point to return to the previous context.
- When a child block with editable content is selected, the user can insert more of the same block.
- When detaching a pattern, ListView updates the block type to reflect edition capabilities.
Content panel
Most ideas explored long ago suggest the need for a new abstraction layer where editing content is separated from the block-selection-and-editing experience. In the designs iterated, there is significant value in consolidating all content controls on a single surface that adapts to any of the wp-admin contexts, but our current approach to this editing level mixes interaction patterns from different areas, which undermines the existing heuristics.
With a new UI area dedicated to this abstraction level, it would be possible to make content adjustments via DataForm both in the data management approach of the Admin and at the block level that Editor offers; similar to how the inspector panel functions in QuickEdit.
The recording below is very simple, but it shows some key interactions.
| Site editor | Block editor |
|---|---|
![]() |
![]() |
new.content.panel.mp4
What do you think of this @WordPress/gutenberg-design ?

