- 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