Skip to content

Editorial: ARIA Notify security prose, intro, and i18n example - #2869

Open
daniel-montalvo wants to merge 7 commits into
mainfrom
aria-notify-updates
Open

Editorial: ARIA Notify security prose, intro, and i18n example#2869
daniel-montalvo wants to merge 7 commits into
mainfrom
aria-notify-updates

Conversation

@daniel-montalvo

@daniel-montalvo daniel-montalvo commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

@netlify

netlify Bot commented Aug 19, 2026

Copy link
Copy Markdown

Deploy Preview for wai-aria ready!

Name Link
🔨 Latest commit 00cf728
🔍 Latest deploy log https://app.netlify.com/projects/wai-aria/deploys/6a8f11b87cdcd9000869031d
😎 Deploy Preview https://deploy-preview-2869--wai-aria.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@daniel-montalvo daniel-montalvo changed the title [D[D[D[D[D[H[D[D[D[C[C[C[C[C[C[C[C[C[C[C[C[C[B Editorial: ARIA Notify security prose, intro, and i18n example Aug 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🚀 Deployed on https://deploy-preview-2869--wai-aria.netlify.app

@github-actions
github-actions Bot temporarily deployed to pull request August 19, 2026 14:41 Inactive
Comment thread index.html Outdated
Comment thread index.html Outdated
Comment thread index.html Outdated
daniel-montalvo and others added 3 commits August 20, 2026 16:58
Co-authored-by: Giacomo Petri <giacomo.petri@usablenet.com>
Co-authored-by: Giacomo Petri <giacomo.petri@usablenet.com>
Co-authored-by: Giacomo Petri <giacomo.petri@usablenet.com>

@janewman janewman left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

lgtm with a small nit.

Comment thread index.html Outdated
Co-authored-by: Jacques Newman <44789917+janewman@users.noreply.github.com>
@github-actions
github-actions Bot temporarily deployed to pull request August 20, 2026 21:04 Inactive
@github-actions
github-actions Bot temporarily deployed to pull request August 26, 2026 16:33 Inactive
@cookiecrook
cookiecrook self-requested a review August 27, 2026 17:31

@cookiecrook cookiecrook left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Perhaps the i18n example should have been a different PR than the Sec/Privacy changes... I would have approved this example diff either way, but am marking the PR Review as a "Comment" (not "Approved") because of the questions in the lower Security section.

Comment thread index.html
<h2>Security Considerations</h2>
<p>This specification introduces no new security considerations.</p>
<p>
The <a>"aria-notify"</a> permissions policy has a default allowlist of "*". This relaxes the Permission Policy default because requiring embedders to opt in for each frame would leave announcements coming

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm don't recall why this decision was made... Is it worth an editorial note pointing to prior discussions, or explaining why? I've never seen Live Regions abused in an ad frame, so maybe that's the reason? If theres a direct link to tjhis detail in the explainer or discussion, should it be listed or linked here?

Comment thread index.html
<p>This specification introduces no new security considerations.</p>
<p>
The <a>"aria-notify"</a> permissions policy has a default allowlist of "*". This relaxes the Permission Policy default because requiring embedders to opt in for each frame would leave announcements coming
from third-party content inaccessible by default. Cross-origin embedded content can invoke this user-facing channel without explicit delegation, which can cause uncontrolled disruption for uses of assistive technologies. Authors who want tighter control can still restrict the "aria-notify" policy explicitly, for example with

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

And there is is nothing stopping implementations from restricting this for untrusted sources, right? If not, we could mention that as a "UAs SHOULD/MAY" in the spec.

Comment thread index.html
<p>
The <a>"aria-notify"</a> permissions policy has a default allowlist of "*". This relaxes the Permission Policy default because requiring embedders to opt in for each frame would leave announcements coming
from third-party content inaccessible by default. Cross-origin embedded content can invoke this user-facing channel without explicit delegation, which can cause uncontrolled disruption for uses of assistive technologies. Authors who want tighter control can still restrict the "aria-notify" policy explicitly, for example with
<code>&lt;iframe allow="aria-notify 'none'"&gt;</code> or <code>Permissions-Policy: aria-notify=(self)</code>.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This might be seen as prioritizing author ease over AT users re: Priorities of Constituencies?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Though that's not really a Security risk... It's more just a "user annoyance" pester risk.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

But if ariaNotify is mentioned in this context, should Live Regions be mentioned, too?

Comment thread index.html
<p>
The original page language is English, but there is a notification in Spanish.
</p>
<!-- ReSpec needs these examples to be unindented. -->

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

But they are indented.

Comment thread index.html
The original page language is English, but there is a notification in Spanish.
</p>
<!-- ReSpec needs these examples to be unindented. -->
<pre class="example highlight html">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This example could be more terse, and might be easier to read if there is a generated element.

Something like:

// To create a one-off notification that doesn't match the 
// language of the page or any other existing element, authors 
// could append a dynamically created courier element.

var courier = document.createElement('div')
courier.setAttribute('lang', 'es');
document.body.appendElement(courier);
courier.ariaNotify('Este texto debería leerse con la voz en español'); 

Note: I did not test the syntax above. Please verify if you decide to use this.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

For clarity, this is a suggestion, but the longer existing example is fine if the WG prefers. (I have no objection to disregarding my suggestion here.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

4 participants