Re: ACTION-1493 Spec text for section 7.6 "State and Property Attribute Processing"

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.  In addition, the combobox role 
<em>requires</em> an aria-expanded state since it has a popup listbox as 
one of its children, and 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 -- 
their default value is equivalent to their absence. Keeping with the 
combobox example, a missing aria-autocomplete attribute is the same as 
its default value "none", meaning the combobox does not offer auto 
completion.

Required 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 aria-expanded is 
undefined, meaning neither expandable nor collapsible.  However, its 
implicit value for a combobox is "false", meaning collapsed.  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.  Therefore, 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.
</to>

-- 
;;;;joseph.

'Array(16).join("wat" - 1) + " Batman!"'
            - G. Bernhardt -

Received on Monday, 6 October 2014 13:24:51 UTC