From 292994546fba8510642afb9ef7fd821add73109d Mon Sep 17 00:00:00 2001 From: Matt King Date: Sat, 10 Oct 2020 19:30:11 -0700 Subject: [PATCH] Resolves #700 and resolves #1052 with the following changes. Removes "selectable" from the definition of option to support cases where either an item is checkable instead of selectable or an item is neither selectable nor checkable (i.e., similar to disabled). The definition of option is then: >An item in a listbox. Replaces the statement: >Elements with the role option have an implicit aria-selected value of false. with a list of conditions that must be met before a user agent can provide an implicit value for aria-selected. This enables authors to: 1. Use aria-checked instead of aria-selected in any listbox. 2. Indicate that an option is not selectable or checkable by omitting the declaration of checked or selected in a listbox where either checked or selected is explicitly declared on some of the options. Adds authoring guidance that: 1. Weakly suggests use of checked instead of selected in multi-selects. 2. Strongly discourages use of both checked and selected in the same listbox. In the characteristics table for option: 1. Removes aria-selected from required properties and adds to supported properties. 2. Removes the implicit value for aria-selected. --- index.html | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/index.html b/index.html index d34106213..6236c77ac 100644 --- a/index.html +++ b/index.html @@ -5991,9 +5991,26 @@
Note regarding the ARIA 1.1 none role.
option
-

A selectable item in a listbox.

+

An item in a listbox.

Authors MUST ensure elements with role option are contained in, or owned by, an element with the role listbox or group within a listbox. Options not associated with a listbox might not be correctly mapped to an accessibility API.

-

Elements with the role option have an implicit aria-selected value of false.

+

User agents MAY provide an implicit value of aria-selected for each option in a listbox if the following conditions are met, but user agents MUST NOT provide an implicit value of aria-selected if any of the following conditions are not met:

+
    +
  • The value of aria-multiselectable on the listbox is false or undefined.
  • +
  • None of the option elements in the listbox have an explicitly declared value for aria-selected or aria-checked.
  • +
+

+ If a user agent provides an implicit aria-selected value for an option, the value SHOULD be true if the option has DOM focus or the listbox has DOM focus and the option is referenced by aria-activedescendant. + Otherwise, if a user agent provides an implicit aria-selected value for an option, the value SHOULD be false. +

+

+ The option role supports both aria-selected and aria-checked because it is common for authors to use selection in single-select list boxes and check marks in multi-select list boxes. + However, authors SHOULD NOT specify both aria-selected and aria-checked on option elements contained by the same listbox except in the extremely rare circumstances where all the following conditions are met: +

+
    +
  • The meaning and purpose of aria-selected is different from the meaning and purpose of aria-checked in the user interface.
  • +
  • The user interface makes the mening and purpose of each state apparent.
  • +
  • The user interface provides a separate method for controling each state.
  • +
@@ -6041,11 +6058,7 @@
Note regarding the ARIA 1.1 none role.
- + @@ -6053,6 +6066,7 @@
Note regarding the ARIA 1.1 none role.
@@ -6088,7 +6102,7 @@
Note regarding the ARIA 1.1 none role.
- +
Characteristics:
Required States and Properties: -
    -
  • aria-selected
  • -
-
Supported States and Properties:
Implicit Value for Role:Default for aria-selected is false.