- From: Joseph Scheuhammer <clown@alum.mit.edu>
- Date: Fri, 17 Oct 2014 13:02:57 -0400
- To: W3C WAI Protocols & Formats <public-pfwg@w3.org>, W3C WAI-PFWG <w3c-wai-pf@w3.org>
Revising my proposal as I discovered there are definitions of "supported" and "required" states and properties that it would be useful to reference. ACTION-1493 relates to ISSUE-646 regarding the default value for supported and required states and properties. See the fourth paragraph, repeated below, at: http://www.w3.org/TR/wai-aria/#state_property_processing <change> When WAI-ARIA roles are used, supported states and properties that are not present in the DOM are treated according to their default value, unless they are required. For token states and properties, an attribute value that is a zero-length string ("") also corresponds to the default value. Therefore, user agents SHOULD treat token state and property attributes with a value of "" the same as they treat an absent attribute. Normally this corresponds to the default value (usually "undefined"), but if it is a required attribute, they signal an error (because a null value is the same as failing to provide the required attribute). </change> <to> WAI-ARIA roles have associated states and properties that are further qualified as "supported" or "required". For example, the combobox role <em>supports</em> the aria-autocomplete property: a given combobox might or might not implement auto completion. However, the combobox role <em>requires</em> an aria-expanded state since it has a popup listbox as one of its children. The value of aria-expanded indicates whether the listbox is currently open. When WAI-ARIA roles are used, supported states and properties that are not present in the DOM are treated according to their default value. Authors MAY omit a value if the default value is sufficient -- see the section "Supported States and Properties" (http://rawgit.com/w3c/aria/master/aria/aria.html#supportedState). For example, a combobox with no aria-autocomplete attribute uses the default value "none", meaning the combobox does not provide auto completion. In contrast, required states and properties that are absent are an author error -- see "Required States and Properties" (http://rawgit.com/w3c/aria/master/aria/aria.html#requiredState). Missing required states and properties have an implicit neutral value that is not necessarily their default value. For instance, the default value of aria-expanded is undefined, meaning neither expandable nor collapsible. However, its implicit value is "false" when used with the combobox role, meaning collapsed. Using the default value or aria-expanded in this case would result in a combobox that is not expandable, but that is incoherent . The characteristics table associated with each WAI-ARIA role has an "Implicit Value for Role:" entry that specifies the value to use for that role when a required state or property is missing. (Editorial Note: There are roles whose required states/properties do not list an implicit value, e.g., slider/aria-valuenow. Is this a bug?) Sometimes states and properties are present in the DOM but have a zero-length string ("") as their value. This is equivalent to their absence. 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 their default value. For required states and properties, it signals an author error, and the implicit value for the role is used. </to> -- ;;;;joseph. 'Array(16).join("wat" - 1) + " Batman!"' - G. Bernhardt -
Received on Friday, 17 October 2014 17:03:24 UTC