Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Define concept of minimum role #454

Closed
wants to merge 30 commits into from
Closed
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
3efda34
Update index.html
scottaohara Jan 10, 2023
b462c24
update per Aaron's review
scottaohara Jan 10, 2023
c6bae18
grammar fix
stevefaulkner Jan 16, 2023
cc5b7ab
Update index.html
scottaohara Jan 19, 2023
b1fdcde
Update index.html
scottaohara Jan 19, 2023
be28084
remove stray fragment
scottaohara Jan 24, 2023
c1a3f1f
minor markup formatting adjustment
scottaohara Jan 24, 2023
e2ac6f8
clarify minimum role conditions
scottaohara Jan 24, 2023
19a12bd
reverts typo fix
scottaohara Jan 31, 2023
ef36600
Merge branch 'gh-pages' into minimum-role
scottaohara Jan 31, 2023
02f6b5a
Update index.html
scottaohara Jan 31, 2023
f7ba989
Merge branch 'gh-pages' into minimum-role
scottaohara Feb 2, 2023
ed50c33
remove contenteditable from taking part in minimum role
scottaohara Mar 2, 2023
efb7337
Merge branch 'gh-pages' into minimum-role
scottaohara Apr 8, 2023
e7b17f7
Merge branch 'gh-pages' into minimum-role
scottaohara Apr 11, 2023
69513e2
edits to the steps to determine minimum role
scottaohara Apr 24, 2023
c013064
Update index.html
scottaohara May 10, 2023
6257a68
Merge branch 'gh-pages' into minimum-role
scottaohara May 10, 2023
fbe8161
Merge branch 'gh-pages' into minimum-role
scottaohara May 15, 2023
df7200a
Merge branch 'gh-pages' into minimum-role
scottaohara May 19, 2023
4519a4e
Merge branch 'gh-pages' into minimum-role
scottaohara Aug 17, 2023
6adfe58
edits to mention 'computed role'
scottaohara Aug 17, 2023
1e217e1
Merge branch 'gh-pages' into minimum-role
scottaohara Aug 18, 2023
8bd08ac
Merge branch 'gh-pages' into minimum-role
scottaohara Nov 7, 2023
e6b5963
Update index.html
scottaohara Nov 7, 2023
899b517
missing #
scottaohara Nov 7, 2023
8bcae45
Update index.html
scottaohara Nov 7, 2023
796734e
leave out tabindex for now
scottaohara Nov 7, 2023
ea628aa
Merge branch 'gh-pages' into minimum-role
scottaohara Dec 19, 2023
fb66dfd
Merge branch 'gh-pages' into minimum-role
scottaohara Mar 5, 2024
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
44 changes: 42 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -189,13 +189,49 @@ <h3>Exposing HTML Features That Do Not Directly Map to Accessibility APIs</h3>
<abbr title="application programming interface">API</abbr> properties</a> in the [[core-aam-1.2]].
</p>
</section>
<section>
<h3 id="minimum-role">Exposing HTML Features That Require a Minimum Role</h3>
<p>
A <dfn>minimum role</dfn> is the equivalent WAI-ARIA role an element will map to if the element does not have a more specific implicit role or
platform role mappings, e.g., a non-generic role. This can help ensure that users of assistive technologies get the best possible experience for
commonly-used and valid HTML markup where otherwise a role would not be exposed.
</p>
<p>
A minimum role is provided when all of the following conditions are true:
</p>
<ul>
<li>
the author has <strong>not</strong> specified a valid explicit WAI-ARIA role to the element,
<strong>or</strong> the specified role is either `none`, `presentation`, or `generic`;
</li>
<li>
the element either has no implicit WAI-ARIA role or platform role mappings, or it has an implicit `generic` or `none` computed role;
</li>
<li>
and the author has specified attributes which require a minimum role mapping for the element.
</li>
</ul>
<p>
The <a href="#html-attribute-state-and-property-mappings">HTML Attribute State and Property Mappings</a> section identifies the specific global attributes which would require
an element map to a minimum role.
</p>
<p>
When these conditions are met, the browser MUST expose an object using the mappings defined in CORE-AAM for the specified minimum role.
If the element has multiple attributes specified which require a minimum role be returned as the computed role for the element, prioritize
the more specific role in the ARIA taxonomy.
</p>
</section>
<section>
<h3>HTML Element Role Mappings</h3>
<ul>
<li>HTML elements with implicit WAI-ARIA role semantics MUST be mapped to platform <a class="termref">accessibility APIs</a> according to the identified WAI-ARIA role mapping as defined in the [[core-aam-1.2]] specification.</li>
<li>"Not mapped" means the element does not need to be exposed via an <a class="termref">accessibility API</a>. This is usually because the element is not displayed as part of the user interface. However, authors can force some of these elements to be rendered. For instance, by overriding user agent styles to render elements that would have been otherwise set to `display: none`. In these cases, the user agent SHOULD map such elements to the role of <a class="core-mapping" href="#role-map-generic">`generic`</a>.</li>
<li>Where applicable, how an element participates in the computation of its own or another element's <a data-cite="accname-1.2/#dfn-accessible-name">accessible name</a> and/or <a data-cite="accname-1.2/#dfn-accessible-description">accessible description</a> is described in the <a href="#accessible-name-and-description-computation">Accessible Name and Description Computation</a> section of this document.</li>
<li>"Not mapped" means the element does not need to be exposed via an <a class="termref">accessibility API</a>. This is usually because the element is not displayed as part of the user interface. However, authors can force some of these elements to be rendered. For instance, by overriding user agent styles to render elements that would have been otherwise set to `display: none`. In these cases, the user agent SHOULD map such elements to the role of <a class="core-mapping" href="#role-map-generic">`generic`</a>, unless other HTML features have been specified which would require a more specific <a>minimum role</a> to be exposed.</li>
<li>Where an element is indicated as having &quot;No corresponding (WAI-ARIA) role&quot;, or is mapped to the <a class="core-mapping" href="#role-map-generic">`generic`</a> role, user agents MUST NOT expose the <a class="core-mapping" href="#ariaRoleDescription">`aria-roledescription`</a> property value in the <a class="termref">accessibility tree</a> unless the element has an explicit, conforming `role` attribute value which [[WAI-ARIA-1.2]] does not prohibit the use of `aria-roledescription`.</li>
<li>Some HTML elements expose implicit WAI-ARIA roles depending on whether they have been provided an <a data-cite="accname-1.2/#dfn-accessible-name">accessible name</a>. How an element participates in the computation of its own or another element's <a data-cite="accname-1.2/#dfn-accessible-name">accessible name</a> and/or <a data-cite="accname-1.2/#dfn-accessible-description">accessible description</a> is described in the <a href="#accessible-name-and-description-computation">Accessible Name and Description Computation</a> section of this document.</li>
</ul>

<h4 id="platform-api-mapping-requirements">Platform API mapping requirements</h4>
<ul>
<li>
When HTML elements do not have an exact or equivalent mapping to a valid, non-abstract <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role, a unique `computedrole` string has been specified to serve as the return value for interoperability testing purposes. For instance, the `video` element MAY be exposed with a `computedrole` of "`html-video`". Authors MUST NOT use any `html-`prefixed computed role string in the role attribute (such as `html-video`). User Agents MUST ignore any abstract or invalid role token.
<div class="example">
Expand Down Expand Up @@ -9265,6 +9301,7 @@ <h4 id=att-autofocus>`autofocus`</h4>
<tr>
<th>Comments</th>
<td>
Provides a <a href="termref">minimum role</a> of <a class="core-mapping" href="#role-map-group">`group`</a>.
</td>
</tr>
</tbody>
Expand Down Expand Up @@ -10866,6 +10903,7 @@ <h4 id=att-draggable>`draggable`</h4>
<tr>
<th>Comments</th>
<td>
Provides a <a href="termref">minimum role</a> of <a class="core-mapping" href="#role-map-group">`group`</a>.
</td>
</tr>
</tbody>
Expand Down Expand Up @@ -15703,6 +15741,8 @@ <h4 id=att-tabindex>`tabindex`</h4>
<tr>
<th>Comments</th>
<td>
<!-- For future consideration:
Provides a <a href="termref">minimum role</a> of <a class="core-mapping" href="#role-map-group">`group`</a>. -->
</td>
</tr>
</tbody>
Expand Down
Loading