Skip to content

Conversation

afercia
Copy link
Contributor

@afercia afercia commented Sep 6, 2024

Fixes #65112

What?

Removes most aria-label that:

  • Either alter the accessible name thus introducing a mismatch between visible label and actual accessible name
  • Or just repeat the visible text.

Why?

In such cases, the labels are unnecessary or even harmful for accessibility. Always prefer the visible label to determine the accessible name.

How?

  • Removes unnecessary aria-labels.
  • Adjust the tests.
  • Special case: Adds a visible label to the 'Palette' button. Note: this is the only visual change in this PR.
  • Removes an unnecessary HTML title attribute.

Screenshot of the Palette butto, before and after:

Screenshot 2024-09-06 at 14 54 06

Testing Instructions

  • Go to the Site Editor > Styles
  • Observe the button items in the root menu and in the various submenus have an accessible name determined by the visible label i.e. no aria-label attribute.

Testing Instructions for Keyboard

Screenshots or screencast

@afercia afercia added [Type] Bug An existing feature does not function as intended [Focus] Accessibility (a11y) Changes that impact accessibility and need corresponding review (e.g. markup changes). Global Styles Anything related to the broader Global Styles efforts, including Styles Engine and theme.json [Package] Edit Site /packages/edit-site labels Sep 6, 2024
@afercia afercia requested a review from ellatrix as a code owner September 6, 2024 12:57
Copy link

github-actions bot commented Sep 6, 2024

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: afercia <afercia@git.wordpress.org>
Co-authored-by: richtabor <richtabor@git.wordpress.org>
Co-authored-by: ntsekouras <ntsekouras@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>
Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
Co-authored-by: jameskoster <jameskoster@git.wordpress.org>
Co-authored-by: ciampo <mciampini@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

Copy link

github-actions bot commented Sep 6, 2024

Size Change: -164 B (-0.01%)

Total Size: 1.77 MB

Filename Size Change
build/block-editor/index.min.js 256 kB -47 B (-0.02%)
build/edit-site/index.min.js 218 kB -117 B (-0.05%)
ℹ️ View Unchanged
Filename Size
build-module/a11y/index.min.js 482 B
build-module/block-library/file/view.min.js 447 B
build-module/block-library/image/view.min.js 1.78 kB
build-module/block-library/navigation/view.min.js 1.16 kB
build-module/block-library/query/view.min.js 742 B
build-module/block-library/search/view.min.js 616 B
build-module/interactivity-router/index.min.js 3.03 kB
build-module/interactivity/debug.min.js 17.2 kB
build-module/interactivity/index.min.js 13.6 kB
build/a11y/index.min.js 952 B
build/annotations/index.min.js 2.26 kB
build/api-fetch/index.min.js 2.32 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 579 B
build/block-directory/index.min.js 7.26 kB
build/block-directory/style-rtl.css 1.07 kB
build/block-directory/style.css 1.07 kB
build/block-editor/content-rtl.css 4.46 kB
build/block-editor/content.css 4.45 kB
build/block-editor/default-editor-styles-rtl.css 394 B
build/block-editor/default-editor-styles.css 394 B
build/block-editor/style-rtl.css 15.3 kB
build/block-editor/style.css 15.3 kB
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 149 B
build/block-library/blocks/audio/editor.css 151 B
build/block-library/blocks/audio/style-rtl.css 132 B
build/block-library/blocks/audio/style.css 132 B
build/block-library/blocks/audio/theme-rtl.css 134 B
build/block-library/blocks/audio/theme.css 134 B
build/block-library/blocks/avatar/editor-rtl.css 115 B
build/block-library/blocks/avatar/editor.css 115 B
build/block-library/blocks/avatar/style-rtl.css 104 B
build/block-library/blocks/avatar/style.css 104 B
build/block-library/blocks/button/editor-rtl.css 265 B
build/block-library/blocks/button/editor.css 265 B
build/block-library/blocks/button/style-rtl.css 538 B
build/block-library/blocks/button/style.css 538 B
build/block-library/blocks/buttons/editor-rtl.css 291 B
build/block-library/blocks/buttons/editor.css 291 B
build/block-library/blocks/buttons/style-rtl.css 345 B
build/block-library/blocks/buttons/style.css 345 B
build/block-library/blocks/calendar/style-rtl.css 240 B
build/block-library/blocks/calendar/style.css 240 B
build/block-library/blocks/categories/editor-rtl.css 132 B
build/block-library/blocks/categories/editor.css 131 B
build/block-library/blocks/categories/style-rtl.css 152 B
build/block-library/blocks/categories/style.css 152 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 139 B
build/block-library/blocks/code/style.css 139 B
build/block-library/blocks/code/theme-rtl.css 122 B
build/block-library/blocks/code/theme.css 122 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 420 B
build/block-library/blocks/columns/style.css 420 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 124 B
build/block-library/blocks/comment-author-avatar/editor.css 124 B
build/block-library/blocks/comment-author-name/style-rtl.css 72 B
build/block-library/blocks/comment-author-name/style.css 72 B
build/block-library/blocks/comment-content/style-rtl.css 120 B
build/block-library/blocks/comment-content/style.css 120 B
build/block-library/blocks/comment-date/style-rtl.css 65 B
build/block-library/blocks/comment-date/style.css 65 B
build/block-library/blocks/comment-edit-link/style-rtl.css 70 B
build/block-library/blocks/comment-edit-link/style.css 70 B
build/block-library/blocks/comment-reply-link/style-rtl.css 71 B
build/block-library/blocks/comment-reply-link/style.css 71 B
build/block-library/blocks/comment-template/style-rtl.css 200 B
build/block-library/blocks/comment-template/style.css 199 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 228 B
build/block-library/blocks/comments-pagination/editor.css 217 B
build/block-library/blocks/comments-pagination/style-rtl.css 234 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 832 B
build/block-library/blocks/comments/editor.css 832 B
build/block-library/blocks/comments/style-rtl.css 632 B
build/block-library/blocks/comments/style.css 631 B
build/block-library/blocks/cover/editor-rtl.css 641 B
build/block-library/blocks/cover/editor.css 642 B
build/block-library/blocks/cover/style-rtl.css 1.62 kB
build/block-library/blocks/cover/style.css 1.6 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 86 B
build/block-library/blocks/details/style.css 86 B
build/block-library/blocks/embed/editor-rtl.css 331 B
build/block-library/blocks/embed/editor.css 331 B
build/block-library/blocks/embed/style-rtl.css 419 B
build/block-library/blocks/embed/style.css 419 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 326 B
build/block-library/blocks/file/style-rtl.css 278 B
build/block-library/blocks/file/style.css 279 B
build/block-library/blocks/footnotes/style-rtl.css 198 B
build/block-library/blocks/footnotes/style.css 197 B
build/block-library/blocks/form-input/editor-rtl.css 229 B
build/block-library/blocks/form-input/editor.css 229 B
build/block-library/blocks/form-input/style-rtl.css 357 B
build/block-library/blocks/form-input/style.css 357 B
build/block-library/blocks/form-submission-notification/editor-rtl.css 344 B
build/block-library/blocks/form-submission-notification/editor.css 341 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 470 B
build/block-library/blocks/freeform/editor-rtl.css 2.6 kB
build/block-library/blocks/freeform/editor.css 2.6 kB
build/block-library/blocks/gallery/editor-rtl.css 946 B
build/block-library/blocks/gallery/editor.css 951 B
build/block-library/blocks/gallery/style-rtl.css 1.83 kB
build/block-library/blocks/gallery/style.css 1.82 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 334 B
build/block-library/blocks/group/editor.css 334 B
build/block-library/blocks/group/style-rtl.css 103 B
build/block-library/blocks/group/style.css 103 B
build/block-library/blocks/group/theme-rtl.css 79 B
build/block-library/blocks/group/theme.css 79 B
build/block-library/blocks/heading/style-rtl.css 188 B
build/block-library/blocks/heading/style.css 188 B
build/block-library/blocks/html/editor-rtl.css 346 B
build/block-library/blocks/html/editor.css 347 B
build/block-library/blocks/image/editor-rtl.css 785 B
build/block-library/blocks/image/editor.css 787 B
build/block-library/blocks/image/style-rtl.css 1.59 kB
build/block-library/blocks/image/style.css 1.59 kB
build/block-library/blocks/image/theme-rtl.css 137 B
build/block-library/blocks/image/theme.css 137 B
build/block-library/blocks/latest-comments/style-rtl.css 355 B
build/block-library/blocks/latest-comments/style.css 354 B
build/block-library/blocks/latest-posts/editor-rtl.css 179 B
build/block-library/blocks/latest-posts/editor.css 179 B
build/block-library/blocks/latest-posts/style-rtl.css 509 B
build/block-library/blocks/latest-posts/style.css 510 B
build/block-library/blocks/list/style-rtl.css 107 B
build/block-library/blocks/list/style.css 107 B
build/block-library/blocks/loginout/style-rtl.css 61 B
build/block-library/blocks/loginout/style.css 61 B
build/block-library/blocks/media-text/editor-rtl.css 321 B
build/block-library/blocks/media-text/editor.css 320 B
build/block-library/blocks/media-text/style-rtl.css 558 B
build/block-library/blocks/media-text/style.css 556 B
build/block-library/blocks/more/editor-rtl.css 427 B
build/block-library/blocks/more/editor.css 427 B
build/block-library/blocks/navigation-link/editor-rtl.css 644 B
build/block-library/blocks/navigation-link/editor.css 645 B
build/block-library/blocks/navigation-link/style-rtl.css 192 B
build/block-library/blocks/navigation-link/style.css 191 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 295 B
build/block-library/blocks/navigation-submenu/editor.css 294 B
build/block-library/blocks/navigation/editor-rtl.css 2.19 kB
build/block-library/blocks/navigation/editor.css 2.2 kB
build/block-library/blocks/navigation/style-rtl.css 2.25 kB
build/block-library/blocks/navigation/style.css 2.23 kB
build/block-library/blocks/nextpage/editor-rtl.css 392 B
build/block-library/blocks/nextpage/editor.css 392 B
build/block-library/blocks/page-list/editor-rtl.css 378 B
build/block-library/blocks/page-list/editor.css 378 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 236 B
build/block-library/blocks/paragraph/editor.css 236 B
build/block-library/blocks/paragraph/style-rtl.css 341 B
build/block-library/blocks/paragraph/style.css 340 B
build/block-library/blocks/post-author-biography/style-rtl.css 74 B
build/block-library/blocks/post-author-biography/style.css 74 B
build/block-library/blocks/post-author-name/style-rtl.css 69 B
build/block-library/blocks/post-author-name/style.css 69 B
build/block-library/blocks/post-author/editor-rtl.css 107 B
build/block-library/blocks/post-author/editor.css 107 B
build/block-library/blocks/post-author/style-rtl.css 188 B
build/block-library/blocks/post-author/style.css 189 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 527 B
build/block-library/blocks/post-comments-form/style.css 528 B
build/block-library/blocks/post-content/style-rtl.css 61 B
build/block-library/blocks/post-content/style.css 61 B
build/block-library/blocks/post-date/style-rtl.css 62 B
build/block-library/blocks/post-date/style.css 62 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 155 B
build/block-library/blocks/post-excerpt/style.css 155 B
build/block-library/blocks/post-featured-image/editor-rtl.css 729 B
build/block-library/blocks/post-featured-image/editor.css 726 B
build/block-library/blocks/post-featured-image/style-rtl.css 347 B
build/block-library/blocks/post-featured-image/style.css 347 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 399 B
build/block-library/blocks/post-template/style.css 398 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 70 B
build/block-library/blocks/post-time-to-read/style.css 70 B
build/block-library/blocks/post-title/style-rtl.css 162 B
build/block-library/blocks/post-title/style.css 162 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 134 B
build/block-library/blocks/pullquote/editor.css 134 B
build/block-library/blocks/pullquote/style-rtl.css 342 B
build/block-library/blocks/pullquote/style.css 342 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 121 B
build/block-library/blocks/query-pagination-numbers/editor.css 118 B
build/block-library/blocks/query-pagination/editor-rtl.css 154 B
build/block-library/blocks/query-pagination/editor.css 154 B
build/block-library/blocks/query-pagination/style-rtl.css 237 B
build/block-library/blocks/query-pagination/style.css 237 B
build/block-library/blocks/query-title/style-rtl.css 64 B
build/block-library/blocks/query-title/style.css 64 B
build/block-library/blocks/query/editor-rtl.css 452 B
build/block-library/blocks/query/editor.css 451 B
build/block-library/blocks/quote/style-rtl.css 238 B
build/block-library/blocks/quote/style.css 238 B
build/block-library/blocks/quote/theme-rtl.css 233 B
build/block-library/blocks/quote/theme.css 236 B
build/block-library/blocks/read-more/style-rtl.css 138 B
build/block-library/blocks/read-more/style.css 138 B
build/block-library/blocks/rss/editor-rtl.css 101 B
build/block-library/blocks/rss/editor.css 101 B
build/block-library/blocks/rss/style-rtl.css 288 B
build/block-library/blocks/rss/style.css 287 B
build/block-library/blocks/search/editor-rtl.css 199 B
build/block-library/blocks/search/editor.css 199 B
build/block-library/blocks/search/style-rtl.css 672 B
build/block-library/blocks/search/style.css 671 B
build/block-library/blocks/search/theme-rtl.css 113 B
build/block-library/blocks/search/theme.css 113 B
build/block-library/blocks/separator/editor-rtl.css 100 B
build/block-library/blocks/separator/editor.css 100 B
build/block-library/blocks/separator/style-rtl.css 248 B
build/block-library/blocks/separator/style.css 248 B
build/block-library/blocks/separator/theme-rtl.css 195 B
build/block-library/blocks/separator/theme.css 195 B
build/block-library/blocks/shortcode/editor-rtl.css 286 B
build/block-library/blocks/shortcode/editor.css 286 B
build/block-library/blocks/site-logo/editor-rtl.css 806 B
build/block-library/blocks/site-logo/editor.css 803 B
build/block-library/blocks/site-logo/style-rtl.css 218 B
build/block-library/blocks/site-logo/style.css 218 B
build/block-library/blocks/site-tagline/editor-rtl.css 87 B
build/block-library/blocks/site-tagline/editor.css 87 B
build/block-library/blocks/site-tagline/style-rtl.css 65 B
build/block-library/blocks/site-tagline/style.css 65 B
build/block-library/blocks/site-title/editor-rtl.css 85 B
build/block-library/blocks/site-title/editor.css 85 B
build/block-library/blocks/site-title/style-rtl.css 143 B
build/block-library/blocks/site-title/style.css 143 B
build/block-library/blocks/social-link/editor-rtl.css 338 B
build/block-library/blocks/social-link/editor.css 338 B
build/block-library/blocks/social-links/editor-rtl.css 729 B
build/block-library/blocks/social-links/editor.css 727 B
build/block-library/blocks/social-links/style-rtl.css 1.51 kB
build/block-library/blocks/social-links/style.css 1.5 kB
build/block-library/blocks/spacer/editor-rtl.css 346 B
build/block-library/blocks/spacer/editor.css 346 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-of-contents/style-rtl.css 83 B
build/block-library/blocks/table-of-contents/style.css 83 B
build/block-library/blocks/table/editor-rtl.css 394 B
build/block-library/blocks/table/editor.css 394 B
build/block-library/blocks/table/style-rtl.css 640 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/editor-rtl.css 144 B
build/block-library/blocks/tag-cloud/editor.css 144 B
build/block-library/blocks/tag-cloud/style-rtl.css 266 B
build/block-library/blocks/tag-cloud/style.css 265 B
build/block-library/blocks/template-part/editor-rtl.css 368 B
build/block-library/blocks/template-part/editor.css 368 B
build/block-library/blocks/template-part/theme-rtl.css 113 B
build/block-library/blocks/template-part/theme.css 113 B
build/block-library/blocks/term-description/style-rtl.css 126 B
build/block-library/blocks/term-description/style.css 126 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 165 B
build/block-library/blocks/text-columns/style.css 165 B
build/block-library/blocks/verse/style-rtl.css 98 B
build/block-library/blocks/verse/style.css 98 B
build/block-library/blocks/video/editor-rtl.css 396 B
build/block-library/blocks/video/editor.css 397 B
build/block-library/blocks/video/style-rtl.css 192 B
build/block-library/blocks/video/style.css 192 B
build/block-library/blocks/video/theme-rtl.css 134 B
build/block-library/blocks/video/theme.css 134 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.1 kB
build/block-library/common.css 1.1 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/editor-rtl.css 11.7 kB
build/block-library/editor.css 11.7 kB
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/index.min.js 220 kB
build/block-library/reset-rtl.css 472 B
build/block-library/reset.css 472 B
build/block-library/style-rtl.css 14.9 kB
build/block-library/style.css 14.9 kB
build/block-library/theme-rtl.css 708 B
build/block-library/theme.css 712 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 52.5 kB
build/commands/index.min.js 16.1 kB
build/commands/style-rtl.css 955 B
build/commands/style.css 952 B
build/components/index.min.js 227 kB
build/components/style-rtl.css 12.4 kB
build/components/style.css 12.4 kB
build/compose/index.min.js 12.7 kB
build/core-commands/index.min.js 3.11 kB
build/core-data/index.min.js 73.4 kB
build/customize-widgets/index.min.js 11 kB
build/customize-widgets/style-rtl.css 1.35 kB
build/customize-widgets/style.css 1.35 kB
build/data-controls/index.min.js 641 B
build/data/index.min.js 8.97 kB
build/date/index.min.js 18 kB
build/deprecated/index.min.js 458 B
build/dom-ready/index.min.js 325 B
build/dom/index.min.js 4.66 kB
build/edit-post/classic-rtl.css 578 B
build/edit-post/classic.css 580 B
build/edit-post/index.min.js 13.7 kB
build/edit-post/style-rtl.css 2.76 kB
build/edit-post/style.css 2.75 kB
build/edit-site/posts-rtl.css 7.31 kB
build/edit-site/posts.css 7.31 kB
build/edit-site/style-rtl.css 12.6 kB
build/edit-site/style.css 12.6 kB
build/edit-widgets/index.min.js 17.7 kB
build/edit-widgets/style-rtl.css 4.19 kB
build/edit-widgets/style.css 4.19 kB
build/editor/index.min.js 103 kB
build/editor/style-rtl.css 9.37 kB
build/editor/style.css 9.37 kB
build/element/index.min.js 4.82 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.04 kB
build/format-library/style-rtl.css 476 B
build/format-library/style.css 476 B
build/hooks/index.min.js 1.65 kB
build/html-entities/index.min.js 445 B
build/i18n/index.min.js 3.58 kB
build/is-shallow-equal/index.min.js 526 B
build/keyboard-shortcuts/index.min.js 1.31 kB
build/keycodes/index.min.js 1.46 kB
build/list-reusable-blocks/index.min.js 2.13 kB
build/list-reusable-blocks/style-rtl.css 852 B
build/list-reusable-blocks/style.css 852 B
build/media-utils/index.min.js 3.2 kB
build/notices/index.min.js 946 B
build/nux/index.min.js 1.62 kB
build/nux/style-rtl.css 749 B
build/nux/style.css 745 B
build/patterns/index.min.js 7.34 kB
build/patterns/style-rtl.css 687 B
build/patterns/style.css 685 B
build/plugins/index.min.js 1.81 kB
build/preferences-persistence/index.min.js 2.06 kB
build/preferences/index.min.js 2.9 kB
build/preferences/style-rtl.css 554 B
build/preferences/style.css 554 B
build/primitives/index.min.js 829 B
build/priority-queue/index.min.js 1.54 kB
build/private-apis/index.min.js 960 B
build/react-i18n/index.min.js 630 B
build/react-refresh-entry/index.min.js 9.47 kB
build/react-refresh-runtime/index.min.js 6.76 kB
build/redux-routine/index.min.js 2.7 kB
build/reusable-blocks/index.min.js 2.55 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.1 kB
build/router/index.min.js 1.96 kB
build/server-side-render/index.min.js 1.94 kB
build/shortcode/index.min.js 1.4 kB
build/style-engine/index.min.js 2.04 kB
build/token-list/index.min.js 581 B
build/url/index.min.js 3.9 kB
build/vendors/react-dom.min.js 41.7 kB
build/vendors/react-jsx-runtime.min.js 556 B
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 965 B
build/warning/index.min.js 250 B
build/widgets/index.min.js 7.16 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.03 kB

compressed-size-action

@afercia afercia force-pushed the fix/global-styes-menu-avoid-label-name-mismatch branch from fa6ba5d to a1c3577 Compare September 10, 2024 12:59
@afercia afercia requested a review from Mamaduka September 11, 2024 09:43
@Mamaduka
Copy link
Member

Happy to help with the code review, but I think this also needs design feedback.

cc @WordPress/gutenberg-design

@richtabor richtabor self-requested a review September 11, 2024 17:09
Copy link
Member

@richtabor richtabor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Special case: Adds a visible label to the 'Palette' button. Note: this is the only visual change in this PR.

This does not following existing UI patterns. I'd encourage not introducing new UI for existing concepts.

@afercia
Copy link
Contributor Author

afercia commented Sep 12, 2024

Special case: Adds a visible label to the 'Palette' button. Note: this is the only visual change in this PR.

This does not following existing UI patterns. I'd encourage not introducing new UI for existing concepts.

The current label made of 'palette icons' of the control is already a unique case that doesn't provide a choesive experience for users. It's not accessible and to me it's not a great design. I see two options:

  • Add a label and keep the palette icons, to at least partially respect the original design.
  • Otherwise, the only alternative is to entirely remove the palette icons.

I'd like to be very clear that controls labeled with only icons must be avoided, especially when the icons are not recognizable and can't be mentally associate to the name of the control.

I'd encourage not introducing new UI for existing concepts.

Any feedback is welcomed but saying 'No' without providing an alternative solution to a valid issue is not acceptable and not welcomed. I think I already pointed out on other issues and PRs that this kind of feedback doesn't help in any way to make WordPress better and doesn't help collaboration in an open source project. Thanks.

@afercia afercia force-pushed the fix/global-styes-menu-avoid-label-name-mismatch branch from d4c3e20 to 401ea48 Compare September 12, 2024 08:53
@afercia
Copy link
Contributor Author

afercia commented Sep 12, 2024

In the last commit I'm entirely removing the 'palette icons' and only using visible text for the label.

To recap: these icons used as label illustrated in the screenshot below are not OK. This is not the kind of accessible, inclusive, design I'd liek to see in WordPress:

not ok

The control is now labeled with visible text only:

Screenshot 2024-09-12 at 10 54 13

As a consequence, the 'Theme colors randomizer' button that is shown when enabling the 'Color randomizer' Gutenberg experiment is now moved one level deeper into the 'edit palette' panel. Screenshot:

Screenshot 2024-09-12 at 10 55 05

@afercia
Copy link
Contributor Author

afercia commented Sep 12, 2024

One more good reason to move the 'Randomize color' button to the actual Edit palette panel is that the colors icons shown inside the 'Edit palette' button are only the first five colors provided by the theme. Depending on the theme palette, clicking 'Randomize color' may not show any visual change in the five colors icons. For example, in Twenty Twenty-Four the first five colors are all white, black or grays and clicking the Randomize button won't show any change in the colors icons.

@afercia afercia force-pushed the fix/global-styes-menu-avoid-label-name-mismatch branch from 401ea48 to b4f1f83 Compare September 19, 2024 12:42
@afercia afercia force-pushed the fix/global-styes-menu-avoid-label-name-mismatch branch 2 times, most recently from 984583b to 9f64565 Compare October 11, 2024 11:47
@afercia
Copy link
Contributor Author

afercia commented Oct 11, 2024

I'd appreciate a new review of this PR. The only visible change is about the 'palette icons'. As mentioned earlier, that design pattern (which as far as I can tell is a unique case in the editor and as such is an ad-hoc, inconsistent, Implementation that should be avoided in the first place is not only not accessible but it's also non-functional as it may not show any change when randomizing colors, depending on the current palette.

I'm not opposed to alternative solutions as long as:

Thanks

Cc @WordPress/gutenberg-core @WordPress/gutenberg-design

@jameskoster
Copy link
Contributor

Couldn't the label be inline, to at least resemble the format of the items below (which are also edit affordances). I don't love it, but without a broader redesign of these elements I don't see an obvious better solution.

Screenshot 2024-10-14 at 13 19 57

@afercia
Copy link
Contributor Author

afercia commented Oct 14, 2024

@jameskoster thanks for your feedback, that could be an option. However, did you try this UI with Twenty Twenty-Four set as active theme? Did you check that, when randomizing colors, those 5 icons don't change at all? As I mentioned, those icons preview is non-functional with some color palettes. I'm not sure why the editor should keep an UI that:

  • it doesn't work well and can't be guaranteed to work well because we can't predict the palette colors.
  • it's a unique design pattern in the editor UI, this is the only case I can think of a button that is visually labeled with a non-very intuitive series of colored circles.

I think these colored icons preview should be moved one level deeper into the 'edit palette' panel and ideally not be arbitrarily limited to 5 colors. They should preview the changes for the entire palette.

@afercia
Copy link
Contributor Author

afercia commented Oct 14, 2024

To illustrate visually, with Twenty Twenty-Four active:

  • Before: no visible changes when randomizing
  • After: Randomize button moved into the edit palette panel so that the randomization shows changes to all colors. Note the first five colors don't (or barely do) change.
Before After
before after

@afercia afercia force-pushed the fix/global-styes-menu-avoid-label-name-mismatch branch from 9f64565 to 9d6d09a Compare October 14, 2024 13:26
@jameskoster
Copy link
Contributor

The color randomizer is an experimental feature, so I'm not sure we should be adjusting production UI around that. That said I agree about moving the 'Randomize' button to the Edit palette panel. Ideally the 'Edit palette' button should be updated to support random palettes.

Separately I wonder if we should update the swatches in these elements to support multiple colors in a way that doesn't affect the overall footprint:

palette

@afercia
Copy link
Contributor Author

afercia commented Oct 14, 2024

Screenshot 2024-10-14 at 15 53 27

@jameskoster interesting. I wouldn't be opposed to add an icon that represents the concept of 'palette' to the left of the button label. If you can provide one that works well, I'd be glad to add it.

However, I don't think that icon can be a functional preview of the actual palette colors. It can't be arbitrarily limited to 5 colors.

Any objections to move further improvements to a follow-up? I'd like to unblock this PR because it improves many other parts, not just this button.

@t-hamano
Copy link
Contributor

I think the purpose of this PR is to resolve the label inconsistency. Can we discuss in another issue/PR whether the location of the color randomizer is appropriate and whether the 5 color icons make sense?

That is, simply add "Edit Palette" to the current button:

image

If the 5 color icons are considered useless, that might mean the palette variation button is useless too.

Below are the palette variation buttons in TT4. Note that only 4 colors are shown here, so the difference is more difficult to see.

image

@afercia
Copy link
Contributor Author

afercia commented Oct 14, 2024

That is, simply add "Edit Palette" to the current button:

That is what I proposed at the beginning of this PR?

Anyways, I think moving the Randomizer button is an improvement and I don't see good reasons to not do it in this PR. It's a small, self-contained change. I do see way more complex PRs that introduce changes not strictly related to the original scope of the issue to solve being merged without problems. Sometimes, it's inevitable that the original scope of an issue gets bigger and I'd think the opportunity of a change should be evaluated on a case by case basis to avoid serious 'scope creep', but this isn't the case.

@t-hamano
Copy link
Contributor

t-hamano commented Oct 14, 2024

That is what I proposed at the beginning of this PR?

That's true, but my suggestion is to place it to the right of the color icon, not above it. What do you think about this design? @WordPress/gutenberg-design

I do see way more complex PRs that introduce changes not strictly related to the original scope of the issue to solve being merged without problems

While this can certainly happen, I think we should try to narrow it down as much as possible to the problem we're trying to fix. Otherwise, someone looking at a PR for the first time won't know what we actually changed without reading the code and discussion. Also, I think the smaller the PR, the easier it will be to identify the problem later on if we run into a problem.

@jameskoster
Copy link
Contributor

What do you think about this design?

It works for me.

And agree we should keep the scope of the PR narrow. Moving the randomizer, changing icons, etc. should be discussed separately.

@ciampo
Copy link
Contributor

ciampo commented Oct 16, 2024

Sounds good to me (and thank you @t-hamano for keeping the scope of this PR narrow).

One last aspect to consider: what do we do if the text doesn't fit in the available space? Truncation or break to a new line? (@jameskoster )

@afercia
Copy link
Contributor Author

afercia commented Oct 16, 2024

While this can certainly happen, I think we should try to narrow it down as much as possible to the problem we're trying to fix. Otherwise, someone looking at a PR for the first time won't know what we actually changed without reading the code and discussion. Also, I think the smaller the PR, the easier it will be to identify the problem later on if we run into a problem.

Fair enough. I will revert the moving of the randomizer and create another issue and PR.
I generally agree with keeping the scope as small as possible. From now on, I expect to see consistent feedback from you all for all future issues and PRs. Thanks.

@jameskoster
Copy link
Contributor

Truncation or break to a new line?

I'd lean toward the latter.

@afercia
Copy link
Contributor Author

afercia commented Oct 16, 2024

Truncation is not a good content strategy. The FlexItem component allows text wrapping and that's the best option IMHO.

@afercia afercia force-pushed the fix/global-styes-menu-avoid-label-name-mismatch branch from 9d6d09a to 50aab34 Compare October 16, 2024 12:05
@afercia
Copy link
Contributor Author

afercia commented Oct 16, 2024

Latest commit restores the 'Randomize colors' button, the colors preview, and adds a visible label 'Edit palette'. Screenshot:

Screenshot 2024-10-16 at 13 43 11

The edge case with a longer string and text wrapping is minor because the colors preview will be removed in a follow-up which will also move the Randomize colors to the edit palette panel.

@jameskoster
Copy link
Contributor

Would it be better to wrap the text underneath the swatches to avoid situations where many colors create a very narrow space for the text, and the button grows vertically to extreme heights?

Copy link
Contributor

@ntsekouras ntsekouras left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code wise this LGTM, thanks! The only possible small remaining thing is @jameskoster comment. Personally I think the current wrapping looks good, but 🤷

@jameskoster
Copy link
Contributor

My concern is this:

Screenshot 2024-10-16 at 18 54 24

IMO this works better:

Screenshot 2024-10-16 at 18 56 25

But I acknowledge this is totally an edge case. It doesn't need to hold up the PR :)

@t-hamano t-hamano self-requested a review October 17, 2024 09:46
Copy link
Contributor

@t-hamano t-hamano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Would it be better to wrap the text underneath the swatches to avoid situations where many colors create a very narrow space for the text, and the button grows vertically to extreme heights?

For now, the number of swatches will not exceed five, so I think there is no need to worry about increasing the number of swatches.

In the future, when we decide whether to delete swatches, change the design of swatches, or increase the swatch limit, we will be able to adjust the text layout.

@afercia
Copy link
Contributor Author

afercia commented Oct 18, 2024

Would it be better to wrap the text underneath the swatches to avoid situations where many colors create a very narrow space for the text, and the button grows vertically to extreme heights?

@jameskoster @ntsekouras the colors are limited to five. Which is, as I said, an arbitrary number that makes the swatches useless with some color palettes. That's how it works right now and this PR isn't changing that. As such, the edge case illustrated in @jameskoster screenshot above can't happen. This button shows only 5 colors.

I created #66169 to discuss removing the swatches and moving the Randomizer to the edit palette panel.

@afercia
Copy link
Contributor Author

afercia commented Oct 18, 2024

I'd appreciate an approval... Thanks.

@ntsekouras
Copy link
Contributor

I'd appreciate an approval... Thanks.

You have two :)

@ntsekouras ntsekouras dismissed richtabor’s stale review October 18, 2024 07:17

Discussed and we can proceed with the current changes

@afercia afercia merged commit d330f30 into trunk Oct 18, 2024
66 checks passed
@afercia afercia deleted the fix/global-styes-menu-avoid-label-name-mismatch branch October 18, 2024 07:27
@github-actions github-actions bot added this to the Gutenberg 19.6 milestone Oct 18, 2024
karthick-murugan pushed a commit to karthick-murugan/gutenberg that referenced this pull request Nov 13, 2024
WordPress#65124)

* Simplify global styles root menu labels.

* Fix and simplify labels in various global styles submenus.

* Adjust failing test.

* Fix more tests.

* Fix one more test.

* Entirely remove palette icons and move color randomizer.

* Restore randomize colors position and add visible label.

Co-authored-by: afercia <afercia@git.wordpress.org>
Co-authored-by: richtabor <richtabor@git.wordpress.org>
Co-authored-by: ntsekouras <ntsekouras@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>
Co-authored-by: Mamaduka <mamaduka@git.wordpress.org>
Co-authored-by: jameskoster <jameskoster@git.wordpress.org>
Co-authored-by: ciampo <mciampini@git.wordpress.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Focus] Accessibility (a11y) Changes that impact accessibility and need corresponding review (e.g. markup changes). Global Styles Anything related to the broader Global Styles efforts, including Styles Engine and theme.json [Package] Edit Site /packages/edit-site [Type] Bug An existing feature does not function as intended
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Global styles menu: avoid unnecessary mismatch between visible label and accessible name
7 participants