Skip to content

Commit

Permalink
Implicit values for required properties section needs revising (#1414)
Browse files Browse the repository at this point in the history
  • Loading branch information
jnurthen committed Mar 4, 2021
1 parent 471a14f commit b35ecf9
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -13433,9 +13433,9 @@ <h2>State and Property Attribute Processing</h2>
<p>Global states and properties are supported on any element in the host language. However, authors MUST only use non-global states and properties on elements with a role supporting the state or property; either defined as an explicit <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role, or as defined by the host language implicit WAI-ARIA semantic matching an appropriate WAI-ARIA role. When a role attribute is added to an element, the <a>semantics</a> and behavior of the element, including support for <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> states and properties, are augmented or overridden by the role behavior. User agents <strong>MUST</strong> ignore non-global states and properties used on an element without a role supporting the state or property; either defined as an explicit WAI-ARIA role, or as defined by the host language WAI-ARIA semantic matching an appropriate <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> role. For example, the <pref>aria-valuetext</pref> attribute may be used on a <rref>progressbar</rref>.</p>
<p><abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> roles have associated states and properties that are qualified as "supported" or "required". An example of a property <em>supported</em> by the <a class="role-reference" href="#combobox">combobox</a> role is <a class="property-reference" href="#aria-autocomplete">aria-autocomplete</a>. The property is designated "supported" in this case because a given <code>combobox</code> might or might not implement auto completion. In contrast, the <code>combobox</code> role <em>requires</em> the <a class="state-reference" href="#aria-expanded">aria-expanded</a> state in order to indicate that it is expandable. Comboboxes have a controlled popup element, such as a <code>listbox</code>, that is either open or closed. If the <code>listbox</code> is open, the <code>combobox</code> is in its expanded state; otherwise it is collapsed. </p>
<p>When <abbr title="Accessible Rich Internet Applications">WAI-ARIA</abbr> roles are used, <em>supported</em> states and properties that are not present in the DOM are treated according to their default value. Keeping with the <code>combobox</code> example, a missing <code>aria-autocomplete</code> attribute is equivalent to <code>aria-autocomplete=&quot;none&quot;</code>, meaning the <code>combobox</code> does not offer auto completion. </p>
<p>However, <em>required</em> states and properties that are absent are an author error. Missing required states and properties are treated as if they were present and have an implicit neutral value that is not necessarily their default value. For example, the default value of <code>aria-expanded</code> is <code>undefined</code>, meaning neither expandable nor collapsible. But that does not apply to the case of a <code>combobox</code>. In this case, <code>aria-expanded</code> is needed to convey the expandable/collapsible nature of the <code>combobox</code>. Thus, the implicit value of <code>aria-expanded</code> for the <code>combobox</code> role is <code>false</code>, meaning expandable (and currently collapsed). The characteristics table associated with each WAI-ARIA role has an "<a href="#implictValueForRole">Implicit Value for Role</a>" entry that specifies the value of a state or property to use in the context of that role when the state or property is missing. </p>
<p>However, <em>required</em> states and properties that are absent are an author error. Missing required states and properties are processed as detailed at <a href="#document-handling_author-errors">Handling Author Errors</a>.</p>
<p>Elements that have implicit WAI-ARIA semantics support the full set of WAI-ARIA states and properties supported by the corresponding role. Therefore, authors MAY omit the role when setting states and properties. The role is only needed when the implicit WAI-ARIA role of the element needs to be changed.</p>
<p>Sometimes states and properties are present in the DOM but have a zero-length string ("") as their value. Authors MAY specify a zero-length string ("") for any supported (but not required) state or property. User agents SHOULD treat state and property attributes with a value of "" the same as they treat an absent attribute. For supported states and properties, this corresponds to the default value, but if it is a required attribute, it signals an author error, and the implicit value for the role is used. </p>
<p>Sometimes states and properties are present in the DOM but have a zero-length string ("") as their value. Authors MAY specify a zero-length string ("") for any supported (but not required) state or property. User agents SHOULD treat state and property attributes with a value of "" the same as they treat an absent attribute. For supported states and properties, this corresponds to the default value, but if it is a required attribute, it signals an author error and is processed as detailed at <a href="#document-handling_author-errors">Handling Author Errors</a>. </p>
<section id="mapping_additional_relations_error_processing">
<h3>ID Reference Error Processing</h3>
<p><a>User agents</a> SHOULD ignore ID references that do not match the ID of another <a>element</a> in the same document.</p>
Expand Down

0 comments on commit b35ecf9

Please sign in to comment.