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 2 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
87 changes: 86 additions & 1 deletion html-aam/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1257,6 +1257,79 @@ <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"><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"><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>
sdfsddsaf
</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">Use WAI-ARIA mapping</div>
</td>
</tr>
<tr>
<th><a href="https://gnome.pages.gitlab.gnome.org/atk/">ATK</a></th>
<td>
<div class="general">Use WAI-ARIA mapping</div>
</td>
</tr>
<tr>
<th><a href="https://developer.apple.com/reference/appkit/nsaccessibility">AX</a></th>
<td>
<div class="general">Use WAI-ARIA mapping</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 treat a `button` that is a child element of a `select` element as one item in the accessibility tree.</p>
<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 class=note>
TBD: indicate that global html/aria attributes and html/aria attributes specific to buttons are not to be respected on a button that is a child of a select? Since the button/select are meant to be treated as one entity in the a11y tree, and the button's content is meant to be treated as the value for the select, and not the name of the select, it doesn't make much sense to treat this button as if it were actually a button...
scottaohara marked this conversation as resolved.
Show resolved Hide resolved
</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 +6412,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