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

Clarifications for HTML's autocomplete and aria-autocomplete #2350

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
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
55 changes: 36 additions & 19 deletions html-aam/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8538,19 +8538,15 @@ <h4 id="att-autocomplete-form">`autocomplete`</h4>
<tr>
<th>[[WAI-ARIA-1.2]]</th>
<td>
<p><a class="core-mapping" href="#ariaAutocompleteInlineListBoth">`aria-autocomplete`</a></p>
<div class="note"><strong>Note:</strong> the ARIA attribute and the HTML attribute have disparate features.</div>
<div class="general">Not mapped</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="states">
<span class="type">States:</span>
`STATE_SUPPORTS_AUTOCOMPLETION` on text form controls until the value is overridden by control
</div>
<div class="general">Not mapped</div>
</td>
</tr>
<tr>
Expand All @@ -8562,10 +8558,7 @@ <h4 id="att-autocomplete-form">`autocomplete`</h4>
<tr>
<th><a href="https://gnome.pages.gitlab.gnome.org/atk/">ATK</a></th>
<td>
<div class="states">
<span class="type">States:</span>
`ATK_STATE_SUPPORTS_AUTOCOMPLETION` on text form controls until the value is overridden by control
</div>
<div class="general">Not mapped</div>
</td>
</tr>
<tr>
Expand All @@ -8577,8 +8570,15 @@ <h4 id="att-autocomplete-form">`autocomplete`</h4>
<tr>
<th>Comments</th>
<td>
If the element includes both `autocomplete` and `aria-autocomplete` attributes with valid values, User Agents MUST expose only the `autocomplete` attribute value. The
`aria-autocomplete` attribute is not valid on a `form` element.
<p class="note">
<strong>Note:</strong> the `aria-autocomplete` attribute and the HTML `autocomplete` attribute have disparate features. The `aria-autocomplete` attribute is not supported on the HTML
`form` element or elements with an explicit ARIA `form` role.
</p>
<p class="note">
When used on a `form` element, the `autocomplete` attribute identifies whether form controls owned by the form will have their
<a data-cite="html/form-control-infrastructure.html#autofill-field-name">autofill field name</a> set to "`on`" or "`off`" by default. See
<a href="#att-autocomplete">`autocomplete` for `input`, `select`, `textarea`</a> for control mappings.
</p>
</td>
</tr>
</tbody>
Expand All @@ -8599,39 +8599,56 @@ <h4 id="att-autocomplete">`autocomplete`</h4>
<tr>
<th>[[WAI-ARIA-1.2]]</th>
<td>
<p><a class="core-mapping" href="#ariaAutocompleteInlineListBoth">`aria-autocomplete`</a></p>
<div class="note"><strong>Note:</strong> the ARIA attribute and the HTML attribute have disparate features.</div>
<div class="general">
<p>If specivied `autocomplete=off` or the control is owned by a `form` with `autocomplete=off` - <a class="core-mapping" href="#ariaAutocompleteNone">`aria-autocomplete=none`</a></p>
<p>Otherwise, <a class="core-mapping" href="#ariaAutocompleteInlineListBoth">`aria-autocomplete`</a></p>
</div>
<div class="note">
<p>
<strong>Note:</strong> the `aria-autocomplete` attribute and the HTML `autocomplete` attribute have disparate features, but they overlap as mechanisms for user agents to expose the
control's support for autocompletion.
</p>
</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="states"><span class="type">States:</span> `STATE_SUPPORTS_AUTOCOMPLETION`</div>
<div class="general">Use WAI-ARIA mapping</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">Not mapped</div>
<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="states"><span class="type">States:</span> `ATK_STATE_SUPPORTS_AUTOCOMPLETION`</div>
<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">Not mapped</div>
<div class="general">Use WAI-ARIA mapping</div>
</td>
</tr>
<tr>
<th>Comments</th>
<td>If the element includes both `autocomplete` and `aria-autocomplete` attributes with valid values, User Agents MUST expose only the `autocomplete` attribute value.</td>
<td>
<p>
If the form control has been specified as both `autocomplete=off` (whether due to explicit use of the attribute, or from inheriting the `off` state from a parent `form` element with
`autocomplete=off`) and with an `aria-autocomplete` attribute with a valid value, user agents MUST expose only the `aria-autocomplete` attribute value.
</p>
<p>
Otherwise, if the form control has an `autocomplete` attribute specified with a valid token value, and an `aria-autocomplete` attribute, then user agents MUST expose only the
`autocomplete` attribute value.
</p>
</td>
</tr>
</tbody>
</table>
Expand Down