Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
rahimabdi opened this issue Apr 12, 2024 · 3 comments · May be fixed by #2172
Open

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

rahimabdi opened this issue Apr 12, 2024 · 3 comments · May be fixed by #2172
Assignees
Labels
editorial a change to an example, note, spelling, grammar, or is related to publishing or the repo

Comments

@rahimabdi
Copy link
Contributor

rahimabdi commented Apr 12, 2024

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.,:

  • aria-checked="undefined" means that "The element does not support being checked."; similarly, aria-pressed="undefined" means that "The element does not support being pressed."
  • aria-expanded="undefined" means that "The element does not own or control a grouping element that is expandable."
  • aria-orientation="undefined" means that "The element's orientation is unknown/ambiguous."

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

@rahimabdi rahimabdi added the editorial a change to an example, note, spelling, grammar, or is related to publishing or the repo label Apr 12, 2024
@KateZhaoTR
Copy link

KateZhaoTR commented Apr 17, 2024

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
Copy link
Contributor

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

@rahimabdi
Copy link
Contributor Author

rahimabdi commented Apr 27, 2024

@spectranaut Yes, happy to do so!

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

  • aria-checked = The element does not support being checked
  • aria-current = Does not represent the current item within a set
  • aria-expanded = Element does not own or control a grouping element that is expandable
  • aria-grabbed = Indicates that the element does not support being dragged
  • aria-hidden = The element’s hidden state is determined by the user agent on whether it is rendered
  • aria-orientation = The element’s orientation is unknown or ambiguous
  • aria-pressed = The element does not support being pressed
  • aria-selected = The element is not selectable
  • aria-multiselectable = Only one item can be selected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
editorial a change to an example, note, spelling, grammar, or is related to publishing or the repo
Projects
None yet
3 participants