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

Update: add mapping tables for customizable select #2369

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft
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
90 changes: 89 additions & 1 deletion html-aam/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1257,6 +1257,82 @@ <h4 id="el-button">`button`</h4>
</tr>
</tbody>
</table>

<h4 id="el-button-select-child">`button` as a child of a `select` element</h4>
<table aria-labelledby="el-button-select-child">
<tbody>
<tr>
<th>HTML Specification</th>
<td>
<a data-cite="HTML">`button`</a>
</td>
</tr>
<tr>
<th>[[wai-aria-1.2]]</th>
<td>
<div class="general">Not mapped. <a href="#el-button-select-child-comments">See comments</a>.</div>
<!-- a button that is a child of a select is not a typical "button" element.
it does not serve as a submit, reset, or generic 'button' type. Rather,
its purpose is directly tied to the rendering of a customized select
serving as the visible indicator/styleable node to serve as the
invoking element for the select's listbox popup.
-->
</td>
</tr>
<tr>
<th><a data-cite="core-aam-1.2/#roleMappingComputedRole">Computed Role</a></th>
<td class="role-computed">
<div class="general">Not mapped. <a href="#el-button-select-child-comments">See comments</a>.</div>
</td>
</tr>
<tr>
<th>
<a href="https://msdn.microsoft.com/en-us/library/dd373608%28v=VS.85%29.aspx">MSAA</a> + <a href="http://accessibility.linuxfoundation.org/a11yspecs/ia2/docs/html/">IAccessible2</a>
</th>
<td>
<div class="general"><a href="#el-button-select-child-comments">See comments</a></div>
</td>
</tr>
<tr>
<th><a href="https://msdn.microsoft.com/en-us/library/ms726297%28v=VS.85%29.aspx">UIA</a></th>
<td>
<div class="general"><a href="#el-button-select-child-comments">See comments</a></div>
</td>
</tr>
<tr>
<th><a href="https://gnome.pages.gitlab.gnome.org/atk/">ATK</a></th>
<td>
<div class="general"><a href="#el-button-select-child-comments">See comments</a></div>
</td>
</tr>
<tr>
<th><a href="https://developer.apple.com/reference/appkit/nsaccessibility">AX</a></th>
<td>
<div class="general"><a href="#el-button-select-child-comments">See comments</a></div>
</td>
</tr>
<!-- <th><a href="#accessible-name-and-description-computation">Naming Algorithm</a></th> -->
<tr>
<th id="el-button-select-child-comments">Comments</th>
<td>
<p>
User agents MUST use the <a data-cite="accname-1.2/#mapping_additional_nd_te">text equivalent computation</a> of the subtree of the
`button` element as the exposed value of the `select` element. If the `button` contains no content, then there is no value to expose
for the collapsed state of the `select`.
</p>
<p>
Otherwise, user agents MUST treat the child `button` element of a `select` element as inert. The `select` and its child `button` are to be considered a single item
in the user agent's accessibility tree.
</p>
<p class=note>
As this `button` element is meant to be treated as inert, any use of global HTML or ARIA attributes, or attributes specific to the `button` element or ARIA's `button` role
would not be exposed to the user agent's accessibility API.
</p>
<p>See also <a href="#el-select-combobox">`select`<span class="el-context"> (with NO `multiple` attribute and NO `size` attribute having value greater than `1`)</span></a></p>
</td>
</tr>
</tbody>
</table>
<h4 id="el-canvas">`canvas`</h4>
<table aria-labelledby="el-canvas">
<tbody>
Expand Down Expand Up @@ -6339,7 +6415,19 @@ <h4 id="el-select-combobox">`select`<span class="el-context"> (with NO `multiple
<!-- <th><a href="#accessible-name-and-description-computation">Naming Algorithm</a></th> -->
<tr>
<th>Comments</th>
<td></td>
<td>
<p>User agents MUST treat a `button` that is a child element of a `select` element as one item in the accessibility tree.</p>
<p>See also <a href="#el-button-select-child">`button` element as a child of a `select` element.</p>

<div class=note>
TODO:
<p>handling the role of the picker popup based on if it contains invalid descendents or not</p>
<p>the role of the picker should also be contingent on whether invalid elements have accessible objects that exist outside/as siblings to option elements or not.
If an invalid element merely encapsulates the allowed children of a select, then that invalid element should instead be treated as if it had a generic/none role,
rather than modifying the role of the picker.
</p>
</div>
</td>
</tr>
</tbody>
</table>
Expand Down
Loading