Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion accname/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -628,7 +628,8 @@ <h4>Computation steps</h4>
<li id="comp_host_language_label">
<span id="step2E"><!-- Don't link to this legacy numbered ID. --></span><em>Host Language Label:</em> Otherwise, if the <code>current node</code>'s native markup provides an
[=attribute=] (e.g. <code>alt</code>) or [=element=] (e.g. HTML <code>label</code> or SVG <code>title</code>) that defines a text alternative, return that alternative in the form of
a <code>flat string</code> as defined by the host language, unless the <code>current node</code> is exposed as presentational (<code>role="presentation"</code> or <code>role="none"</code>).
a <code>flat string</code> as defined by the host language, unless the <code>current node</code> is exposed as presentational (<code>role="presentation"</code> or
<code>role="none"</code>).
<div class="note">
See <a href="https://www.w3.org/TR/html-aam-1.0/#accessible-name-and-description-computation">HTML-AAM</a>,
<a href="https://www.w3.org/TR/svg-aam-1.0/#mapping_additional_nd">SVG-AAM</a>, or other host language documentation for more information on markup that defines a text alternative.
Expand Down
99 changes: 99 additions & 0 deletions core-aam/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -11202,6 +11202,105 @@ <h3>Special Events for Menus</h3>
</section>
</section>

<section id="mapping_algorithms">
<h2>Algorithms</h2>
<p>Some <abbr title="Application Programming Interfaces">APIs</abbr>, provide <a class="termref">methods</a> which require...</p>
<h3>ARIANotifyMixin Algorithm Mapping Tables</h3>
<h4 id="arianotifymixin-map-arianotify">ariaNotify</h4>
<p>To <code>aria notify</code> given <var>node</var>, <var>announcement</var>, and <var>priority</var>:</p>
<table aria-labelledby="arianotifymixin-map-arianotify">
<tbody>
<tr>
<th>ARIA Specification</th>
<td>
<a class="method-reference" href="#arianotify"><code>aria notify</code></a>
</td>
</tr>
<tr>
<th>MSAA + IAccessible2</th>
<td>
<ol>
<li>
<p>Return.</p>
<p class="note">
Implementations integrating with MSAA + IAccessible2 can only emit announcements using <abbr title="User Interface Automation">UIA</abbr>, if available. In cases where UIA is
unavailable, no announcement will be made.
</p>
</li>
</ol>
</td>
</tr>
<tr>
<th><abbr title="User Interface Automation">UIA</abbr></th>
<td>
<ol>
<li>
<p>Let <var>mapped_priority</var> be <code>NotificationProcessing_ImportantAll</code> if <var>priority</var> is "high", otherwise <code>NotificationProcessing_All</code>.</p>
</li>
<li>
<p>
Call <code>UiaRaiseNotificationEvent</code> with <var>node</var>, <code>NotificationKind_ActionCompleted</code>, <var>mapped_priority</var>, <var>announcement</var>, and the empty
string.
</p>
</li>
</ol>
</td>
</tr>
<tr>
<th><abbr title="Accessibility Toolkit">ATK</abbr></th>
<td>
<ol>
<li>
<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>
</li>
<li>
<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>
</li>
</ol>
</td>
</tr>
<tr>
<th><abbr title="Assistive Technology - Service Provider Interface">AT-SPI</abbr></th>
<td>
<ol>
<li>
<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>
</li>
<li>
<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>
</li>
</ol>
</td>
</tr>
<tr>
<th><abbr title="macOS Accessibility Protocol">AX API</abbr></th>
<td>
<ol>
<li>
<p>Let <var>document</var> be <var>node</var>'s associated document.</p>
</li>
<li>
<p>Let <var>window</var> be <var>document</var>'s associated window.</p>
</li>
<li>
<p>Let <var>mapped_priority</var> be <code>NSAccessibilityPriorityHigh</code> if <var>priority</var> is "high", otherwise <code>NSAccessibilityPriorityMedium</code>.</p>
</li>
<li>
<p>Let <var>userInfo</var> be a <code>NSDictionary</code> with the following keys:</p>
<ol>
<li><code>NSAccessibilityAnnouncementKey</code> as <var>announcement</var></li>
<li><code>NSAccessibilityPriorityKey</code> as <var>mapped_priority</var></li>
</ol>
</li>
<li>
<p>Call <code>NSAccessibilityPostNotificationWithUserInfo</code> with <var>window</var>, <var>NSAccessibilityAnnouncementRequestedNotification</var>, and <var>userInfo</var>.</p>
</li>
</ol>
</td>
</tr>
</tbody>
</table>
</section>
<section>
<h2>Privacy considerations</h2>
<p>
Expand Down
35 changes: 33 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -16703,8 +16703,8 @@ <h3>Presentational Roles Conflict Resolution</h3>
</section>
</section>
<section id="idl-interface" class="normative">
<h2>IDL Interface</h2>
<p>Conforming user agents MUST implement the following IDL interface.</p>
<h2>IDL Interfaces</h2>
<p>Conforming user agents MUST implement the following IDL interfaces.</p>
<section id="ARIAMixin" class="normative" data-dfn-for="ARIAMixin" data-link-for="ARIAMixin">
<h2>Interface Mixin <dfn>ARIAMixin</dfn></h2>
<pre class="idl" data-cite="webidl">
Expand Down Expand Up @@ -16784,6 +16784,37 @@ <h2>Interface Mixin <dfn>ARIAMixin</dfn></h2>
<a href="#idl_attr_exceptions">IDL Attribute Name Notes or Exceptions</a>.
</p>
</section>
<section id="ARIANotifyMixin" class="normative" data-dfn-for="ARIANotifyMixin" data-link-for="ARIANotifyMixin">
<h2>Interface Mixin <dfn>ARIANotifyMixin</dfn></h2>
<pre class="idl" data-cite="webidl">
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;
</pre>

<p>
User Agent processing for the
<dfn method for="ARIANotifyMixin"
><code>ariaNotify(<var>announcement</var>, <var>options</var>)</code></dfn
>
method steps are:
</p>
<ol>
<li>
<p>Let <var>priority</var> be <var>options</var>["<code>priority</code>"].</p>
</li>
<li>
<p>Run the aria notify steps given <var>node</var>, <var>announcement</var>, and <var>priority</var>.</p>
</li>
</ol>
</section>

<section id="accessibilityroleandproperties-correspondence" class="normative" data-dfn-for="ARIAMixin" data-link-for="ARIAMixin">
<h2>ARIA Attribute Correspondence</h2>
Expand Down
Loading