w3c/aria

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

First bullet is a duplicate of: #2281

Second bullet, the question is should we spec it? Will be included in #2281