Description for H91

The objective of this technique is to use standard HTML form controls and link elements to provide keyboard operation and assistive technology interoperability of interactive user interface elements.

User agents provide the keyboard operation of HTML form controls and links. In addition, the user agent maps the form controls and links to an accessibility API. Assistive technologies use the accessibility API to extract appropriate accessibility information, such as role, name, state, and value, and present them to users. The role is provided by the HTML element, and the name is provided by the text associated with that element. Elements for which values and states are appropriate also expose the values and states via multiple mechanisms.

In some cases, the text is already associated with the control through a required attribute. For example, submit buttons use the button element text or image alt attribute as the name. In the case of form controls, label elements or title attributes are used.

How role, name, value, and state are determined for HTML links and form controls
HTML element Role Name Value State
a link text content within a element (including alt attribute value if element contains an image) or title attribute. Concatenated if both text and image alt attribute are provided href attribute
button push button text inside button element or title attribute disabled attribute
fieldset grouping text inside legend element within fieldset element disabled attribute
input type = "button", "submit", or "reset" push button value attribute disabled attribute
input type = "image" push button alt attribute or title attribute disabled attribute
input type = "text" editable text label element associated with control or title attribute value attribute disabled, readonly, and required attributes
input type = "text", "email", "url", "search", or "tel" textbox label element associated with control or title attribute value attribute disabled, readonly, and required attributes
input type = "color" color picker label element associated with control or title attribute value attribute disabled, readonly, and required attributes
input type = "range" slider label element associated with control or title attribute value attribute disabled, readonly, and required attributes
input type = "number” or "time" spin button label element associated with control or title attribute value attribute disabled, readonly, and required attributes
input type = "datetime", "datetime-local", "date", "month", or "week" date field label element associated with control or title attribute value attribute disabled, readonly, and required attributes
input type = "password" editable text label element associated with control or title attribute value is purposefully hidden disabled, readonly, and required attributes
input type = "file" editable text label element associated with control or title attribute value attribute
input type = "checkbox" checkbox label element associated with control or title attribute checked, disabled, and required attributes
input type = "radio" radio button label element associated with control or title attribute checked, disabled, and required attributes
select (no multiple attribute and no size attribute value greater than 1) combobox label element associated with control or title attribute option element with selected attribute set to "selected" disabled, multiple, and required attributes
select (with a multiple attribute or a size attribute value greater than 1) listbox label element associated with control or title attribute option element with selected attribute set to "selected" disabled, multiple, and required attributes
textarea textbox (multi-line) label element associated with control or title attribute text within textarea element disabled, readonly, and required attributes