Skip to content

Conversation

@jeryj
Copy link
Contributor

@jeryj jeryj commented Nov 11, 2025

What?

Closes

Follow up to #73142 to fix accessible descriptions and alerts.

Why?

The original PR was a fix for 6.9, and this PR follows up to ensure the fix is accessible to by making the error states perceivable to non-sighted users.

How?

  1. Add aria-invalid state to block level information so it's clear to screen reader users that the block needs attention.
  2. If the page link is synced to a deleted page, add an aria-describedby with the same error message that appears in the inspector. This allows the error message for the invalid state to be close-by and perceivable to screen readers.
  3. Removes the role=alert and aria-live=polite from the inspector error message, as this causes the error message to be incorrectly announced twice everytime the sidebar mounts

Testing Instructions

Testing Instructions for Keyboard

  • Start a screen reader
  • Navigate to an synced page link block with a deleted page
  • The block should have aria-invalid and an aria-describedby with an ID that points to the correct error message
  • The sidebar inspector error message should not have role=alert or aria-live=polite

Screenshots or screencast

Before After

Changed 'update' to 'edit', as using the same word in both the button and the error helps connect the concept better.
The role="alert" and aria-live="polite" attributes were causing the error message to be announced twice to screen readers. Since this text is referenced via aria-describedby on the input field, it will be read when users focus the field - no live announcement is needed.
@github-actions
Copy link

github-actions bot commented Nov 11, 2025

Size Change: +38 B (0%)

Total Size: 2.41 MB

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

compressed-size-action

@github-actions
Copy link

Flaky tests detected in 0afa4a2.
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/19279649780
📝 Reported issues:

Copy link
Contributor

@getdave getdave left a comment

Choose a reason for hiding this comment

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

This works well. I tested with Taxonomies as well as Posts.

I did notice that Taxonomy links don't have the Invalid suffix.

Unfortunately all the changes that are within the Nav Link edit file also need to be made in the Submenu file for this to work as expected. As a result I'm concerned about scope - if some of this already happens in 6.8 then we shouldn't be fixing during RC for 6.9.

Just noting that if targeting WP 6.9 RC we need to aim to land an absolute minimal change set. What do you think is the smallest set of changes we could land here?

@getdave getdave requested a review from scruffian November 12, 2025 08:53
@getdave getdave added Backport to WP 6.9 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta [Block] Navigation Link Affects the Navigation Link Block [Block] Submenu Affects the Submenu Block - for submenus in navigation [Feature] Navigation Menus Any issue relating to Navigation Menus labels Nov 12, 2025
@getdave getdave added the [Type] Bug An existing feature does not function as intended label Nov 12, 2025
@getdave getdave changed the title a11y: Fix unsynced descriptions and alerts Fix a11y of descriptions and alerts for "Invalid" Nav Items Nov 12, 2025
Comment on lines -354 to -355
role="alert"
aria-live="polite"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

These were the important ones to remove here, as they announce the message twice on mount. We don't need them announced on mount, just to be available.

@jeryj
Copy link
Contributor Author

jeryj commented Nov 12, 2025

@getdave

Unfortunately all the changes that are within the Nav Link edit file also need to be made in the Submenu file for this to work as expected.

I don't think that's true? I don't see a similar file for Submenus that would require an update to the help text.

As a result I'm concerned about scope - if some of this already happens in 6.8 then we shouldn't be fixing during RC for 6.9.

This PR is the minimal changeset to fix accessibility issues introduced by #73142, so it should be allowed for the 6.9 RC.

@jeryj jeryj marked this pull request as ready for review November 12, 2025 20:38
@jeryj jeryj requested a review from getdave November 12, 2025 20:38
@github-actions
Copy link

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: jeryj <jeryj@git.wordpress.org>
Co-authored-by: getdave <get_dave@git.wordpress.org>

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

Comment on lines +350 to +351
/* translators: %s is the entity type (e.g., "page", "post", "category") */
__( 'Synced %s is missing. Please update or remove this link.' ),
Copy link
Contributor

Choose a reason for hiding this comment

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

Just noting that this is not a string change. It is the same as the original 👍

Copy link
Contributor

@getdave getdave left a comment

Choose a reason for hiding this comment

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

This is an important bug fix that enables users of assistive technology to perceive important error states.

As a result, I think it should be included in WP 6.9 RC.

The changeset is minimal and targeted.

cc @ellatrix for triage.

@jeryj jeryj merged commit 31bf1c9 into trunk Nov 13, 2025
41 of 42 checks passed
@jeryj jeryj deleted the fix/unsynced-navigation-alert branch November 13, 2025 16:28
@github-actions github-actions bot added this to the Gutenberg 22.2 milestone Nov 13, 2025
@github-actions github-actions bot removed the Backport to WP 6.9 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Nov 13, 2025
gutenbergplugin pushed a commit that referenced this pull request Nov 13, 2025
The role="alert" and aria-live="polite" attributes were causing the error message to be announced twice to screen readers. Since this text is referenced via aria-describedby on the input field, it will be read when users focus the field - no live announcement is needed.

This also adds aria-invalid and aria-describedBy to the navigation link block if the synced entity is not found. This allows screen reader users to be aware of the issue on canvas as well.

---------

Co-authored-by: Dave Smith <getdavemail@gmail.com>
@github-actions github-actions bot added the Backported to WP Core Pull request that has been successfully merged into WP Core label Nov 13, 2025
@github-actions
Copy link

I just cherry-picked this PR to the wp/6.9 branch to get it included in the next release: bcc4ea3

@jeryj
Copy link
Contributor Author

jeryj commented Nov 14, 2025

I think I wasn't supposed to add the label for the backport 😬 I forgot it would automatically backport it. I meant to just flag it to be backported.

pento pushed a commit to WordPress/wordpress-develop that referenced this pull request Nov 18, 2025
Changes can be found at https://github.com/WordPress/gutenberg/commits/wp/6.9/.

- [Block Bindings: Add unit test coverage for `core/post-data` source](WordPress/gutenberg#73055)
- [Block Bindings: Error handling for external sources.](WordPress/gutenberg#72585)
- [Notes: Collapse note on blur](WordPress/gutenberg#73158)
- [Border-radius values triggers unintended px conversion](WordPress/gutenberg#73324)
- [Fix navigation tag entity binding](WordPress/gutenberg#73255)
- [DataViews: ensure primary actions are not wrapped in the list layout](WordPress/gutenberg#73345)
- [Fix: Fit Text may overflow into the padding area.](WordPress/gutenberg#73327)
- [Merge "Icon Size" and "Icon size" translation strings](WordPress/gutenberg#73325)
- [Notes: Improve delete confirm message for replies](WordPress/gutenberg#73173)
- [Fix: Custom font size taking over fit text.](WordPress/gutenberg#73241)
- [Fix a11y of descriptions and alerts for "Invalid" Nav Items](WordPress/gutenberg#73177)
- [Stretchy text: Hide variations in Block Inspector (hack)](WordPress/gutenberg#73238)
- [Update button label from "Add new note" to "Add new reply"](WordPress/gutenberg#73189)
- [Notes: Fix first note creation with pinned sidebar](WordPress/gutenberg#73164)

Developed in #10528.
See https://make.wordpress.org/core/handbook/about/release-cycle/block-editor-release-process-for-major-releases/#package-updates-and-core-patches.

Fixes #64267.
Props priethor.

git-svn-id: https://develop.svn.wordpress.org/trunk@61262 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Nov 18, 2025
Changes can be found at https://github.com/WordPress/gutenberg/commits/wp/6.9/.

- [Block Bindings: Add unit test coverage for `core/post-data` source](WordPress/gutenberg#73055)
- [Block Bindings: Error handling for external sources.](WordPress/gutenberg#72585)
- [Notes: Collapse note on blur](WordPress/gutenberg#73158)
- [Border-radius values triggers unintended px conversion](WordPress/gutenberg#73324)
- [Fix navigation tag entity binding](WordPress/gutenberg#73255)
- [DataViews: ensure primary actions are not wrapped in the list layout](WordPress/gutenberg#73345)
- [Fix: Fit Text may overflow into the padding area.](WordPress/gutenberg#73327)
- [Merge "Icon Size" and "Icon size" translation strings](WordPress/gutenberg#73325)
- [Notes: Improve delete confirm message for replies](WordPress/gutenberg#73173)
- [Fix: Custom font size taking over fit text.](WordPress/gutenberg#73241)
- [Fix a11y of descriptions and alerts for "Invalid" Nav Items](WordPress/gutenberg#73177)
- [Stretchy text: Hide variations in Block Inspector (hack)](WordPress/gutenberg#73238)
- [Update button label from "Add new note" to "Add new reply"](WordPress/gutenberg#73189)
- [Notes: Fix first note creation with pinned sidebar](WordPress/gutenberg#73164)

Developed in WordPress/wordpress-develop#10528.
See https://make.wordpress.org/core/handbook/about/release-cycle/block-editor-release-process-for-major-releases/#package-updates-and-core-patches.

Fixes #64267.
Props priethor.
Built from https://develop.svn.wordpress.org/trunk@61262


git-svn-id: http://core.svn.wordpress.org/trunk@60574 1a063a9b-81f0-0310-95a4-ce76da25c4cd
github-actions bot pushed a commit to platformsh/wordpress-performance that referenced this pull request Nov 18, 2025
Changes can be found at https://github.com/WordPress/gutenberg/commits/wp/6.9/.

- [Block Bindings: Add unit test coverage for `core/post-data` source](WordPress/gutenberg#73055)
- [Block Bindings: Error handling for external sources.](WordPress/gutenberg#72585)
- [Notes: Collapse note on blur](WordPress/gutenberg#73158)
- [Border-radius values triggers unintended px conversion](WordPress/gutenberg#73324)
- [Fix navigation tag entity binding](WordPress/gutenberg#73255)
- [DataViews: ensure primary actions are not wrapped in the list layout](WordPress/gutenberg#73345)
- [Fix: Fit Text may overflow into the padding area.](WordPress/gutenberg#73327)
- [Merge "Icon Size" and "Icon size" translation strings](WordPress/gutenberg#73325)
- [Notes: Improve delete confirm message for replies](WordPress/gutenberg#73173)
- [Fix: Custom font size taking over fit text.](WordPress/gutenberg#73241)
- [Fix a11y of descriptions and alerts for "Invalid" Nav Items](WordPress/gutenberg#73177)
- [Stretchy text: Hide variations in Block Inspector (hack)](WordPress/gutenberg#73238)
- [Update button label from "Add new note" to "Add new reply"](WordPress/gutenberg#73189)
- [Notes: Fix first note creation with pinned sidebar](WordPress/gutenberg#73164)

Developed in WordPress/wordpress-develop#10528.
See https://make.wordpress.org/core/handbook/about/release-cycle/block-editor-release-process-for-major-releases/#package-updates-and-core-patches.

Fixes #64267.
Props priethor.
Built from https://develop.svn.wordpress.org/trunk@61262


git-svn-id: https://core.svn.wordpress.org/trunk@60574 1a063a9b-81f0-0310-95a4-ce76da25c4cd
pento pushed a commit to WordPress/wordpress-develop that referenced this pull request Nov 18, 2025
Changes can be found at https://github.com/WordPress/gutenberg/commits/wp/6.9/.

[Block Bindings: Add unit test coverage for core/post-data source](WordPress/gutenberg#73055)
[Block Bindings: Error handling for external sources.](WordPress/gutenberg#72585)
[Notes: Collapse note on blur](WordPress/gutenberg#73158)
[Border-radius values triggers unintended px conversion](WordPress/gutenberg#73324)
[Fix navigation tag entity binding](WordPress/gutenberg#73255)
[DataViews: ensure primary actions are not wrapped in the list layout](WordPress/gutenberg#73345)
[Fix: Fit Text may overflow into the padding area.](WordPress/gutenberg#73327)
[Merge "Icon Size" and "Icon size" translation strings](WordPress/gutenberg#73325)
[Notes: Improve delete confirm message for replies](WordPress/gutenberg#73173)
[Fix: Custom font size taking over fit text.](WordPress/gutenberg#73241)
[Fix a11y of descriptions and alerts for "Invalid" Nav Items](WordPress/gutenberg#73177)
[Stretchy text: Hide variations in Block Inspector (hack)](WordPress/gutenberg#73238)
[Update button label from "Add new note" to "Add new reply"](WordPress/gutenberg#73189)
[Notes: Fix first note creation with pinned sidebar](WordPress/gutenberg#73164)
Developed in #10528.
See https://make.wordpress.org/core/handbook/about/release-cycle/block-editor-release-process-for-major-releases/#package-updates-and-core-patches.

Reviewed by davidbaumwald.
Merges [61262] to the 6.9 branch.

Props priethor, ellatrix.
See #64267.

git-svn-id: https://develop.svn.wordpress.org/branches/6.9@61263 602fd350-edb4-49c9-b593-d223f7449a82
markjaquith pushed a commit to markjaquith/WordPress that referenced this pull request Nov 18, 2025
Changes can be found at https://github.com/WordPress/gutenberg/commits/wp/6.9/.

[Block Bindings: Add unit test coverage for core/post-data source](WordPress/gutenberg#73055)
[Block Bindings: Error handling for external sources.](WordPress/gutenberg#72585)
[Notes: Collapse note on blur](WordPress/gutenberg#73158)
[Border-radius values triggers unintended px conversion](WordPress/gutenberg#73324)
[Fix navigation tag entity binding](WordPress/gutenberg#73255)
[DataViews: ensure primary actions are not wrapped in the list layout](WordPress/gutenberg#73345)
[Fix: Fit Text may overflow into the padding area.](WordPress/gutenberg#73327)
[Merge "Icon Size" and "Icon size" translation strings](WordPress/gutenberg#73325)
[Notes: Improve delete confirm message for replies](WordPress/gutenberg#73173)
[Fix: Custom font size taking over fit text.](WordPress/gutenberg#73241)
[Fix a11y of descriptions and alerts for "Invalid" Nav Items](WordPress/gutenberg#73177)
[Stretchy text: Hide variations in Block Inspector (hack)](WordPress/gutenberg#73238)
[Update button label from "Add new note" to "Add new reply"](WordPress/gutenberg#73189)
[Notes: Fix first note creation with pinned sidebar](WordPress/gutenberg#73164)
Developed in WordPress/wordpress-develop#10528.
See https://make.wordpress.org/core/handbook/about/release-cycle/block-editor-release-process-for-major-releases/#package-updates-and-core-patches.

Reviewed by davidbaumwald.
Merges [61262] to the 6.9 branch.

Props priethor, ellatrix.
See #64267.
Built from https://develop.svn.wordpress.org/branches/6.9@61263


git-svn-id: http://core.svn.wordpress.org/branches/6.9@60575 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backported to WP Core Pull request that has been successfully merged into WP Core [Block] Navigation Link Affects the Navigation Link Block [Block] Submenu Affects the Submenu Block - for submenus in navigation [Feature] Navigation Menus Any issue relating to Navigation Menus [Type] Bug An existing feature does not function as intended

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants