Clarify spec treatment of value "undefined" (i.e., as equivalent to invalid value, initial condition for state/property usage)
rahimabdi opened this issue · 2 comments
Describe the change
During the June 27 2024 "undefined" deep dive discussion, @scottaohara @spectranaut suggested investigation/clarification of the following questions related to undefined
treatment:
- Is an invalid value treated the same thing as an
undefined
value? - Should the spec explicitly state that the
undefined
value/string is not an initial condition for authors to use (e.g.,aria-expanded="undefined"
) in expectation of a downstream ARIA state change?
Link to the version of the specification or documentation you were looking at
Link to documentation: https://w3c.github.io/aria/
Does the issue exists in the editors draft (the editors draft is the most recent draft of the specification)?
Yes.
I started to look through the spec to see if there is any concept of "invalid", and unfortunately I found a weird one in role=switch
. aria-checked
with the value mixed
is "invalid and should be treated as false
".
And in the scenario of switch
, what does undefined mean? not checkable?
We could maybe say, invalid is undefined, except in the case of switch, where both invalid and undefined are the same as aria-check=false
or "off".
Here is the only other mention of invalid values, in IDL: https://w3c.github.io/aria/#idl-reflection-attribute-values