w3c / aria

Accessible Rich Internet Applications (WAI-ARIA)
https://w3c.github.io/aria/
Other
624 stars 118 forks source link

Definition discrepancies for the "undefined" value across ARIA states and properties #2156

Open rahimabdi opened 2 months ago

rahimabdi commented 2 months ago

Describe the change

As of ARIA 1.3, aria-hidden="false" will be a synonym of aria-hidden="undefined". However, I noticed that the "undefined" value is now differently defined for various states and properties, e.g.,:

For aria-hidden="undefined", it equates to "The element's hidden state is determined by the user agent based on whether it is rendered."

With the changes to aria-hidden, should we update section 6.2.4 Value and provide a broad definition of what "undefined" means, or perhaps note that it is property-dependent? The current definition of "undefined" does not appear to encompass the full breadth of what this value means:

true/false/undefined Value representing true, false, or undefined (not applicable). The default value for this value type is undefined unless otherwise specified. For example, an element with aria-expanded set to false is not currently expanded; an element with aria-expanded set to undefined is not expandable.

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

KateZhaoTR commented 2 months ago

Maybe the "not applicable" in the parenthesis could be replaced with the wording and examples you've provided, something like:

true/false/undefined Value representing true, false, or undefined (The meaning of 'undefined' is attribute dependent. For example, aria-checked="undefined" means that "The element does not support being checked", while aria-hidden="undefined" is a synonym for aria-hidden="false".). The default value for this value type is undefined unless otherwise specified. For example, an element with aria-expanded set to false is not currently expanded; an element with aria-expanded set to undefined is not expandable.

spectranaut commented 2 months ago

@rahimabdi are you interested in drafting a PR with the definition of undefined you suggest?

rahimabdi commented 1 month ago

@spectranaut Yes, happy to do so!

Compiling all the uses of undefined and their respective meanings here: