You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 5c7229a
Browse filesBrowse the repository at this point in the historyBrowse files
This adds the mechanics for introducing the ariaNotify API on Elements, which is a function that will map to various AT APIs, as defined in core-aam.
Co-authored-by: Keith Cirkel <keithamus@users.noreply.github.com>
Co-authored-by: pkra <pkra@users.noreply.github.com>
Co-authored-by: Valerie Young <spectranaut@igalia.com>
Co-authored-by: Clay Miller <clay@smockle.com>
<p>If <var>node</var> is <a class="specref" href="#tree_exclusion">excluded from the accessibility tree</a>, then abort these steps.</p>
12475
+
</td>
12476
+
</tr>
12477
+
<tr>
12478
+
<th>Language</th>
12479
+
<td>
12480
+
<p>
12481
+
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:
<p>Let <var>mapped_priority</var> be <code>NotificationProcessing_ImportantAll</code> if <var>priority</var> is "high", otherwise <code>NotificationProcessing_All</code>.</p>
12505
+
</li>
12506
+
<li>
12507
+
<p>
12508
+
Call <code>UiaRaiseNotificationEvent</code> with <var>node</var>, <code>NotificationKind_ActionCompleted</code>, <var>mapped_priority</var>, <var>announcement</var>, and the empty
12509
+
string.
12510
+
</p>
12511
+
</li>
12512
+
</ol>
12513
+
<p class="note">
12514
+
If the platform accessibility implementation determines that <var>node</var> is not represented in the UIA
12515
+
<a href="https://learn.microsoft.com/en-us/windows/win32/winauto/uiauto-treeoverview#control-view">Control view</a> or
12516
+
<a href="https://learn.microsoft.com/en-us/windows/win32/winauto/uiauto-treeoverview#content-view">Content view</a>, user agents SHOULD instead raise the notification event
12517
+
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
12518
+
in one of these views) to ensure assistive technologies that ignore events on elements not in the Control or Content view receive the notification.
<p>Let <var>mapped_priority</var> be <code>Atk.Live.ATK_LIVE_ASSERTIVE</code> if <var>priority</var> is "high", otherwise <code>Atk.Live.ATK_LIVE_POLITE</code>.</p>
12528
+
</li>
12529
+
<li>
12530
+
<p>Call <code>g_signal_emit_by_name</code> with <var>node</var>, <code>"notification"</code>, <var>announcement</var>, and <var>mapped_priority</var>.</p>
12531
+
</li>
12532
+
</ol>
12533
+
<p>On older Linux accessibility stacks prior to ATK 2.50.0, user agents MAY use the fallback; <a href="#arianotify-fallback-note">see fallback note</a>.</p>
12534
+
</td>
12535
+
</tr>
12536
+
<tr>
12537
+
<th><abbr title="Assistive Technology - Service Provider Interface">AT-SPI</abbr></th>
12538
+
<td>
12539
+
<ol>
12540
+
<li>
12541
+
<p>Let <var>mapped_priority</var> be <code>ATSPI_LIVE_ASSERTIVE</code> if <var>priority</var> is "high", otherwise <code>ATSPI_LIVE_POLITE</code>.</p>
12542
+
</li>
12543
+
<li>
12544
+
<p>Send a DBUS signal <code>ATSPI_DBUS_INTERFACE_EVENT_OBJECT</code> with <var>node</var>, <code>"announcement"</code>, <var>announcement</var>, and <var>mapped_priority</var>.</p>
<p>Let <var>mapped_priority</var> be <code>NSAccessibilityPriorityHigh</code> if <var>priority</var> is "high", otherwise <code>NSAccessibilityPriorityMedium</code>.</p>
12555
+
</li>
12556
+
<li>
12557
+
<p>Let <var>userInfo</var> be a <code>NSDictionary</code> with the following keys:</p>
12558
+
<ol>
12559
+
<li><code>NSAccessibilityAnnouncementKey</code> as <var>announcement</var></li>
12560
+
<li><code>NSAccessibilityPriorityKey</code> as <var>mapped_priority</var></li>
12561
+
</ol>
12562
+
</li>
12563
+
<li>
12564
+
<p>Call <code>NSAccessibilityPostNotificationWithUserInfo</code> with <var>node</var>, <var>NSAccessibilityAnnouncementRequestedNotification</var>, and <var>userInfo</var>.</p>
12565
+
</li>
12566
+
</ol>
12567
+
</td>
12568
+
</tr>
12569
+
</tbody>
12570
+
</table>
12571
+
<p id="arianotify-fallback-note" class="note">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 <code>aria notify</code> announcement. Such fallback nodes are not exposed to or detectable by web content and this behavior is not required.</p>
0 commit comments