From bc604dae1752117798d3061f33cf1d3dad2ccb2b Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Tue, 26 Aug 2025 13:22:49 +1000 Subject: [PATCH 1/2] DOC-3209: NVDA would announce iframe_aria_text multiple times. --- modules/ROOT/pages/8.1.0-release-notes.adoc | 11 +++++++++++ .../ROOT/partials/configuration/iframe_aria_text.adoc | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/modules/ROOT/pages/8.1.0-release-notes.adoc b/modules/ROOT/pages/8.1.0-release-notes.adoc index 3e7a6181b4..dce653291c 100644 --- a/modules/ROOT/pages/8.1.0-release-notes.adoc +++ b/modules/ROOT/pages/8.1.0-release-notes.adoc @@ -108,6 +108,17 @@ The following premium plugin updates were released alongside {productname} {rele // #TINY-vwxyz1 // CCFR here. +=== NVDA would announce iframe_aria_text multiple times +// #TINY-11296 + +Previously, in certain browsers, when using screen readers such as NVDA or JAWS, the `iframe_aria_text` was either not announced at all or announced twice, causing inconsistent and potentially confusing behavior for users relying on assistive technology. To resolve this, behavior has been standardized by adjusting how the label is applied: + +* in Firefox, the `title` attribute is now set directly on the iframe element and the `aria-label` on the body is not used. +* while in other browsers the `aria-label` is applied to the body inside the iframe without setting a `title` attribute on the iframe. + +As a result, `iframe_aria_text` is now consistently announced once across all supported browsers. + +For more information, see: xref:accessibility.adoc#iframe_aria_text[iframe_aria_text]. [[security-fixes]] diff --git a/modules/ROOT/partials/configuration/iframe_aria_text.adoc b/modules/ROOT/partials/configuration/iframe_aria_text.adoc index 9e7e74389d..44bfd64e5a 100644 --- a/modules/ROOT/partials/configuration/iframe_aria_text.adoc +++ b/modules/ROOT/partials/configuration/iframe_aria_text.adoc @@ -23,3 +23,11 @@ tinymce.init({ iframe_aria_text: 'Text Editor' }); ---- + +[NOTE] +==== +The `+iframe_aria_text+` option is applied differently depending on the browser to ensure consistent screen reader announcements: + +* **Firefox**: The `+title+` attribute is set on the iframe element. The `+aria-label+` on the body is not set. +* **Other browsers**: The `+aria-label+` is set on the body inside the iframe. The `+title+` is not set on the iframe. +==== \ No newline at end of file From 039cbb50aa25262eca9ead387f7a078e88f38f7f Mon Sep 17 00:00:00 2001 From: Karl Kemister-Sheppard Date: Mon, 15 Sep 2025 11:34:24 +1000 Subject: [PATCH 2/2] Update modules/ROOT/pages/8.1.0-release-notes.adoc Co-authored-by: CODE:AG <57781325+abhinavgandham@users.noreply.github.com> --- modules/ROOT/pages/8.1.0-release-notes.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/8.1.0-release-notes.adoc b/modules/ROOT/pages/8.1.0-release-notes.adoc index dce653291c..fc12eb1730 100644 --- a/modules/ROOT/pages/8.1.0-release-notes.adoc +++ b/modules/ROOT/pages/8.1.0-release-notes.adoc @@ -111,7 +111,7 @@ The following premium plugin updates were released alongside {productname} {rele === NVDA would announce iframe_aria_text multiple times // #TINY-11296 -Previously, in certain browsers, when using screen readers such as NVDA or JAWS, the `iframe_aria_text` was either not announced at all or announced twice, causing inconsistent and potentially confusing behavior for users relying on assistive technology. To resolve this, behavior has been standardized by adjusting how the label is applied: +Previously, in certain browsers, when using screen readers such as NVDA or JAWS, the `iframe_aria_text` was either not announced at all or announced twice, causing inconsistent and potentially confusing behavior for users relying on assistive technology. To resolve this, the behavior has been standardized by adjusting how the label is applied: * in Firefox, the `title` attribute is now set directly on the iframe element and the `aria-label` on the body is not used. * while in other browsers the `aria-label` is applied to the body inside the iframe without setting a `title` attribute on the iframe.