#1075: Review request for AriaNotify API
Discussions
Log in to see TAG-private discussions.
Discussed
Apr 14, 2025 (See Github)
Lola: I'll try to get the review done by tomorrow.
Lola & Matthew should work together to post a comment.
Comment by @janewman May 20, 2025 (See Github)
I'll be joining this effort, commenting here to add myself to the primary contact list: Jacques Newman (@janewman), Microsoft.
Comment by @lolaodelola May 21, 2025 (See Github)
Hi folks, thanks for this review request and thank you for being patient with us as we work through a review.
We agree that 'offscreen' live regions aren't serving their purpose well, and on there being plenty of genuine use cases for visible live regions.
Overall we're happy with this design but do have some questions:
- Do you foresee this somehow being extended to support earcons (possibly with text fallbacks) in future?
- What implications would that have for the function signature?
- In the explainer you mention:
A previous version of this explainer included an interrupt property (now described below). It seems unlikely that any implementers will include this property in their initial implementation
Why is that?
These aren't blockers and we're happy to mark this with a satisfied resolution
Comment by @janewman May 21, 2025 (See Github)
Hi Lola,
Thanks for helping to move this along. Let me know if you have any follow-up questions or asks for clarification.
-
Do you foresee this somehow being extended to support earcons (possibly with text fallbacks) in future? The Proposal - Type section of the explainer provides more details, but we are considering an optional
type
parameter that will allow for further customization of the notification experience, and this type could be used by screen readers to implement earcons. -
What implications would that have for the function signature? This
type
is an optional second parameter with a reasonable default value, so there will be no need for authors to adjust existing implementations unless they would like to update to include this additional context. Alternatively, the type may be expressed in an object form with property type.
// Notify of a long-running async task starting and ending
document.ariaNotify(
"Uploading file untitled-1 to the cloud.",
"task-progress-started" );
// ...
myfile.asyncFileUpload().then( () => {
document.ariaNotify( "File untitled-1 uploaded.", {
type: "task-progress-finished" } );
});
This has already been implemented in chromium and is available in both the v1 and v2 implementations, so this will be ready for testing once we unblock AT support and have confirmed that this can be added on seamlessly with the existing API and shipped progressively without any impact to compatibility. Here is where we are discussing with the working group to better understand the right structure for type: [AriaNotify] Should notificationId be a non-localized string? Is notificationId needed at all? · Issue #2330 · w3c/aria
- In the explainer you mention: A previous version of this explainer included an interrupt property (now described below). It seems unlikely that any implementers will include this property in their initial implementation. Why is that?
Other than UIA, no other platform API supports an interrupt in their notification API, and while UIA technically supports interrupt, not in the way that we intend to specify it. We are working with them to build a proof of concept.
Discussed
May 26, 2025 (See Github)
Lola: Think we can close this as satisfied, wanted to wait for Matthew
Jeffrey: Suggest we let Lola and Matthew close this with a comment they draft together
... just wanted to add that registry for notification types is a good idea and we should say so
Dan A: Should be plugged into the W3C registry process
[consensus that Lola and Matthew can close as satisfied
]
Discussed
Jun 2, 2025 (See Github)
Matthew: was just looking at this yesterday... Looks good to us (TAG) and... we had a few back and forth comments but ... we're happy with their answer...
Lola: [+1]
Lola will comment and close the issue as satisfied
Discussed
Jun 9, 2025 (See Github)
Already closed
OpenedMar 31, 2025
こんにちは TAG-さん!
I'm requesting a TAG review of the AriaNotify API.
A new API, AriaNotify, enables content authors to directly tell a screen reader what to read. Without AriaNotify, ARIA live regions are the only mechanism available today that communicate content changes down to the accessibility layer so that users can hear about them. ARIA live regions are stretched far beyond their original use cases as authors struggle to use them in scenarios that they weren't designed for. AriaNotify is purpose-built to communicate to the accessibility layer for scenarios in which ARIA live regions are a poor choice. In the simplest scenario, the content author calls ariaNotify with a string to read.
Further details:
You should also know that...
We plan to add a permissions-policy that would allow authors to opt iframes out of AriaNotify. We are working on the implementation and draft spec but it is not yet finished. The relevant WHAT WG discussion is here: https://github.com/whatwg/html/issues/11004
Please let us know if the permissions-policy should be requested as part of a separate TAG review, or accepted as part of this one.
<!------------------------------------------------------------------------------------ CAREFULLY READ AND DELETE CONTENT BELOW THIS LINE BEFORE SUBMITTING Use links to content rather than pasting text into this issue. Issues are ephemeral and most of the material we are asking for has long term value. Please preview the issue and check that the links work before submitting. Please make sure anyone with the link can access the document. We may refuse to review anything that is not public. ¹ We require an explainer to give the relevant context for the spec review, even if the spec has some background information. An explainer must address user needs and contain examples of use. For more information, see our [explanation of how to write a good explainer](https://tag.w3.org/explainers/). ² A Security and Privacy questionnaire helps us understand potential security and privacy issues and mitigations for your design, and can save us asking redundant questions. See https://www.w3.org/TR/security-privacy-questionnaire/. ³ For your own organization, you can simply state the organization's position instead of linking to it. This includes items on [Mozilla standards-positions](https://github.com/mozilla/standards-positions), and [WebKit standards-positions](https://github.com/WebKit/standards-positions). Chromium doesn't have a standards-positions repository and [prefers](https://source.chromium.org/chromium/chromium/src/+/main:docs/standards/positions/GoogleChrome/README.md) to use comments from the teams that maintain the relevant area of their codebase. ⁴ Include links to [Chrome Status](https://chromestatus.com/), [Mozilla's](https://bugzilla.mozilla.org/), [WebKit's Bugzilla](https://bugs.webkit.org/), and trackers for other implementations if those are known to you. -->