diff --git a/core-aam/index.html b/core-aam/index.html index b9b052b35..82dbf8074 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -11199,6 +11199,132 @@

Special Events for Menus

+
+

Algorithms

+

+ Some APIs provide + methods which require specific algorithms to be followed. The following + sections provide the algorithm mapping tables for these methods. +

+

ARIANotifyMixin Algorithm Mapping Tables

+

+ The ARIANotifyMixin provides a method for announcing content + to assistive technologies. The following algorithm mappings specify how + these announcements will be implemented across different accessibility + APIs to ensure consistent behavior for users of assistive technologies. +

+

ariaNotify

+

To aria notify given node, announcement, and priority:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ARIA Specification + aria notify +
Preconditions +

If node is excluded from the accessibility tree, then abort these steps.

+
Language +

+ User agents and assistive technologies MUST determine the language of the announcement by taking the first valid BCP 47 language tag from the following sources: +

+
    +
  1. The node's nearest ancestor element's lang attribute.
  2. (including node itself) +
  3. The document element's lang attribute.
  4. (including when called on the document). +
  5. A user agent or platform default.
  6. +
+

+ Assistive technologies MUST present the announcement using that language (for example, voice, pronunciation rules, braille table). +

+
MSAA + IAccessible2 +

No implementation specified (see fallback note).

+
UIA +
    +
  1. +

    Let mapped_priority be NotificationProcessing_ImportantAll if priority is "high", otherwise NotificationProcessing_All.

    +
  2. +
  3. +

    + Call UiaRaiseNotificationEvent with node, NotificationKind_ActionCompleted, mapped_priority, announcement, and the empty + string. +

    +
  4. +
+

+ If the platform accessibility implementation determines that node is not represented in the UIA + Control view or + Content view, user agents SHOULD instead raise the notification event + on the nearest ancestor that is represented as a UIA Control. If no such ancestor exists, user agents SHOULD raise it on the document root (which is expected to be + in one of these views) to ensure assistive technologies that ignore events on elements not in the Control or Content view receive the notification. +

+
ATK +
    +
  1. +

    Let mapped_priority be Atk.Live.ATK_LIVE_ASSERTIVE if priority is "high", otherwise Atk.Live.ATK_LIVE_POLITE.

    +
  2. +
  3. +

    Call g_signal_emit_by_name with node, "notification", announcement, and mapped_priority.

    +
  4. +
+

On older Linux accessibility stacks prior to ATK 2.50.0, user agents MAY use the fallback; see fallback note.

+
AT-SPI +
    +
  1. +

    Let mapped_priority be ATSPI_LIVE_ASSERTIVE if priority is "high", otherwise ATSPI_LIVE_POLITE.

    +
  2. +
  3. +

    Send a DBUS signal ATSPI_DBUS_INTERFACE_EVENT_OBJECT with node, "announcement", announcement, and mapped_priority.

    +
  4. +
+
AX API +
    +
  1. +

    Let mapped_priority be NSAccessibilityPriorityHigh if priority is "high", otherwise NSAccessibilityPriorityMedium.

    +
  2. +
  3. +

    Let userInfo be a NSDictionary with the following keys:

    +
      +
    1. NSAccessibilityAnnouncementKey as announcement
    2. +
    3. NSAccessibilityPriorityKey as mapped_priority
    4. +
    +
  4. +
  5. +

    Call NSAccessibilityPostNotificationWithUserInfo with node, NSAccessibilityAnnouncementRequestedNotification, and userInfo.

    +
  6. +
+
+

When no suitable platform notification API is available (for example, older Linux accessibility stacks prior to ATK 2.50.0 that lack the newer notification signal, or on Windows when the user agent is not able to use UIA), a user agent MAY synthesize a temporary, assistive-technology-only live region in its accessibility tree to convey an aria notify announcement. Such fallback nodes are not exposed to or detectable by web content and this behavior is not required.

+

Privacy considerations

diff --git a/index.html b/index.html index 95d131c27..f516fbea4 100644 --- a/index.html +++ b/index.html @@ -179,7 +179,7 @@ preProcess: [linkCrossReferences, getParticipants], postProcess: [ariaAttributeReferences], - xref: ["dom", "accname-1.2", "core-aam-1.2", "infra", "HTML"], + xref: ["dom", "accname-1.2", "core-aam-1.2", "infra", "HTML", "permissions-policy"], definitionMap: [], }; function respecChangelogFilter(commit) { @@ -16733,8 +16733,8 @@

Presentational Roles Conflict Resolution

-

IDL Interface

-

Conforming user agents MUST implement the following IDL interface.

+

IDL Interfaces

+

Conforming user agents MUST implement the following IDL interfaces.

Interface Mixin ARIAMixin

@@ -16797,6 +16797,54 @@ 

Interface Mixin ARIAMixin

>
+
+

Interface Mixin ARIANotifyMixin

+
+          enum AriaNotifyPriority { "normal", "high" };
+
+          dictionary AriaNotificationOptions {
+            AriaNotifyPriority priority = "normal";
+          };
+          interface mixin ARIANotifyMixin {
+            undefined ariaNotify(DOMString announcement, optional AriaNotificationOptions options = {});
+          };
+          Element includes ARIANotifyMixin;
+          Document includes ARIANotifyMixin;
+        
+ +

+ The User Agent processing steps for the + ariaNotify(announcement, options) + method are: +

+
    +
  1. +

    If the document is not [=allowed to use=] the feature identified by "aria-notify" abort these steps.

    +
  2. +
  3. +

    Let node be this.

    +
  4. +
  5. +

    Let priority be options["priority"].

    +
  6. +
  7. +

    If node is excluded from the accessibility tree, then abort these steps.

    +
  8. +
  9. +

    Run the aria notify steps given node, announcement, and priority.

    +
  10. +
+ +
+

Permissions Policy Integration

+

This specification defines a [=policy-controlled feature=] identified by the string "aria-notify". + It has a [=policy-controlled feature/default allowlist=] of "*". +

+

+ When disabled in a document, any notifications applied using ariaNotify within that document will not be sent. +

+
+

ARIA Attribute Correspondence