Skip to content

Conversation

@ciampo
Copy link
Contributor

@ciampo ciampo commented Jul 18, 2025

What?

Related to #64744

Increase the font weight of the Button component

Why?

Using a heavier font-weight gives more prominence to the Button component throughout all variants, and helps to disambiguate buttons from other interactive controls such as InputControl

How?

By changing the font-weight style in the Button component

Testing Instructions

Test the different look in Storybook and in the editor.

Screenshots or screencast

Kapture.2025-07-18.at.17.18.02.mp4

@github-actions
Copy link

github-actions bot commented Jul 18, 2025

Size Change: +76 B (0%)

Total Size: 2.2 MB

Filename Size Change
build/block-editor/index.min.js 296 kB +13 B (0%)
build/block-editor/style-rtl.css 16.2 kB +16 B (+0.1%)
build/block-editor/style.css 16.2 kB +16 B (+0.1%)
build/components/index.min.js 271 kB +2 B (0%)
build/components/style-rtl.css 14 kB +13 B (+0.09%)
build/components/style.css 14 kB +12 B (+0.09%)
build/editor/style-rtl.css 9.96 kB +2 B (+0.02%)
build/editor/style.css 9.96 kB +2 B (+0.02%)
ℹ️ View Unchanged
Filename Size
build-module/a11y/index.min.js 355 B
build-module/block-editor/utils/fit-text-frontend.min.js 551 B
build-module/block-library/accordion/view.min.js 520 B
build-module/block-library/file/view.min.js 346 B
build-module/block-library/form/view.min.js 528 B
build-module/block-library/image/view.min.js 1.64 kB
build-module/block-library/navigation/view.min.js 1.03 kB
build-module/block-library/query/view.min.js 518 B
build-module/block-library/search/view.min.js 497 B
build-module/interactivity-router/full-page.min.js 451 B
build-module/interactivity-router/index.min.js 11.6 kB
build-module/interactivity/debug.min.js 18.5 kB
build-module/interactivity/index.min.js 14.9 kB
build-module/latex-to-mathml/index.min.js 56.5 kB
build-module/latex-to-mathml/loader.min.js 131 B
build/a11y/index.min.js 1.06 kB
build/annotations/index.min.js 2.38 kB
build/api-fetch/index.min.js 2.83 kB
build/autop/index.min.js 2.18 kB
build/blob/index.min.js 631 B
build/block-directory/index.min.js 8.04 kB
build/block-directory/style-rtl.css 1.05 kB
build/block-directory/style.css 1.05 kB
build/block-editor/content-rtl.css 4.81 kB
build/block-editor/content.css 4.8 kB
build/block-editor/default-editor-styles-rtl.css 224 B
build/block-editor/default-editor-styles.css 224 B
build/block-library/accordion-heading/style-rtl.css 340 B
build/block-library/accordion-heading/style.css 340 B
build/block-library/accordion-item/style-rtl.css 213 B
build/block-library/accordion-item/style.css 213 B
build/block-library/accordion-panel/style-rtl.css 99 B
build/block-library/accordion-panel/style.css 99 B
build/block-library/archives/editor-rtl.css 61 B
build/block-library/archives/editor.css 61 B
build/block-library/archives/style-rtl.css 90 B
build/block-library/archives/style.css 90 B
build/block-library/audio/editor-rtl.css 149 B
build/block-library/audio/editor.css 151 B
build/block-library/audio/style-rtl.css 132 B
build/block-library/audio/style.css 132 B
build/block-library/audio/theme-rtl.css 134 B
build/block-library/audio/theme.css 134 B
build/block-library/avatar/editor-rtl.css 115 B
build/block-library/avatar/editor.css 115 B
build/block-library/avatar/style-rtl.css 104 B
build/block-library/avatar/style.css 104 B
build/block-library/breadcrumbs/style-rtl.css 203 B
build/block-library/breadcrumbs/style.css 203 B
build/block-library/button/editor-rtl.css 265 B
build/block-library/button/editor.css 265 B
build/block-library/button/style-rtl.css 554 B
build/block-library/button/style.css 554 B
build/block-library/buttons/editor-rtl.css 291 B
build/block-library/buttons/editor.css 291 B
build/block-library/buttons/style-rtl.css 349 B
build/block-library/buttons/style.css 349 B
build/block-library/calendar/style-rtl.css 239 B
build/block-library/calendar/style.css 239 B
build/block-library/categories/editor-rtl.css 132 B
build/block-library/categories/editor.css 131 B
build/block-library/categories/style-rtl.css 152 B
build/block-library/categories/style.css 152 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/code/editor-rtl.css 53 B
build/block-library/code/editor.css 53 B
build/block-library/code/style-rtl.css 139 B
build/block-library/code/style.css 139 B
build/block-library/code/theme-rtl.css 122 B
build/block-library/code/theme.css 122 B
build/block-library/columns/editor-rtl.css 108 B
build/block-library/columns/editor.css 108 B
build/block-library/columns/style-rtl.css 421 B
build/block-library/columns/style.css 421 B
build/block-library/comment-author-avatar/editor-rtl.css 124 B
build/block-library/comment-author-avatar/editor.css 124 B
build/block-library/comment-author-name/style-rtl.css 72 B
build/block-library/comment-author-name/style.css 72 B
build/block-library/comment-content/style-rtl.css 120 B
build/block-library/comment-content/style.css 120 B
build/block-library/comment-date/style-rtl.css 65 B
build/block-library/comment-date/style.css 65 B
build/block-library/comment-edit-link/style-rtl.css 70 B
build/block-library/comment-edit-link/style.css 70 B
build/block-library/comment-reply-link/style-rtl.css 71 B
build/block-library/comment-reply-link/style.css 71 B
build/block-library/comment-template/style-rtl.css 191 B
build/block-library/comment-template/style.css 191 B
build/block-library/comments-pagination-numbers/editor-rtl.css 122 B
build/block-library/comments-pagination-numbers/editor.css 121 B
build/block-library/comments-pagination/editor-rtl.css 168 B
build/block-library/comments-pagination/editor.css 168 B
build/block-library/comments-pagination/style-rtl.css 201 B
build/block-library/comments-pagination/style.css 201 B
build/block-library/comments-title/editor-rtl.css 75 B
build/block-library/comments-title/editor.css 75 B
build/block-library/comments/editor-rtl.css 842 B
build/block-library/comments/editor.css 842 B
build/block-library/comments/style-rtl.css 637 B
build/block-library/comments/style.css 637 B
build/block-library/common-rtl.css 1.11 kB
build/block-library/common.css 1.11 kB
build/block-library/cover/editor-rtl.css 631 B
build/block-library/cover/editor.css 631 B
build/block-library/cover/style-rtl.css 1.7 kB
build/block-library/cover/style.css 1.69 kB
build/block-library/details/editor-rtl.css 65 B
build/block-library/details/editor.css 65 B
build/block-library/details/style-rtl.css 86 B
build/block-library/details/style.css 86 B
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/editor-rtl.css 11.6 kB
build/block-library/editor.css 11.6 kB
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/embed/editor-rtl.css 331 B
build/block-library/embed/editor.css 331 B
build/block-library/embed/style-rtl.css 419 B
build/block-library/embed/style.css 419 B
build/block-library/embed/theme-rtl.css 133 B
build/block-library/embed/theme.css 133 B
build/block-library/file/editor-rtl.css 324 B
build/block-library/file/editor.css 324 B
build/block-library/file/style-rtl.css 278 B
build/block-library/file/style.css 278 B
build/block-library/footnotes/style-rtl.css 198 B
build/block-library/footnotes/style.css 197 B
build/block-library/form-input/editor-rtl.css 229 B
build/block-library/form-input/editor.css 229 B
build/block-library/form-input/style-rtl.css 366 B
build/block-library/form-input/style.css 366 B
build/block-library/form-submission-notification/editor-rtl.css 344 B
build/block-library/form-submission-notification/editor.css 341 B
build/block-library/form-submit-button/style-rtl.css 69 B
build/block-library/form-submit-button/style.css 69 B
build/block-library/freeform/editor-rtl.css 2.59 kB
build/block-library/freeform/editor.css 2.59 kB
build/block-library/gallery/editor-rtl.css 615 B
build/block-library/gallery/editor.css 616 B
build/block-library/gallery/style-rtl.css 1.84 kB
build/block-library/gallery/style.css 1.84 kB
build/block-library/gallery/theme-rtl.css 108 B
build/block-library/gallery/theme.css 108 B
build/block-library/group/editor-rtl.css 335 B
build/block-library/group/editor.css 335 B
build/block-library/group/style-rtl.css 103 B
build/block-library/group/style.css 103 B
build/block-library/group/theme-rtl.css 79 B
build/block-library/group/theme.css 79 B
build/block-library/heading/style-rtl.css 188 B
build/block-library/heading/style.css 188 B
build/block-library/html/editor-rtl.css 357 B
build/block-library/html/editor.css 358 B
build/block-library/image/editor-rtl.css 763 B
build/block-library/image/editor.css 763 B
build/block-library/image/style-rtl.css 1.6 kB
build/block-library/image/style.css 1.59 kB
build/block-library/image/theme-rtl.css 137 B
build/block-library/image/theme.css 137 B
build/block-library/index.min.js 266 kB
build/block-library/latest-comments/style-rtl.css 355 B
build/block-library/latest-comments/style.css 354 B
build/block-library/latest-posts/editor-rtl.css 139 B
build/block-library/latest-posts/editor.css 138 B
build/block-library/latest-posts/style-rtl.css 520 B
build/block-library/latest-posts/style.css 520 B
build/block-library/list/style-rtl.css 107 B
build/block-library/list/style.css 107 B
build/block-library/loginout/style-rtl.css 61 B
build/block-library/loginout/style.css 61 B
build/block-library/media-text/editor-rtl.css 321 B
build/block-library/media-text/editor.css 320 B
build/block-library/media-text/style-rtl.css 543 B
build/block-library/media-text/style.css 542 B
build/block-library/more/editor-rtl.css 393 B
build/block-library/more/editor.css 393 B
build/block-library/navigation-link/editor-rtl.css 625 B
build/block-library/navigation-link/editor.css 628 B
build/block-library/navigation-link/style-rtl.css 190 B
build/block-library/navigation-link/style.css 188 B
build/block-library/navigation-submenu/editor-rtl.css 295 B
build/block-library/navigation-submenu/editor.css 294 B
build/block-library/navigation/editor-rtl.css 2.24 kB
build/block-library/navigation/editor.css 2.24 kB
build/block-library/navigation/style-rtl.css 2.27 kB
build/block-library/navigation/style.css 2.25 kB
build/block-library/nextpage/editor-rtl.css 392 B
build/block-library/nextpage/editor.css 392 B
build/block-library/page-list/editor-rtl.css 356 B
build/block-library/page-list/editor.css 356 B
build/block-library/page-list/style-rtl.css 192 B
build/block-library/page-list/style.css 192 B
build/block-library/paragraph/editor-rtl.css 251 B
build/block-library/paragraph/editor.css 251 B
build/block-library/paragraph/style-rtl.css 341 B
build/block-library/paragraph/style.css 340 B
build/block-library/post-author-biography/style-rtl.css 74 B
build/block-library/post-author-biography/style.css 74 B
build/block-library/post-author-name/style-rtl.css 69 B
build/block-library/post-author-name/style.css 69 B
build/block-library/post-author/style-rtl.css 188 B
build/block-library/post-author/style.css 189 B
build/block-library/post-comments-count/style-rtl.css 72 B
build/block-library/post-comments-count/style.css 72 B
build/block-library/post-comments-form/editor-rtl.css 96 B
build/block-library/post-comments-form/editor.css 96 B
build/block-library/post-comments-form/style-rtl.css 525 B
build/block-library/post-comments-form/style.css 525 B
build/block-library/post-comments-link/style-rtl.css 71 B
build/block-library/post-comments-link/style.css 71 B
build/block-library/post-content/style-rtl.css 61 B
build/block-library/post-content/style.css 61 B
build/block-library/post-date/style-rtl.css 62 B
build/block-library/post-date/style.css 62 B
build/block-library/post-excerpt/editor-rtl.css 71 B
build/block-library/post-excerpt/editor.css 71 B
build/block-library/post-excerpt/style-rtl.css 155 B
build/block-library/post-excerpt/style.css 155 B
build/block-library/post-featured-image/editor-rtl.css 719 B
build/block-library/post-featured-image/editor.css 717 B
build/block-library/post-featured-image/style-rtl.css 347 B
build/block-library/post-featured-image/style.css 347 B
build/block-library/post-navigation-link/style-rtl.css 215 B
build/block-library/post-navigation-link/style.css 214 B
build/block-library/post-template/style-rtl.css 414 B
build/block-library/post-template/style.css 414 B
build/block-library/post-terms/style-rtl.css 96 B
build/block-library/post-terms/style.css 96 B
build/block-library/post-time-to-read/style-rtl.css 70 B
build/block-library/post-time-to-read/style.css 70 B
build/block-library/post-title/style-rtl.css 162 B
build/block-library/post-title/style.css 162 B
build/block-library/preformatted/style-rtl.css 125 B
build/block-library/preformatted/style.css 125 B
build/block-library/pullquote/editor-rtl.css 133 B
build/block-library/pullquote/editor.css 133 B
build/block-library/pullquote/style-rtl.css 365 B
build/block-library/pullquote/style.css 365 B
build/block-library/pullquote/theme-rtl.css 176 B
build/block-library/pullquote/theme.css 176 B
build/block-library/query-pagination-numbers/editor-rtl.css 121 B
build/block-library/query-pagination-numbers/editor.css 118 B
build/block-library/query-pagination/editor-rtl.css 154 B
build/block-library/query-pagination/editor.css 154 B
build/block-library/query-pagination/style-rtl.css 237 B
build/block-library/query-pagination/style.css 237 B
build/block-library/query-title/style-rtl.css 64 B
build/block-library/query-title/style.css 64 B
build/block-library/query-total/style-rtl.css 64 B
build/block-library/query-total/style.css 64 B
build/block-library/query/editor-rtl.css 438 B
build/block-library/query/editor.css 438 B
build/block-library/quote/style-rtl.css 238 B
build/block-library/quote/style.css 238 B
build/block-library/quote/theme-rtl.css 233 B
build/block-library/quote/theme.css 236 B
build/block-library/read-more/style-rtl.css 131 B
build/block-library/read-more/style.css 131 B
build/block-library/reset-rtl.css 472 B
build/block-library/reset.css 472 B
build/block-library/rss/editor-rtl.css 126 B
build/block-library/rss/editor.css 126 B
build/block-library/rss/style-rtl.css 284 B
build/block-library/rss/style.css 283 B
build/block-library/search/editor-rtl.css 199 B
build/block-library/search/editor.css 199 B
build/block-library/search/style-rtl.css 665 B
build/block-library/search/style.css 666 B
build/block-library/search/theme-rtl.css 113 B
build/block-library/search/theme.css 113 B
build/block-library/separator/editor-rtl.css 100 B
build/block-library/separator/editor.css 100 B
build/block-library/separator/style-rtl.css 248 B
build/block-library/separator/style.css 248 B
build/block-library/separator/theme-rtl.css 195 B
build/block-library/separator/theme.css 195 B
build/block-library/shortcode/editor-rtl.css 286 B
build/block-library/shortcode/editor.css 286 B
build/block-library/site-logo/editor-rtl.css 773 B
build/block-library/site-logo/editor.css 770 B
build/block-library/site-logo/style-rtl.css 218 B
build/block-library/site-logo/style.css 218 B
build/block-library/site-tagline/editor-rtl.css 87 B
build/block-library/site-tagline/editor.css 87 B
build/block-library/site-tagline/style-rtl.css 65 B
build/block-library/site-tagline/style.css 65 B
build/block-library/site-title/editor-rtl.css 85 B
build/block-library/site-title/editor.css 85 B
build/block-library/site-title/style-rtl.css 143 B
build/block-library/site-title/style.css 143 B
build/block-library/social-link/editor-rtl.css 314 B
build/block-library/social-link/editor.css 314 B
build/block-library/social-links/editor-rtl.css 339 B
build/block-library/social-links/editor.css 338 B
build/block-library/social-links/style-rtl.css 1.51 kB
build/block-library/social-links/style.css 1.51 kB
build/block-library/spacer/editor-rtl.css 346 B
build/block-library/spacer/editor.css 346 B
build/block-library/spacer/style-rtl.css 48 B
build/block-library/spacer/style.css 48 B
build/block-library/style-rtl.css 15.6 kB
build/block-library/style.css 15.6 kB
build/block-library/table-of-contents/style-rtl.css 83 B
build/block-library/table-of-contents/style.css 83 B
build/block-library/table/editor-rtl.css 394 B
build/block-library/table/editor.css 394 B
build/block-library/table/style-rtl.css 641 B
build/block-library/table/style.css 640 B
build/block-library/table/theme-rtl.css 152 B
build/block-library/table/theme.css 152 B
build/block-library/tag-cloud/editor-rtl.css 92 B
build/block-library/tag-cloud/editor.css 92 B
build/block-library/tag-cloud/style-rtl.css 248 B
build/block-library/tag-cloud/style.css 248 B
build/block-library/template-part/editor-rtl.css 368 B
build/block-library/template-part/editor.css 368 B
build/block-library/template-part/theme-rtl.css 113 B
build/block-library/template-part/theme.css 113 B
build/block-library/term-count/style-rtl.css 63 B
build/block-library/term-count/style.css 63 B
build/block-library/term-description/style-rtl.css 126 B
build/block-library/term-description/style.css 126 B
build/block-library/term-name/style-rtl.css 62 B
build/block-library/term-name/style.css 62 B
build/block-library/term-template/editor-rtl.css 225 B
build/block-library/term-template/editor.css 225 B
build/block-library/term-template/style-rtl.css 114 B
build/block-library/term-template/style.css 114 B
build/block-library/text-columns/editor-rtl.css 95 B
build/block-library/text-columns/editor.css 95 B
build/block-library/text-columns/style-rtl.css 165 B
build/block-library/text-columns/style.css 165 B
build/block-library/theme-rtl.css 715 B
build/block-library/theme.css 719 B
build/block-library/verse/style-rtl.css 98 B
build/block-library/verse/style.css 98 B
build/block-library/video/editor-rtl.css 413 B
build/block-library/video/editor.css 414 B
build/block-library/video/style-rtl.css 202 B
build/block-library/video/style.css 202 B
build/block-library/video/theme-rtl.css 134 B
build/block-library/video/theme.css 134 B
build/block-serialization-default-parser/index.min.js 1.16 kB
build/block-serialization-spec-parser/index.min.js 3.08 kB
build/blocks/index.min.js 56.7 kB
build/commands/index.min.js 17.4 kB
build/commands/style-rtl.css 999 B
build/commands/style.css 1 kB
build/compose/index.min.js 13.8 kB
build/core-commands/index.min.js 4.1 kB
build/core-data/index.min.js 85.1 kB
build/customize-widgets/index.min.js 12.3 kB
build/customize-widgets/style-rtl.css 1.44 kB
build/customize-widgets/style.css 1.44 kB
build/data-controls/index.min.js 793 B
build/data/index.min.js 9.61 kB
build/date/index.min.js 23.6 kB
build/deprecated/index.min.js 755 B
build/dom-ready/index.min.js 476 B
build/dom/index.min.js 4.91 kB
build/edit-post/classic-rtl.css 426 B
build/edit-post/classic.css 427 B
build/edit-post/index.min.js 15.8 kB
build/edit-post/style-rtl.css 3.33 kB
build/edit-post/style.css 3.33 kB
build/edit-site/index.min.js 260 kB
build/edit-site/posts-rtl.css 9.96 kB
build/edit-site/posts.css 9.95 kB
build/edit-site/style-rtl.css 15.9 kB
build/edit-site/style.css 15.9 kB
build/edit-widgets/index.min.js 20 kB
build/edit-widgets/style-rtl.css 4.59 kB
build/edit-widgets/style.css 4.59 kB
build/editor/index.min.js 161 kB
build/element/index.min.js 5.19 kB
build/escape-html/index.min.js 586 B
build/format-library/index.min.js 10.6 kB
build/format-library/style-rtl.css 308 B
build/format-library/style.css 308 B
build/hooks/index.min.js 1.83 kB
build/html-entities/index.min.js 494 B
build/i18n/index.min.js 2.46 kB
build/is-shallow-equal/index.min.js 568 B
build/keyboard-shortcuts/index.min.js 1.57 kB
build/keycodes/index.min.js 1.53 kB
build/latex-to-mathml/index.min.js 56.7 kB
build/list-reusable-blocks/index.min.js 2.44 kB
build/list-reusable-blocks/style-rtl.css 1.02 kB
build/list-reusable-blocks/style.css 1.02 kB
build/media-utils/index.min.js 3.96 kB
build/notices/index.min.js 1.11 kB
build/nux/index.min.js 1.88 kB
build/nux/style-rtl.css 622 B
build/nux/style.css 618 B
build/patterns/index.min.js 8.63 kB
build/patterns/style-rtl.css 703 B
build/patterns/style.css 703 B
build/plugins/index.min.js 2.14 kB
build/preferences-persistence/index.min.js 2.15 kB
build/preferences/index.min.js 3.3 kB
build/preferences/style-rtl.css 415 B
build/preferences/style.css 415 B
build/primitives/index.min.js 1.01 kB
build/priority-queue/index.min.js 1.61 kB
build/private-apis/index.min.js 1.03 kB
build/react-i18n/index.min.js 832 B
build/react-refresh-entry/index.min.js 9.44 kB
build/react-refresh-runtime/index.min.js 3.59 kB
build/redux-routine/index.min.js 3.36 kB
build/reusable-blocks/index.min.js 2.92 kB
build/reusable-blocks/style-rtl.css 275 B
build/reusable-blocks/style.css 275 B
build/rich-text/index.min.js 12.9 kB
build/router/index.min.js 5.96 kB
build/server-side-render/index.min.js 1.9 kB
build/shortcode/index.min.js 1.58 kB
build/style-engine/index.min.js 2.31 kB
build/token-list/index.min.js 740 B
build/undo-manager/index.min.js 915 B
build/url/index.min.js 3.98 kB
build/vendors/react-dom.min.js 43 kB
build/vendors/react-jsx-runtime.min.js 691 B
build/vendors/react.min.js 4.27 kB
build/viewport/index.min.js 1.22 kB
build/warning/index.min.js 454 B
build/widgets/index.min.js 7.83 kB
build/widgets/style-rtl.css 1.17 kB
build/widgets/style.css 1.18 kB
build/wordcount/index.min.js 1.04 kB

compressed-size-action

@ciampo ciampo self-assigned this Jul 18, 2025
@ciampo ciampo added [Type] Enhancement A suggestion for improvement. [Focus] Accessibility (a11y) Changes that impact accessibility and need corresponding review (e.g. markup changes). Needs Design Feedback Needs general design feedback. [Package] Components /packages/components labels Jul 18, 2025
@ciampo ciampo requested review from a team July 18, 2025 15:23
@ciampo ciampo marked this pull request as ready for review July 18, 2025 15:23
@ciampo ciampo requested a review from ajitbohra as a code owner July 18, 2025 15:23
@github-actions
Copy link

github-actions bot commented Jul 18, 2025

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: ciampo <[email protected]>
Co-authored-by: mirka <[email protected]>
Co-authored-by: tyxla <[email protected]>
Co-authored-by: jameskoster <[email protected]>
Co-authored-by: t-hamano <[email protected]>
Co-authored-by: karmatosed <[email protected]>

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

@jameskoster
Copy link
Contributor

In general I support this change for the reasons outlined in #64744. But there are a few knock-on effects to consider:

Inspector

Screenshot 2025-07-18 at 16 29 26

For me this is okay, with the exception of the Content panel. The text in the rows there should probably remain at their current wait to maintain visual consistency with the List view panel.

Text buttons in toolbars

Screenshot 2025-07-18 at 16 30 08

This also seems okay. In fact on my screen the text weight feels more aligned with the icon weight which feels like a small win.

Inserter buttons

Screenshot 2025-07-18 at 16 30 35

I don't have a strong feeling on this one so will defer to others. But like the toolbar, on my screen the text and icons feel a bit more cohesive.

ItemGroup

Screenshot 2025-07-18 at 16 31 01

No strong feelings on this one either.

DropdownMenu

Screenshot 2025-07-18 at 16 31 15

This one feels quite clunky. Should probably remain at the original weight to maintain alignment with Menu.

Copy link
Member

@tyxla tyxla 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 looks good, but then it's mostly a design change. Let's ship once we have a design ✅

@t-hamano
Copy link
Contributor

It would be nice if we could take into account that the default font may vary from OS to OS and that font weight 500 may not be supported. If the weight is not found, the fallback weight is applied.

In Gutenberg, the following font families apply:

-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif

On Windows, Segoe UI is applied, but this font does not support weight 500, so it is rendered as weight 600 (SemiBold):

image

Therefore, there is a larger visual change compared to Mac.

Before & After

Before

image

After

image

Even more confusing are non-Latin languages: Segoe UI doesn't support Japanese, so a separate font is applied for Japanese. If a Japanese font supports weight 500, a button may have both weights 500 and 600:

image

If we change the default weight of the Button to 500, we may want to review the font-family definition to ensure that weight 500 applies across most devices, operating systems, and languages.

@ciampo
Copy link
Contributor Author

ciampo commented Jul 21, 2025

@t-hamano looking at the fallback weight rule, I'd expect a fallback of 400 when 500 is not available — which would make this change a lot safer.

Would you know why this is not the case? Maybe the browser is trying to interpolate? Or maybe setting the value to 499 would cause 400 to be closer than 600 as a fallback?

@t-hamano
Copy link
Contributor

looking at the fallback weight rule, I'd expect a fallback of 400 when 500 is not available

I expected the same, but for some reason the 600 weight was applied.

maybe setting the value to 499 would cause 400 to be closer than 600 as a fallback?

It seems to work fine in my environment. If it's 499, then 400 is applied; if it's 500, then 600 is applied.

https://codepen.io/Tetsuaki-Hamno/pen/PwPNGMV

image

@karmatosed karmatosed removed the Needs Design Feedback Needs general design feedback. label Jul 22, 2025
@ciampo
Copy link
Contributor Author

ciampo commented Jul 29, 2025

Awesome. I'll experiment with 499 as well and see if we can get more consistent behaviours across browsers / OSs / font-families

@ciampo ciampo force-pushed the update/button-font-weight branch from d46430e to 41496e6 Compare August 8, 2025 15:00
@ciampo
Copy link
Contributor Author

ciampo commented Aug 8, 2025

I pushed some updates:

  • changed from 500 to 499 ;
  • forced 400 weight following Jay's feedback (row panel buttons, menu items)

@WordPress/gutenberg-design , any other places where we should avoid the new medium font weight?

@t-hamano, is text rendering correctly on your machine, for all the font-families used?

cc @WordPress/gutenberg-components

@github-actions
Copy link

github-actions bot commented Aug 8, 2025

Flaky tests detected in 4d795e4.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/18640941543
📝 Reported issues:

@t-hamano
Copy link
Contributor

t-hamano commented Aug 9, 2025

@t-hamano, is text rendering correctly on your machine, for all the font-families used?

Yes. On Windows OS, font-weight 400 is applied as a fallback as before, so there should be no visual changes.

@karmatosed
Copy link
Member

I would defer to @jameskoster and @jasmussen here as they are close to the system and I want to ensure they give feedback around what should or shouldn't keep medium weight.

@jameskoster
Copy link
Contributor

The main issue for me was that items in the original Menu component have heavier font-weight than items in the newer menu component. Ideally these are aligned, and both utilise the same weight we see on trunk.

I don't have strong feelings about any of the other items highlighted in my previous comment.

@jameskoster jameskoster requested review from jsnajdr and mirka October 17, 2025 15:37
@mirka mirka requested a review from ellatrix as a code owner October 17, 2025 16:52
@mirka mirka self-assigned this Oct 17, 2025
@mirka
Copy link
Member

mirka commented Oct 17, 2025

Additional changes made

Fully addressed DropdownMenu df44071

Before After
DropdownMenu weight, before DropdownMenu weight, after

Maintained weight in DatePicker (matches new DateCalendar components) a47b1fe

Before After
DatePicker date weights, before DatePicker date weights, after

Maintained weight in BlockQuickNavigationItem 6f52782, as requested

Before After
BlockQuickNavigation, before BlockQuickNavigation, after

Other affected components (in addition to the ones already listed)

DuotonePicker: I'm leaving these as is with the heavier weight, because we're leaving the ItemGroup buttons as is and they are similar.

Before After
DuotonePicker, before DuotonePicker, after

⚠️ One final decision to make

Before After
Link button, before Link button, after

Making <Button variant="link"> heavier means that there will be a weight difference between a standard <a href="#"> and a <Button variant="link" href="#">, which are basically the same thing. @jameskoster Any preferences here? I think it would be simplest for consumers if we maintained a 400 weight for link variant Buttons, regardless of their ultimate markup (button or anchor).

@mirka
Copy link
Member

mirka commented Oct 17, 2025

@t-hamano As a follow up, I'm wondering if we should just update $font-weight-medium to 499. What do you think?

$font-weight-regular: 400;
$font-weight-medium: 500;

@jameskoster
Copy link
Contributor

I think it would be simplest for consumers if we maintained a 400 weight for link variant Buttons, regardless of their ultimate markup (button or anchor).

Agree! We might consider phasing out the link button variant, it's quite a misleading design imo.

@t-hamano
Copy link
Contributor

As a follow up, I'm wondering if we should just update $font-weight-medium to 499. What do you think?

That's a good idea. Additionally, we might be able to replace the hardcoded weights with SCSS variables and add rules to Stylelint to disallow hardcoded values.

@t-hamano
Copy link
Contributor

t-hamano commented Oct 18, 2025

Yes. On Windows OS, font-weight 400 is applied as a fallback as before, so there should be no visual changes.

I tested it again on Storybook, and there should be no visual changes at all on Windows.

@mirka mirka merged commit eedc21c into trunk Oct 20, 2025
70 checks passed
@mirka mirka deleted the update/button-font-weight branch October 20, 2025 05:03
@github-actions github-actions bot added this to the Gutenberg 22.0 milestone Oct 20, 2025
@jsnajdr
Copy link
Member

jsnajdr commented Oct 21, 2025

I tried to figure out why @t-hamano's Windows browser would use the 600 weight as the fallback when the spec says it should use 400. And found this Chrome bug. Very old, unfixed, and specific to Windows and the Segoe UI font:

https://issues.chromium.org/issues/40552893

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). [Package] Components /packages/components [Type] Enhancement A suggestion for improvement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants