Skip to content
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

Exploration: Simpler outlines and synced pattern interactions #60286

Closed
wants to merge 12 commits into from

Conversation

richtabor
Copy link
Member

@richtabor richtabor commented Mar 28, 2024

Not intended for direct merge.

This is an exploration of a number of ideas around block selection, outlines and related interactions, combined to get a solid sense of how these will work together.

My goal is to try and make it less "weighty" selecting blocks in the Site Editor, more predictable, and less concepts to understand. Less moving parts if you would.

If we like the direction we can split it into proper PRs.

What?

  1. Changed the editable block indicator to render only for synced patterns, as you can now select headers and footers when editing pages in the Site Editor. These editable indicators are now background color, rather than the existing dotted outline.
  2. Try outline and outline-offset as the mechanism for visible outlines, rather than shadows. Allows for borders to be clearly seen on fullwidth block selection, while also reducing clashing borders when hovering/selecting blocks near each other.
  3. Use a consistent var(--wp-admin-border-width-focus) width for outlines, rather than 1px on hover and 1.5px on selection.
  4. Does not render the .is-selected outline when selecting RichText, making text editing less disruptive by outlines.
  5. Moves the block toolbar 8px away from the selection, rather than 12px away—just to get a bit less coverage over other blocks.
  6. Another pass at using shadows for interface borders that are edge-to-edge with the editable canvas, reducing visual blurry edges when having any color that's not white or black against the header toolbar or either editor sidebar.
  7. Try removing border radius from outlines, to reduce visual conflicts when against or over non-radii elements (images, fullwidth blocks, edge of the canvas, etc).

Testing Instructions

  1. Open the Site Editor.
  2. Explore the changes listed above by selecting blocks.
  3. Add a synced pattern with overrides, to see the editable block indicators.

Screenshots or screencast

inert.mp4

CleanShot 2024-03-28 at 09 51 52

@richtabor richtabor self-assigned this Mar 28, 2024
@richtabor richtabor added the Needs Design Feedback Needs general design feedback. label Mar 28, 2024
@richtabor richtabor requested a review from a team March 28, 2024 13:53
Copy link

Warning: Type of PR label mismatch

To merge this PR, it requires exactly 1 label indicating the type of PR. Other labels are optional and not being checked here.

  • Type-related labels to choose from: [Type] Automated Testing, [Type] Breaking Change, [Type] Bug, [Type] Build Tooling, [Type] Code Quality, [Type] Copy, [Type] Developer Documentation, [Type] Enhancement, [Type] Experimental, [Type] Feature, [Type] New API, [Type] Task, [Type] Technical Prototype, [Type] Performance, [Type] Project Management, [Type] Regression, [Type] Security, [Type] WP Core Ticket, Backport from WordPress Core.
  • Labels found: Needs Design Feedback.

Read more about Type labels in Gutenberg. Don't worry if you don't have the required permissions to add labels; the PR reviewer should be able to help with the task.

@richtabor richtabor changed the title Exploration: Better interface outlines, and synced pattern interactions Mar 28, 2024
@richtabor richtabor changed the title Exploration: Simpler interface outlines and synced pattern interactions Mar 28, 2024
Copy link

github-actions bot commented Mar 28, 2024

Size Change: -502 B (0%)

Total Size: 1.72 MB

Filename Size Change
build/block-editor/content-rtl.css 4.51 kB +54 B (+1%)
build/block-editor/content.css 4.51 kB +51 B (+1%)
build/block-editor/index.min.js 254 kB +13 B (0%)
build/block-editor/style-rtl.css 15.6 kB -1 B (0%)
build/block-editor/style.css 15.6 kB -1 B (0%)
build/block-library/blocks/template-part/editor-rtl.css 236 B -195 B (-45%) 🎉
build/block-library/blocks/template-part/editor.css 236 B -195 B (-45%) 🎉
build/block-library/editor-rtl.css 12.2 kB -168 B (-1%)
build/block-library/editor.css 12.2 kB -168 B (-1%)
build/edit-post/style-rtl.css 5.59 kB +28 B (+1%)
build/edit-post/style.css 5.58 kB +25 B (0%)
build/edit-site/index.min.js 217 kB -1 B (0%)
build/edit-site/style-rtl.css 15.2 kB +6 B (0%)
build/edit-site/style.css 15.2 kB +4 B (0%)
build/edit-widgets/style-rtl.css 4.18 kB +24 B (+1%)
build/edit-widgets/style.css 4.17 kB +22 B (+1%)
ℹ️ View Unchanged
Filename Size
build/a11y/index.min.js 955 B
build/annotations/index.min.js 2.69 kB
build/api-fetch/index.min.js 2.32 kB
build/autop/index.min.js 2.1 kB
build/blob/index.min.js 578 B
build/block-directory/index.min.js 7.26 kB
build/block-directory/style-rtl.css 1.03 kB
build/block-directory/style.css 1.03 kB
build/block-editor/default-editor-styles-rtl.css 394 B
build/block-editor/default-editor-styles.css 394 B
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 90 B
build/block-library/blocks/archives/style.css 90 B
build/block-library/blocks/audio/editor-rtl.css 150 B
build/block-library/blocks/audio/editor.css 150 B
build/block-library/blocks/audio/style-rtl.css 122 B
build/block-library/blocks/audio/style.css 122 B
build/block-library/blocks/audio/theme-rtl.css 133 B
build/block-library/blocks/audio/theme.css 133 B
build/block-library/blocks/avatar/editor-rtl.css 116 B
build/block-library/blocks/avatar/editor.css 116 B
build/block-library/blocks/avatar/style-rtl.css 104 B
build/block-library/blocks/avatar/style.css 104 B
build/block-library/blocks/block/editor-rtl.css 305 B
build/block-library/blocks/block/editor.css 305 B
build/block-library/blocks/button/editor-rtl.css 415 B
build/block-library/blocks/button/editor.css 414 B
build/block-library/blocks/button/style-rtl.css 627 B
build/block-library/blocks/button/style.css 626 B
build/block-library/blocks/buttons/editor-rtl.css 337 B
build/block-library/blocks/buttons/editor.css 337 B
build/block-library/blocks/buttons/style-rtl.css 332 B
build/block-library/blocks/buttons/style.css 332 B
build/block-library/blocks/calendar/style-rtl.css 239 B
build/block-library/blocks/calendar/style.css 239 B
build/block-library/blocks/categories/editor-rtl.css 113 B
build/block-library/blocks/categories/editor.css 112 B
build/block-library/blocks/categories/style-rtl.css 124 B
build/block-library/blocks/categories/style.css 124 B
build/block-library/blocks/code/editor-rtl.css 53 B
build/block-library/blocks/code/editor.css 53 B
build/block-library/blocks/code/style-rtl.css 121 B
build/block-library/blocks/code/style.css 121 B
build/block-library/blocks/code/theme-rtl.css 124 B
build/block-library/blocks/code/theme.css 124 B
build/block-library/blocks/columns/editor-rtl.css 108 B
build/block-library/blocks/columns/editor.css 108 B
build/block-library/blocks/columns/style-rtl.css 421 B
build/block-library/blocks/columns/style.css 421 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 125 B
build/block-library/blocks/comment-author-avatar/editor.css 125 B
build/block-library/blocks/comment-content/style-rtl.css 92 B
build/block-library/blocks/comment-content/style.css 92 B
build/block-library/blocks/comment-template/style-rtl.css 199 B
build/block-library/blocks/comment-template/style.css 198 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 123 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 222 B
build/block-library/blocks/comments-pagination/editor.css 209 B
build/block-library/blocks/comments-pagination/style-rtl.css 235 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/comments-title/editor-rtl.css 75 B
build/block-library/blocks/comments-title/editor.css 75 B
build/block-library/blocks/comments/editor-rtl.css 840 B
build/block-library/blocks/comments/editor.css 839 B
build/block-library/blocks/comments/style-rtl.css 637 B
build/block-library/blocks/comments/style.css 636 B
build/block-library/blocks/cover/editor-rtl.css 647 B
build/block-library/blocks/cover/editor.css 650 B
build/block-library/blocks/cover/style-rtl.css 1.7 kB
build/block-library/blocks/cover/style.css 1.69 kB
build/block-library/blocks/details/editor-rtl.css 65 B
build/block-library/blocks/details/editor.css 65 B
build/block-library/blocks/details/style-rtl.css 98 B
build/block-library/blocks/details/style.css 98 B
build/block-library/blocks/embed/editor-rtl.css 322 B
build/block-library/blocks/embed/editor.css 322 B
build/block-library/blocks/embed/style-rtl.css 410 B
build/block-library/blocks/embed/style.css 410 B
build/block-library/blocks/embed/theme-rtl.css 133 B
build/block-library/blocks/embed/theme.css 133 B
build/block-library/blocks/file/editor-rtl.css 326 B
build/block-library/blocks/file/editor.css 327 B
build/block-library/blocks/file/style-rtl.css 280 B
build/block-library/blocks/file/style.css 281 B
build/block-library/blocks/file/view.min.js 324 B
build/block-library/blocks/footnotes/style-rtl.css 201 B
build/block-library/blocks/footnotes/style.css 199 B
build/block-library/blocks/form-input/editor-rtl.css 227 B
build/block-library/blocks/form-input/editor.css 227 B
build/block-library/blocks/form-input/style-rtl.css 343 B
build/block-library/blocks/form-input/style.css 343 B
build/block-library/blocks/form-submission-notification/editor-rtl.css 340 B
build/block-library/blocks/form-submission-notification/editor.css 340 B
build/block-library/blocks/form-submit-button/style-rtl.css 69 B
build/block-library/blocks/form-submit-button/style.css 69 B
build/block-library/blocks/form/view.min.js 471 B
build/block-library/blocks/freeform/editor-rtl.css 2.61 kB
build/block-library/blocks/freeform/editor.css 2.61 kB
build/block-library/blocks/gallery/editor-rtl.css 947 B
build/block-library/blocks/gallery/editor.css 952 B
build/block-library/blocks/gallery/style-rtl.css 1.72 kB
build/block-library/blocks/gallery/style.css 1.72 kB
build/block-library/blocks/gallery/theme-rtl.css 108 B
build/block-library/blocks/gallery/theme.css 108 B
build/block-library/blocks/group/editor-rtl.css 647 B
build/block-library/blocks/group/editor.css 647 B
build/block-library/blocks/group/style-rtl.css 57 B
build/block-library/blocks/group/style.css 57 B
build/block-library/blocks/group/theme-rtl.css 78 B
build/block-library/blocks/group/theme.css 78 B
build/block-library/blocks/heading/style-rtl.css 189 B
build/block-library/blocks/heading/style.css 189 B
build/block-library/blocks/html/editor-rtl.css 336 B
build/block-library/blocks/html/editor.css 337 B
build/block-library/blocks/image/editor-rtl.css 878 B
build/block-library/blocks/image/editor.css 878 B
build/block-library/blocks/image/style-rtl.css 1.6 kB
build/block-library/blocks/image/style.css 1.59 kB
build/block-library/blocks/image/theme-rtl.css 133 B
build/block-library/blocks/image/theme.css 133 B
build/block-library/blocks/image/view.min.js 1.54 kB
build/block-library/blocks/latest-comments/style-rtl.css 357 B
build/block-library/blocks/latest-comments/style.css 357 B
build/block-library/blocks/latest-posts/editor-rtl.css 213 B
build/block-library/blocks/latest-posts/editor.css 212 B
build/block-library/blocks/latest-posts/style-rtl.css 478 B
build/block-library/blocks/latest-posts/style.css 478 B
build/block-library/blocks/list/style-rtl.css 88 B
build/block-library/blocks/list/style.css 88 B
build/block-library/blocks/media-text/editor-rtl.css 306 B
build/block-library/blocks/media-text/editor.css 305 B
build/block-library/blocks/media-text/style-rtl.css 505 B
build/block-library/blocks/media-text/style.css 503 B
build/block-library/blocks/more/editor-rtl.css 431 B
build/block-library/blocks/more/editor.css 431 B
build/block-library/blocks/navigation-link/editor-rtl.css 668 B
build/block-library/blocks/navigation-link/editor.css 669 B
build/block-library/blocks/navigation-link/style-rtl.css 259 B
build/block-library/blocks/navigation-link/style.css 257 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 296 B
build/block-library/blocks/navigation-submenu/editor.css 295 B
build/block-library/blocks/navigation/editor-rtl.css 2.26 kB
build/block-library/blocks/navigation/editor.css 2.26 kB
build/block-library/blocks/navigation/style-rtl.css 2.26 kB
build/block-library/blocks/navigation/style.css 2.25 kB
build/block-library/blocks/navigation/view.min.js 1.02 kB
build/block-library/blocks/nextpage/editor-rtl.css 395 B
build/block-library/blocks/nextpage/editor.css 395 B
build/block-library/blocks/page-list/editor-rtl.css 377 B
build/block-library/blocks/page-list/editor.css 377 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 B
build/block-library/blocks/paragraph/editor-rtl.css 235 B
build/block-library/blocks/paragraph/editor.css 235 B
build/block-library/blocks/paragraph/style-rtl.css 335 B
build/block-library/blocks/paragraph/style.css 335 B
build/block-library/blocks/post-author/style-rtl.css 175 B
build/block-library/blocks/post-author/style.css 176 B
build/block-library/blocks/post-comments-form/editor-rtl.css 96 B
build/block-library/blocks/post-comments-form/editor.css 96 B
build/block-library/blocks/post-comments-form/style-rtl.css 508 B
build/block-library/blocks/post-comments-form/style.css 508 B
build/block-library/blocks/post-content/editor-rtl.css 74 B
build/block-library/blocks/post-content/editor.css 74 B
build/block-library/blocks/post-date/style-rtl.css 61 B
build/block-library/blocks/post-date/style.css 61 B
build/block-library/blocks/post-excerpt/editor-rtl.css 71 B
build/block-library/blocks/post-excerpt/editor.css 71 B
build/block-library/blocks/post-excerpt/style-rtl.css 141 B
build/block-library/blocks/post-excerpt/style.css 141 B
build/block-library/blocks/post-featured-image/editor-rtl.css 666 B
build/block-library/blocks/post-featured-image/editor.css 662 B
build/block-library/blocks/post-featured-image/style-rtl.css 342 B
build/block-library/blocks/post-featured-image/style.css 342 B
build/block-library/blocks/post-navigation-link/style-rtl.css 215 B
build/block-library/blocks/post-navigation-link/style.css 214 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 409 B
build/block-library/blocks/post-template/style.css 408 B
build/block-library/blocks/post-terms/style-rtl.css 96 B
build/block-library/blocks/post-terms/style.css 96 B
build/block-library/blocks/post-time-to-read/style-rtl.css 69 B
build/block-library/blocks/post-time-to-read/style.css 69 B
build/block-library/blocks/post-title/style-rtl.css 100 B
build/block-library/blocks/post-title/style.css 100 B
build/block-library/blocks/preformatted/style-rtl.css 125 B
build/block-library/blocks/preformatted/style.css 125 B
build/block-library/blocks/pullquote/editor-rtl.css 135 B
build/block-library/blocks/pullquote/editor.css 135 B
build/block-library/blocks/pullquote/style-rtl.css 354 B
build/block-library/blocks/pullquote/style.css 354 B
build/block-library/blocks/pullquote/theme-rtl.css 174 B
build/block-library/blocks/pullquote/theme.css 174 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/query-pagination-numbers/editor.css 121 B
build/block-library/blocks/query-pagination/editor-rtl.css 221 B
build/block-library/blocks/query-pagination/editor.css 211 B
build/block-library/blocks/query-pagination/style-rtl.css 288 B
build/block-library/blocks/query-pagination/style.css 284 B
build/block-library/blocks/query-title/style-rtl.css 63 B
build/block-library/blocks/query-title/style.css 63 B
build/block-library/blocks/query/editor-rtl.css 486 B
build/block-library/blocks/query/editor.css 486 B
build/block-library/blocks/query/view.min.js 958 B
build/block-library/blocks/quote/style-rtl.css 237 B
build/block-library/blocks/quote/style.css 237 B
build/block-library/blocks/quote/theme-rtl.css 233 B
build/block-library/blocks/quote/theme.css 235 B
build/block-library/blocks/read-more/style-rtl.css 140 B
build/block-library/blocks/read-more/style.css 140 B
build/block-library/blocks/rss/editor-rtl.css 149 B
build/block-library/blocks/rss/editor.css 149 B
build/block-library/blocks/rss/style-rtl.css 289 B
build/block-library/blocks/rss/style.css 288 B
build/block-library/blocks/search/editor-rtl.css 184 B
build/block-library/blocks/search/editor.css 184 B
build/block-library/blocks/search/style-rtl.css 629 B
build/block-library/blocks/search/style.css 628 B
build/block-library/blocks/search/theme-rtl.css 114 B
build/block-library/blocks/search/theme.css 114 B
build/block-library/blocks/search/view.min.js 478 B
build/block-library/blocks/separator/editor-rtl.css 146 B
build/block-library/blocks/separator/editor.css 146 B
build/block-library/blocks/separator/style-rtl.css 229 B
build/block-library/blocks/separator/style.css 229 B
build/block-library/blocks/separator/theme-rtl.css 194 B
build/block-library/blocks/separator/theme.css 194 B
build/block-library/blocks/shortcode/editor-rtl.css 323 B
build/block-library/blocks/shortcode/editor.css 323 B
build/block-library/blocks/site-logo/editor-rtl.css 754 B
build/block-library/blocks/site-logo/editor.css 754 B
build/block-library/blocks/site-logo/style-rtl.css 204 B
build/block-library/blocks/site-logo/style.css 204 B
build/block-library/blocks/site-tagline/editor-rtl.css 86 B
build/block-library/blocks/site-tagline/editor.css 86 B
build/block-library/blocks/site-title/editor-rtl.css 116 B
build/block-library/blocks/site-title/editor.css 116 B
build/block-library/blocks/site-title/style-rtl.css 57 B
build/block-library/blocks/site-title/style.css 57 B
build/block-library/blocks/social-link/editor-rtl.css 184 B
build/block-library/blocks/social-link/editor.css 184 B
build/block-library/blocks/social-links/editor-rtl.css 676 B
build/block-library/blocks/social-links/editor.css 675 B
build/block-library/blocks/social-links/style-rtl.css 1.48 kB
build/block-library/blocks/social-links/style.css 1.48 kB
build/block-library/blocks/spacer/editor-rtl.css 350 B
build/block-library/blocks/spacer/editor.css 350 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table/editor-rtl.css 395 B
build/block-library/blocks/table/editor.css 395 B
build/block-library/blocks/table/style-rtl.css 639 B
build/block-library/blocks/table/style.css 639 B
build/block-library/blocks/table/theme-rtl.css 152 B
build/block-library/blocks/table/theme.css 152 B
build/block-library/blocks/tag-cloud/style-rtl.css 251 B
build/block-library/blocks/tag-cloud/style.css 253 B
build/block-library/blocks/template-part/theme-rtl.css 107 B
build/block-library/blocks/template-part/theme.css 107 B
build/block-library/blocks/term-description/style-rtl.css 111 B
build/block-library/blocks/term-description/style.css 111 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 166 B
build/block-library/blocks/text-columns/style.css 166 B
build/block-library/blocks/verse/style-rtl.css 99 B
build/block-library/blocks/verse/style.css 99 B
build/block-library/blocks/video/editor-rtl.css 552 B
build/block-library/blocks/video/editor.css 555 B
build/block-library/blocks/video/style-rtl.css 185 B
build/block-library/blocks/video/style.css 185 B
build/block-library/blocks/video/theme-rtl.css 133 B
build/block-library/blocks/video/theme.css 133 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.11 kB
build/block-library/common.css 1.11 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/index.min.js 218 kB
build/block-library/reset-rtl.css 472 B
build/block-library/reset.css 472 B
build/block-library/style-rtl.css 14.8 kB
build/block-library/style.css 14.8 kB
build/block-library/theme-rtl.css 707 B
build/block-library/theme.css 713 B
build/block-serialization-default-parser/index.min.js 1.12 kB
build/block-serialization-spec-parser/index.min.js 2.87 kB
build/blocks/index.min.js 51.9 kB
build/commands/index.min.js 15.6 kB
build/commands/style-rtl.css 956 B
build/commands/style.css 953 B
build/components/index.min.js 222 kB
build/components/style-rtl.css 11.8 kB
build/components/style.css 11.8 kB
build/compose/index.min.js 12.6 kB
build/core-commands/index.min.js 2.77 kB
build/core-data/index.min.js 72.9 kB
build/customize-widgets/index.min.js 11.2 kB
build/customize-widgets/style-rtl.css 1.36 kB
build/customize-widgets/style.css 1.36 kB
build/data-controls/index.min.js 640 B
build/data/index.min.js 8.98 kB
build/date/index.min.js 17.9 kB
build/deprecated/index.min.js 451 B
build/dom-ready/index.min.js 324 B
build/dom/index.min.js 4.65 kB
build/edit-post/classic-rtl.css 578 B
build/edit-post/classic.css 579 B
build/edit-post/index.min.js 24 kB
build/edit-widgets/index.min.js 17.4 kB
build/editor/index.min.js 64.9 kB
build/editor/style-rtl.css 5.43 kB
build/editor/style.css 5.43 kB
build/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.1 kB
build/format-library/style-rtl.css 492 B
build/format-library/style.css 490 B
build/hooks/index.min.js 1.55 kB
build/html-entities/index.min.js 448 B
build/i18n/index.min.js 3.58 kB
build/interactivity/file.min.js 447 B
build/interactivity/image.min.js 1.67 kB
build/interactivity/index.min.js 13 kB
build/interactivity/navigation.min.js 1.15 kB
build/interactivity/query.min.js 740 B
build/interactivity/router.min.js 1.36 kB
build/interactivity/search.min.js 618 B
build/is-shallow-equal/index.min.js 527 B
build/keyboard-shortcuts/index.min.js 1.74 kB
build/keycodes/index.min.js 1.46 kB
build/list-reusable-blocks/index.min.js 2.11 kB
build/list-reusable-blocks/style-rtl.css 851 B
build/list-reusable-blocks/style.css 849 B
build/media-utils/index.min.js 2.92 kB
build/modules/importmap-polyfill.min.js 12.2 kB
build/notices/index.min.js 948 B
build/nux/index.min.js 2 kB
build/nux/style-rtl.css 747 B
build/nux/style.css 742 B
build/patterns/index.min.js 5.73 kB
build/patterns/style-rtl.css 553 B
build/patterns/style.css 552 B
build/plugins/index.min.js 1.8 kB
build/preferences-persistence/index.min.js 2.05 kB
build/preferences/index.min.js 2.81 kB
build/preferences/style-rtl.css 710 B
build/preferences/style.css 712 B
build/primitives/index.min.js 975 B
build/priority-queue/index.min.js 1.52 kB
build/private-apis/index.min.js 1 kB
build/react-i18n/index.min.js 623 B
build/react-refresh-entry/index.min.js 9.47 kB
build/react-refresh-runtime/index.min.js 6.78 kB
build/redux-routine/index.min.js 2.7 kB
build/reusable-blocks/index.min.js 2.73 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.5 kB
build/router/index.min.js 1.88 kB
build/server-side-render/index.min.js 1.96 kB
build/shortcode/index.min.js 1.39 kB
build/style-engine/index.min.js 2.03 kB
build/token-list/index.min.js 582 B
build/url/index.min.js 3.74 kB
build/vendors/inert-polyfill.min.js 2.48 kB
build/vendors/react-dom.min.js 41.7 kB
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 957 B
build/warning/index.min.js 249 B
build/widgets/index.min.js 7.22 kB
build/widgets/style-rtl.css 1.17 kB
build/widgets/style.css 1.17 kB
build/wordcount/index.min.js 1.02 kB

compressed-size-action

@ndiego
Copy link
Member

ndiego commented Mar 28, 2024

  1. Does not render the .is-selected outline when selecting RichText, making text editing less disruptive by outlines.

Conceptually, I like this approach, but in practice, it felt disjointed. Some blocks were outlined when I selected them, and others were not. Also, I noticed that list items were outlined when normal paragraphs were not.

  1. Moves the block toolbar 8px away from the selection, rather than 12px away—just to get a bit less coverage over other blocks.

I like this change. It's also consistent with the space between the block icon and the toolbar.

image
  1. Use a consistent var(--wp-admin-border-width-focus) width for outlines, rather than 1px on hover and 1.5px on selection.

  2. Another pass at using shadows for interface borders that are edge-to-edge with the editable canvas, reducing visual blurry edges when having any color that's not white or black against the header toolbar or either editor sidebar.

  3. Try removing border radius from outlines, to reduce visual conflicts when against or over non-radii elements (images, fullwidth blocks, edge of the canvas, etc).

I like this a lot, especially the border-radius being removed. The uniform border width is also a nice touch.

Before After
image image
  1. Changed the editable block indicator to render only for synced patterns, as you can now select headers and footers when editing pages in the Site Editor. These editable indicators are now background color, rather than the existing dotted outline.

No strong preference here. I still think that the different colors (blue vs. purple) are very confusing for new users. Don't have any better suggestions though 😅

@jameskoster
Copy link
Contributor

Changed the editable block indicator to render only for synced patterns, as you can now select headers and footers when editing pages in the Site Editor. These editable indicators are now background color, rather than the existing dotted outline.

I think this works better than the dotted outline 👍

Try outline and outline-offset as the mechanism for visible outlines, rather than shadows. Allows for borders to be clearly seen on fullwidth block selection, while also reducing clashing borders when hovering/selecting blocks near each other.

This feels nice.

Use a consistent var(--wp-admin-border-width-focus) width for outlines, rather than 1px on hover and 1.5px on selection.

May need to check a11y guidelines around this, I think hover/selection may need to be different?

It may not work, but I've often wondered if it'd be worth trying the reverse... stronger outlines seem more useful when you're trying to select the right block, and 1px on selection would harmonize with the block toolbar outline. Could also work better when selecting immediate descendants too...

Here's how it would look when hovering an image inside a selected group:

Screenshot 2024-03-28 at 17 46 32

Versus trunk, which feels backwards to me:

Screenshot 2024-03-28 at 17 42 24

Maybe worth a try, maybe not :)

Does not render the .is-selected outline when selecting RichText, making text editing less disruptive by outlines.

I think I agree with Nick on this. Seeing the outline on selection helps you understand the overall footprint, and since the outlines disappear when you begin typing the distraction should be minimal in practise.

Moves the block toolbar 8px away from the selection, rather than 12px away—just to get a bit less coverage over other blocks.
Another pass at using shadows for interface borders that are edge-to-edge with the editable canvas, reducing visual blurry edges when having any color that's not white or black against the header toolbar or either editor sidebar.

👍

Try removing border radius from outlines, to reduce visual conflicts when against or over non-radii elements (images, fullwidth blocks, edge of the canvas, etc).

Love it, this one has always bugged me. These outlines are a very practical element, and imo we should exert minimal brand expression upon them.

Along that train of thought, should we try removing the subtle fade-in animation of the outlines on hover? The UI feels snappier without it imo.

@richtabor
Copy link
Member Author

No strong preference here. I still think that the different colors (blue vs. purple) are very confusing for new users. Don't have any better suggestions though 😅

I think we need a bit of education in the editor, perhaps the first time you select a template part or synced pattern. It's quite helpful, when you know what it is.

@ndiego
Copy link
Member

ndiego commented Mar 31, 2024

I think we need a bit of education in the editor, perhaps the first time you select a template part or synced pattern. It's quite helpful, when you know what it is.

Yeah, the colors are fantastic if you first understand what a template part and synced pattern are.

@jasmussen
Copy link
Contributor

There's a lot to like here. Overall some things feel simpler as a result of this, much less noisy. So although I echo Jay's comments in general, this really does simplify the outlines.

That said, I'm really missing the 2px rounded radius :)

Screenshot 2024-04-01 at 10 05 02

@richtabor
Copy link
Member Author

That said, I'm really missing the 2px rounded radius :)

I thought you'd say that :)

I think we should consider no radii on the outlines still. It does lead to sharper corners and intersections, both in relation to other outlines, but also the surrounding interface.

No radius

CleanShot 2024-04-01 at 18 26 44

CleanShot 2024-04-01 at 18 29 14

CleanShot 2024-04-01 at 18 32 22

Radius

CleanShot 2024-04-01 at 18 26 07

CleanShot 2024-04-01 at 18 29 52

CleanShot 2024-04-01 at 18 30 51

@richtabor
Copy link
Member Author

May need to check a11y guidelines around this, I think hover/selection may need to be different?

It may not work, but I've often wondered if it'd be worth trying the reverse... stronger outlines seem more useful when you're trying to select the right block, and 1px on selection would harmonize with the block toolbar outline. Could also work better when selecting immediate descendants too...

The problem with using width to distill hover or selected, is that when outlines intersect, we end up with this:

CleanShot 2024-04-01 at 17 19 55

@richtabor
Copy link
Member Author

Along that train of thought, should we try removing the subtle fade-in animation of the outlines on hover? The UI feels snappier without it imo.

I think that could work.

@jasmussen
Copy link
Contributor

The with-radius looks great to me still. This is one of those areas where I feel pretty strongly about it, but I would never want to block this from moving forward if the rest of you are similarly strongly in the other camp. For me the radius is a branding element, because it matches the block toolbar.

@jameskoster
Copy link
Contributor

we end up with this

Is that still a problem if we use outline-offset to adjust?

offset
@annezazu
Copy link
Contributor

annezazu commented Apr 2, 2024

Noting that color matters so much here and it's something I'm a bit worried about with this effect. Here's an example where it's just simply hard to see what's going on:

color.mov

If I didn't know those were editable fields, I might worry that I just added some sort of animation to the pattern haha. There's also some weirdness where, when you're selecting the synced pattern, it continues to show the content only editing for the entire page, rather than jumping to the pattern view:

content.only.mov

I also set the cover image so it could be changed/overridden yet don't see that shown in the Content section (likely outside of this PR and can open an issue if so):

no.background.image.mov
@bph
Copy link
Contributor

bph commented Apr 3, 2024

Pinging the crew in the #outreach channel @WordPress/outreach so they are aware of this exploration and offer input.

@markhowellsmead
Copy link

Either adding a third tab “Pattern” to the existing “Page” and ”Block” when working with a focused pattern would be the clearest UX. If there's insufficient space, then perhaps rename “Block” to “Pattern” on the fly, but that'll probably confuse less-experienced users.

@colorful-tones
Copy link
Member

  1. Try outline and outline-offset as the mechanism for visible outlines, rather than shadows. Allows for borders to be clearly seen on fullwidth block selection, while also reducing clashing borders when hovering/selecting blocks near each other.
  2. Use a consistent var(--wp-admin-border-width-focus) width for outlines, rather than 1px on hover and 1.5px on selection.

I think these are a nice improvement.

  1. Does not render the .is-selected outline when selecting RichText, making text editing less disruptive by outlines.

This is not disruptive to me, and I would leave the outline.

  1. Moves the block toolbar 8px away from the selection, rather than 12px away—just to get a bit less coverage over other blocks.

I vote for 10px. 😄 Serious.

  1. Try removing border radius from outlines, to reduce visual conflicts when against or over non-radii elements (images, fullwidth blocks, edge of the canvas, etc).

I think the lack of radii on these elements is a good deviation.

  1. Changed the editable block indicator to render only for synced patterns, as you can now select headers and footers when editing pages in the Site Editor. These editable indicators are now background color, rather than the existing dotted outline.
  2. Another pass at using shadows for interface borders that are edge-to-edge with the editable canvas, reducing visual blurry edges when having any color that's not white or black against the header toolbar or either editor sidebar.

I was not entirely clear as to their impact when reviewing these changes. Therefore, I'm refraining from feedback. Although 6 feels like it was likely an extension of 2. Thanks

@markhowellsmead
Copy link

Either adding a third tab “Pattern” to the existing “Page” and ”Block” when working with a focused pattern would be the clearest UX. If there's insufficient space, then perhaps rename “Block” to “Pattern” on the fly, but that'll probably confuse less-experienced users.

Additional note, now that I've seen this has been implemented in 6.5. I understand more fully what the idea is and I feel that it definitely needs improvement. Firstly, it's not immediately obvious how to get back to the page content once you're in the Pattern editing view. The “back” link in the top toolbar is very small and grey, so a) it's very hard to find and b) has the appearance of being inactive.

In an example I've been using for a while, the pattern could formerly be edited directly in place and so I was always able to adjust the focus point of my reusable pattern—a cover block linked to the featured image of the current post—and see the results immediately. By detaching the user from the current page content and switching into ”pattern” edit mode, I can no longer see the featured image: the cover block is just a grey rectangle. That means the editing process I've been using so far no longer works as required.

@markhowellsmead
Copy link

And another question: if I have a synced pattern, as is now the case, is it not possible to unsync an existing pattern? (As in, retain its status as a pattern, but stop it from being synced.)

@annezazu
Copy link
Contributor

annezazu commented Apr 4, 2024

And another question: if I have a synced pattern, as is now the case, is it not possible to unsync an existing pattern? (As in, retain its status as a pattern, but stop it from being synced.)

@markhowellsmead to quickly answer this question: you can duplicate and change sync status. Here's a video I made for someone yesterday (used "reusable" language to help guide them :D ):

change.sync.status.mp4
@markhowellsmead
Copy link

markhowellsmead commented Apr 4, 2024

you can duplicate and change sync status

That's great, thanks Anne. So there's no way to unsync them from the block editor? That means having to hunt them down everywhere in the content and re-link them with the new version, then.

@jameskoster
Copy link
Contributor

Unsyncing a pattern can have quite severe consequences, depending on usage (#60205). It's basically the same as deleting in that respect, so we need to get the design right.

That means having to hunt them down everywhere in the content and re-link them with the new version, then.

Instead of creating a new synced pattern, why not just edit the existing one? Describing the workflow in more detail (ideally in a new issue) would be really helpful! :)

@markhowellsmead
Copy link

Thanks for the feedback, James. I think this is an extreme edge-case and so not worth discussing for general implementation.

@richtabor
Copy link
Member Author

Noting that color matters so much here and it's something I'm a bit worried about with this effect. Here's an example where it's just simply hard to see what's going on

It's meant to be a guide, if necessary. As it's as big as your viewport, the effect is less clear — but then you can clearly select on the text and quickly understand its editable. If you have a pattern with more parts to it, it becomes more clear what's editable.

@richtabor
Copy link
Member Author

Does not render the .is-selected outline when selecting RichText, making text editing less disruptive by outlines.

I think I agree with Nick on this. Seeing the outline on selection helps you understand the overall footprint, and since the outlines disappear when you begin typing the distraction should be minimal in practise.

@ndiego @jameskoster Noting that the post editor does not have those outlines when selecting Rich Text blocks. If we're going for 1:1 we should lean one way or the other perhaps.

After feeling it out a bit, I think I like it. Let me finesse it a bit and I'll pitch it back for another look.

@richtabor
Copy link
Member Author

richtabor commented Apr 10, 2024

@fabiankaegy have ideas/thoughts?

@fabiankaegy
Copy link
Member

@richtabor My thumbs down was meant to agree with @annezazu's point that I think the current proposed state here has too little contrast and is hard to see in many instances.

If I look at the way Figma has implemented this in the preview mode it comes through much more clearly whats selectable. Maybe it is the fact that the animation starts of with less opacity / more brightness.

CleanShot 2024-04-10 at 07 37 04

@richtabor
Copy link
Member Author

Maybe it is the fact that the animation starts of with less opacity / more brightness.

Yea, I'll play around with the values a bit. Thanks for sharing!

@richtabor
Copy link
Member Author

Closing as the associated PRs have been implemented individually, or are in review (#61836 and #61835).

@richtabor richtabor closed this May 21, 2024
@youknowriad youknowriad deleted the try/better-outlines branch May 30, 2024 09:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs Design Feedback Needs general design feedback.
9 participants