From 488e3d467d1aeb2a4640a35047cf376a41855328 Mon Sep 17 00:00:00 2001 From: Matt King Date: Sat, 10 Oct 2020 19:30:11 -0700 Subject: [PATCH 01/25] 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 ba7ef5ce4..329ffcce7 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.
From 2fb18bfc5d07bd71b92640d786f936f8cba4b0fc Mon Sep 17 00:00:00 2001 From: Matt King Date: Wed, 21 Oct 2020 02:01:21 -0700 Subject: [PATCH 02/25] Apply typo fixes from Carolyn Co-authored-by: Carolyn MacLeod --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 329ffcce7..5b29524c3 100644 --- a/index.html +++ b/index.html @@ -6008,8 +6008,8 @@
Note regarding the ARIA 1.1 none role.

  • 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.
  • +
  • The user interface makes the meaning and purpose of each state apparent.
  • +
  • The user interface provides a separate method for controlling each state.
From 1a4bce3213d8feb82712f2ab29b22bf1e7cd89d9 Mon Sep 17 00:00:00 2001 From: Matt King Date: Wed, 21 Oct 2020 02:13:02 -0700 Subject: [PATCH 03/25] recommend select in single-selects and checked in multi-selects --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 5b29524c3..31a3ee547 100644 --- a/index.html +++ b/index.html @@ -6003,8 +6003,8 @@
Note regarding the ARIA 1.1 none role.
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 option role supports both aria-selected and aria-checked because it is recommended that authors indicate selection with aria-selected in single-select list boxes and with aria-checked in multi-select list boxes. + 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:

From 043b710a2fcd9ffd7ae563710dd30fffefefbb6b Mon Sep 17 00:00:00 2001 From: Matt King Date: Wed, 21 Oct 2020 03:00:51 -0700 Subject: [PATCH 05/25] Revise definition and first para of treeitem for editorial consistency with other roles --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 222a70d4e..c6e1b8393 100644 --- a/index.html +++ b/index.html @@ -9905,8 +9905,8 @@
Presentational Roles Conflict Resolution
treeitem
-

An option item of a tree. This is an element within a tree that may be expanded or collapsed if it contains a sub-level group of tree item elements.

-

A collection of treeitem elements to be expanded and collapsed are enclosed in an element with the group role.

+

An item in a tree.

+

A treeitem element may contain a sub-level group of elements that can be expanded or collapsed. An expandable collection of treeitem elements are enclosed in an element with the group role.

Authors MUST ensure elements with role treeitem are contained in, or owned by, an element with the role group or tree.

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

    From 2ba946214eac40ebfb4321eba5d7db70d9f8aae7 Mon Sep 17 00:00:00 2001 From: Matt King Date: Wed, 21 Oct 2020 03:05:21 -0700 Subject: [PATCH 06/25] Editorial clarification of treeitem ownership requirement --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index c6e1b8393..5c79f62f8 100644 --- a/index.html +++ b/index.html @@ -9907,7 +9907,7 @@
    Presentational Roles Conflict Resolution

    An item in a tree.

    A treeitem element may contain a sub-level group of elements that can be expanded or collapsed. An expandable collection of treeitem elements are enclosed in an element with the group role.

    -

    Authors MUST ensure elements with role treeitem are contained in, or owned by, an element with the role group or tree.

    +

    Authors MUST ensure elements with role treeitem are contained in, or owned by, an element with role tree or an element with role group that is contained in, or owned by, and element with role treeitem.

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

    • The value of aria-multiselectable on the tree is false or undefined.
    • From a2c1bdd21a1f7255d730f830f2a912d33ac9f3cc Mon Sep 17 00:00:00 2001 From: Matt King Date: Wed, 21 Oct 2020 03:14:15 -0700 Subject: [PATCH 07/25] of > for --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 5c79f62f8..fd366ff01 100644 --- a/index.html +++ b/index.html @@ -5993,7 +5993,7 @@
      Note regarding the ARIA 1.1 none role.

      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.

      -

      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:

      +

      User agents MAY provide an implicit value for aria-selected for each option in a listbox if the following conditions are met, but user agents MUST NOT provide an implicit value for 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.
      • From fd1f29ec35c9843bc37c70ee22e604dada4f209d Mon Sep 17 00:00:00 2001 From: Matt King Date: Wed, 21 Oct 2020 03:52:23 -0700 Subject: [PATCH 08/25] Remove obsolete language from aria-selected --- index.html | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index fd366ff01..209e6aeea 100644 --- a/index.html +++ b/index.html @@ -12971,12 +12971,8 @@

        Definitions of States and Properties (all aria-* attributes)

        aria-selected

        Indicates the current "selected" state of various widgets. See related aria-checked and aria-pressed.

        -

        This attribute is used with single-selection and multiple-selection widgets:

        -
          -
        1. Single-selection containers where the currently focused item is not selected. The selection normally follows the focus, and is managed by the user agent.
        2. -
        3. Multiple-selection containers. Authors SHOULD ensure that any selectable descendant of a container in which the aria-multiselectable attribute is true specifies a value of either true or false for the aria-selected attribute.
        4. -
        -

        Any explicit assignment of aria-selected takes precedence over the implicit selection based on focus. If no DOM element in the widget is explicitly marked as selected, assistive technologies MAY convey implicit selection which follows the keyboard focus of the managed focus widget. If any DOM element in the widget is explicitly marked as selected, the user agent MUST NOT convey implicit selection for the widget.

        +

        This attribute is used to indicate which elements within single-selection and multiple-selection composite widgets are selected.

        +

        The option, tab, and treeitem roles permit user agents to provide an implicit value for aria-selected when specified conditions are met. User agents MUST NOT provide an implicit value for aria-selected in any other circumstance.

Characteristics:
From cd3382e523303b42eb09a9543a358ba3507cdb4e Mon Sep 17 00:00:00 2001 From: Matt King Date: Wed, 21 Oct 2020 04:08:40 -0700 Subject: [PATCH 09/25] Add user agent restrictions to tab role --- index.html | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 209e6aeea..261733c9e 100644 --- a/index.html +++ b/index.html @@ -8708,11 +8708,14 @@
Presentational Roles Conflict Resolution

If a tabpanel or item in a tabpanel has focus, the associated tab is the currently active tab in the tablist, as defined in Managing Focus. tablist elements, which contain a set of associated tab elements, are typically placed near a series of tabpanel elements, usually preceding it. See the WAI-ARIA Authoring Practices for details on implementing a tab set design pattern.

Authors MUST ensure elements with role tab are contained in, or owned by, an element with the role tablist.

Authors SHOULD ensure the tabpanel associated with the currently active tab is perceivable to the user.

-

For a single-selectable tablist, authors SHOULD hide other tabpanel elements from the user until the user selects the tab associated with that tabpanel. For a multi-selectable tablist, authors SHOULD ensure that the tab for each visible tabpanel has the aria-expanded attribute set to true, and that the tabs associated with the remaining hidden tabpanel elements have their aria-expanded attributes set to false.

- -

In either case, authors SHOULD ensure that a selected tab has its aria-selected attribute set to true, that inactive tab elements have their aria-selected attribute set to false, and that the currently selected tab provides a visual indication that it is selected. In the absence of an aria-selected attribute on the current tab, user agents SHOULD indicate to assistive technologies through the platform accessibility API that the currently focused tab is selected.

+

Authors SHOULD ensure that a selected tab has its aria-selected attribute set to true, that inactive tab elements have their aria-selected attribute set to false, and that the currently selected tab provides a visual indication that it is selected.

+

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

+
Characteristics:
From 1a306e3f29c5d20ac588a36fa362da514bf94715 Mon Sep 17 00:00:00 2001 From: Carolyn MacLeod Date: Thu, 19 Nov 2020 13:19:06 -0500 Subject: [PATCH 10/25] Update index.html Co-authored-by: James Teh --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 261733c9e..bc8871100 100644 --- a/index.html +++ b/index.html @@ -9910,7 +9910,7 @@
Presentational Roles Conflict Resolution

An item in a tree.

A treeitem element may contain a sub-level group of elements that can be expanded or collapsed. An expandable collection of treeitem elements are enclosed in an element with the group role.

-

Authors MUST ensure elements with role treeitem are contained in, or owned by, an element with role tree or an element with role group that is contained in, or owned by, and element with role treeitem.

+

Authors MUST ensure elements with role treeitem are contained in, or owned by, an element with role tree or an element with role group that is contained in, or owned by, an element with role treeitem.

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

  • The value of aria-multiselectable on the tree is false or undefined.
  • From 7537d56c0185a55e0c564b92b8a2d4f5529b3c3f Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 3 Dec 2020 10:38:32 -0800 Subject: [PATCH 11/25] Improve authoring guidance based on feedback --- index.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index bc8871100..5d99d0d9d 100644 --- a/index.html +++ b/index.html @@ -6003,8 +6003,10 @@
    Note regarding the ARIA 1.1 none role.
    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 recommended that authors indicate selection with aria-selected in single-select list boxes and with aria-checked in multi-select list boxes. - 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: + Authors MAY indicate selection for option elements using either aria-selected or aria-checked. + Some user interfaces indicate selection with aria-selected in single-select list boxes and with aria-checked in multi-select list boxes. + Authors SHOULD NOT specify both aria-selected and aria-checked on option elements contained by the same listbox. + However, authors MAY use both 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.
    • From 22798337ba246f36927c350da3befd7dd230d5b2 Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 3 Dec 2020 22:50:16 -0800 Subject: [PATCH 12/25] Improve wording of normative authoring for groups owned by listbox Co-authored-by: Carolyn MacLeod --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 5d99d0d9d..37123d15e 100644 --- a/index.html +++ b/index.html @@ -5992,7 +5992,7 @@
      Note regarding the ARIA 1.1 none role.
      option

      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.

      +

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

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

      • The value of aria-multiselectable on the listbox is false or undefined.
      • From 4f96de0aa4f521e2c08a170bcd5ce6a73d735dba Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 3 Dec 2020 22:40:48 -0800 Subject: [PATCH 13/25] Minor revision to wording of preamble to conditions list --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 37123d15e..650ac82fe 100644 --- a/index.html +++ b/index.html @@ -6006,7 +6006,7 @@
        Note regarding the ARIA 1.1 none role.
        Authors MAY indicate selection for option elements using either aria-selected or aria-checked. Some user interfaces indicate selection with aria-selected in single-select list boxes and with aria-checked in multi-select list boxes. Authors SHOULD NOT specify both aria-selected and aria-checked on option elements contained by the same listbox. - However, authors MAY use both in the extremely rare circumstances where all the following conditions are met: + However, authors MAY use both in the same listbox 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.
        • From 562bdc5055830a4e9726192c9777341d1d2442f9 Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 3 Dec 2020 23:15:15 -0800 Subject: [PATCH 14/25] Simplify normative UA language for implicit values on options --- index.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 650ac82fe..fc4edfe0d 100644 --- a/index.html +++ b/index.html @@ -5993,7 +5993,10 @@
          Note regarding the ARIA 1.1 none role.

          An item in a listbox.

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

          -

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

          +

          + User agents MAY provide an implicit value for aria-selected for each option in a listbox only if the following conditions are met. + If a user agent provides an implicit value for aria-selected on an option, the user agent MUST ensure the following conditions are met before providing the implicit value: +

          • 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.
          • From 8621a1d21a5083e9906c2aa8335ca0ea376bcbb9 Mon Sep 17 00:00:00 2001 From: Matt King Date: Fri, 4 Dec 2020 00:13:10 -0800 Subject: [PATCH 15/25] Duplicate option revisions in treeitem --- index.html | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index fc4edfe0d..7d73a5160 100644 --- a/index.html +++ b/index.html @@ -9916,7 +9916,10 @@
            Presentational Roles Conflict Resolution

            An item in a tree.

            A treeitem element may contain a sub-level group of elements that can be expanded or collapsed. An expandable collection of treeitem elements are enclosed in an element with the group role.

            Authors MUST ensure elements with role treeitem are contained in, or owned by, an element with role tree or an element with role group that is contained in, or owned by, an element with role treeitem.

            -

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

            +

            + User agents MAY provide an implicit value for aria-selected for each treeitem in a tree only if the following conditions are met. + If a user agent provides an implicit value for aria-selected on a treeitem, the user agent MUST ensure the following conditions are met before providing the implicit value: +

            • The value of aria-multiselectable on the tree is false or undefined.
            • None of the treeitem elements in the tree have an explicitly declared value for aria-selected or aria-checked.
            • @@ -9926,8 +9929,10 @@
              Presentational Roles Conflict Resolution
              Otherwise, if a user agent provides an implicit aria-selected value for a treeitem, the value SHOULD be false.

              - The treeitem role supports both aria-selected and aria-checked because it is recommended that authors indicate selection with aria-selected in single-select trees and with aria-checked in multi-select trees. - Authors SHOULD NOT specify both aria-selected and aria-checked on treeitem elements contained by the same tree except in the extremely rare circumstances where all the following conditions are met: + Authors MAY indicate selection for treeitem elements using either aria-selected or aria-checked. + Some user interfaces indicate selection with aria-selected in single-select trees and with aria-checked in multi-select trees. + Authors SHOULD NOT specify both aria-selected and aria-checked on treeitem elements contained by the same tree. + However, authors MAY use both in the same tree 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.
              • From 96462f3b1051e0c59dc0cfd4ab6c5c0d2de2c52e Mon Sep 17 00:00:00 2001 From: Matt King Date: Fri, 4 Dec 2020 00:26:39 -0800 Subject: [PATCH 16/25] Replicate revised UA requirements for implicit selection for tab role --- index.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 7d73a5160..ca8feee5e 100644 --- a/index.html +++ b/index.html @@ -8716,7 +8716,10 @@
                Presentational Roles Conflict Resolution

                For a single-selectable tablist, authors SHOULD hide other tabpanel elements from the user until the user selects the tab associated with that tabpanel. For a multi-selectable tablist, authors SHOULD ensure that the tab for each visible tabpanel has the aria-expanded attribute set to true, and that the tabs associated with the remaining hidden tabpanel elements have their aria-expanded attributes set to false.

                Authors SHOULD ensure that a selected tab has its aria-selected attribute set to true, that inactive tab elements have their aria-selected attribute set to false, and that the currently selected tab provides a visual indication that it is selected.

                -

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

                +

                + User agents MAY provide an implicit value for aria-selected for each tab in a tablist only if the following conditions are met. + If a user agent provides an implicit value for aria-selected on a tab, the user agent MUST ensure the following conditions are met before providing the implicit value: +

                • The value of aria-multiselectable on the tablist is false or undefined.
                • None of the tab elements in the tablist have an explicitly declared value for aria-selected or aria-expanded.
                • From d9a23a14380b70db21abb4af81582df1e9112823 Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 10 Dec 2020 10:17:37 -0800 Subject: [PATCH 17/25] Accept Carolyn's suggestion for a single sentence normative for the UA requirement calc of implicit values Co-authored-by: Carolyn MacLeod --- index.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/index.html b/index.html index ca8feee5e..2352b670b 100644 --- a/index.html +++ b/index.html @@ -5994,8 +5994,7 @@
                  Note regarding the ARIA 1.1 none role.

                  An item in a listbox.

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

                  - User agents MAY provide an implicit value for aria-selected for each option in a listbox only if the following conditions are met. - If a user agent provides an implicit value for aria-selected on an option, the user agent MUST ensure the following conditions are met before providing the implicit value: + User agents MAY provide an implicit value for aria-selected for each option in a listbox, however the user agent MUST ensure the following conditions are met before providing the implicit value:

                  • The value of aria-multiselectable on the listbox is false or undefined.
                  • From 2cdcca94df592217aca1a87f938c53e68b829004 Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 10 Dec 2020 10:20:50 -0800 Subject: [PATCH 18/25] Fix role reference tag Co-authored-by: Carolyn MacLeod --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 2352b670b..d2aac9377 100644 --- a/index.html +++ b/index.html @@ -6001,7 +6001,7 @@
                    Note regarding the ARIA 1.1 none role.
                  • 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. + 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.

                  From ce8e890f0c0b8403d75379c4c122bd7cb187d9f3 Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 10 Dec 2020 10:22:06 -0800 Subject: [PATCH 19/25] Fix role reference tag Co-authored-by: Carolyn MacLeod --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index d2aac9377..eae6b4ebc 100644 --- a/index.html +++ b/index.html @@ -9927,7 +9927,7 @@

                  Presentational Roles Conflict Resolution
                • None of the treeitem elements in the tree have an explicitly declared value for aria-selected or aria-checked.

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

                From e18f15494daff12684b50dbdb4991c46ee34cc76 Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 10 Dec 2020 13:06:11 -0800 Subject: [PATCH 20/25] Revise wording of UA requirements related to implicit value calculation --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index eae6b4ebc..30988e60d 100644 --- a/index.html +++ b/index.html @@ -5994,7 +5994,7 @@

                Note regarding the ARIA 1.1 none role.

                An item in a listbox.

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

                - User agents MAY provide an implicit value for aria-selected for each option in a listbox, however the user agent MUST ensure the following conditions are met before providing the implicit value: + In certain conditions, a user agent MAY provide an implicit value for aria-selected for each option in a listbox, and if it does, the user agent MUST ensure the following conditions are met:

                • The value of aria-multiselectable on the listbox is false or undefined.
                • From 384b072b71ea5c336ba9860e3d207355594c1a9e Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 10 Dec 2020 13:13:19 -0800 Subject: [PATCH 21/25] Simplify wording of authoring guidance regarding using both selected and checked --- index.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 30988e60d..0043dea1c 100644 --- a/index.html +++ b/index.html @@ -5994,7 +5994,7 @@
                  Note regarding the ARIA 1.1 none role.

                  An item in a listbox.

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

                  - In certain conditions, a user agent MAY provide an implicit value for aria-selected for each option in a listbox, and if it does, the user agent MUST ensure the following conditions are met: + In certain conditions, a user agent MAY provide an implicit value for aria-selected for each option in a listbox, and if it does, the user agent MUST ensure the following conditions are met before providing an implicit value:

                  • The value of aria-multiselectable on the listbox is false or undefined.
                  • @@ -6007,8 +6007,7 @@
                    Note regarding the ARIA 1.1 none role.

                    Authors MAY indicate selection for option elements using either aria-selected or aria-checked. Some user interfaces indicate selection with aria-selected in single-select list boxes and with aria-checked in multi-select list boxes. - Authors SHOULD NOT specify both aria-selected and aria-checked on option elements contained by the same listbox. - However, authors MAY use both in the same listbox in the extremely rare circumstances where all the following conditions are met: + 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.
                    • From c560f46313593335a247cbd009b3770a49e4dc00 Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 10 Dec 2020 22:32:45 -0800 Subject: [PATCH 22/25] white space change --- index.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/index.html b/index.html index 0043dea1c..50522279f 100644 --- a/index.html +++ b/index.html @@ -5993,9 +5993,7 @@
                      Note regarding the ARIA 1.1 none role.

                      An item in a listbox.

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

                      -

                      - In certain conditions, a user agent MAY provide an implicit value for aria-selected for each option in a listbox, and if it does, the user agent MUST ensure the following conditions are met before providing an implicit value: -

                      +

                      In certain conditions, a user agent MAY provide an implicit value for aria-selected for each option in a listbox, and if it does, the user agent MUST ensure the following conditions are met before providing an implicit value:

                      • 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.
                      • From 0d6dfca60c4e416c74e7ecb73a095fccc7f439db Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 10 Dec 2020 22:37:36 -0800 Subject: [PATCH 23/25] Make UA requirement for treeitem match option --- index.html | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/index.html b/index.html index 50522279f..2615dc3a0 100644 --- a/index.html +++ b/index.html @@ -9915,10 +9915,7 @@
                        Presentational Roles Conflict Resolution

                        An item in a tree.

                        A treeitem element may contain a sub-level group of elements that can be expanded or collapsed. An expandable collection of treeitem elements are enclosed in an element with the group role.

                        Authors MUST ensure elements with role treeitem are contained in, or owned by, an element with role tree or an element with role group that is contained in, or owned by, an element with role treeitem.

                        -

                        - User agents MAY provide an implicit value for aria-selected for each treeitem in a tree only if the following conditions are met. - If a user agent provides an implicit value for aria-selected on a treeitem, the user agent MUST ensure the following conditions are met before providing the implicit value: -

                        +

                        In certain conditions, a user agent MAY provide an implicit value for aria-selected for each treeitem in a tree, and if it does, the user agent MUST ensure the following conditions are met before providing an implicit value:

                        • The value of aria-multiselectable on the tree is false or undefined.
                        • None of the treeitem elements in the tree have an explicitly declared value for aria-selected or aria-checked.
                        • From e518f31b6760b3fc03f857382cfb2f4133eb20d6 Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 10 Dec 2020 22:40:52 -0800 Subject: [PATCH 24/25] Make UA requirement for tab match option --- index.html | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/index.html b/index.html index 2615dc3a0..ce19a0cdf 100644 --- a/index.html +++ b/index.html @@ -8712,10 +8712,7 @@
                          Presentational Roles Conflict Resolution

                          For a single-selectable tablist, authors SHOULD hide other tabpanel elements from the user until the user selects the tab associated with that tabpanel. For a multi-selectable tablist, authors SHOULD ensure that the tab for each visible tabpanel has the aria-expanded attribute set to true, and that the tabs associated with the remaining hidden tabpanel elements have their aria-expanded attributes set to false.

                          Authors SHOULD ensure that a selected tab has its aria-selected attribute set to true, that inactive tab elements have their aria-selected attribute set to false, and that the currently selected tab provides a visual indication that it is selected.

                          -

                          - User agents MAY provide an implicit value for aria-selected for each tab in a tablist only if the following conditions are met. - If a user agent provides an implicit value for aria-selected on a tab, the user agent MUST ensure the following conditions are met before providing the implicit value: -

                          +

                          In certain conditions, a user agent MAY provide an implicit value for aria-selected for each tab in a tablist, and if it does, the user agent MUST ensure the following conditions are met before providing an implicit value:

                          • The value of aria-multiselectable on the tablist is false or undefined.
                          • None of the tab elements in the tablist have an explicitly declared value for aria-selected or aria-expanded.
                          • From c51f1486be17adf29d164be548147d860232aa5f Mon Sep 17 00:00:00 2001 From: Matt King Date: Thu, 10 Dec 2020 22:45:15 -0800 Subject: [PATCH 25/25] Make wording of authoring guidance for treeitem match option --- index.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/index.html b/index.html index ce19a0cdf..6216d3bbe 100644 --- a/index.html +++ b/index.html @@ -9924,8 +9924,7 @@
                            Presentational Roles Conflict Resolution

                            Authors MAY indicate selection for treeitem elements using either aria-selected or aria-checked. Some user interfaces indicate selection with aria-selected in single-select trees and with aria-checked in multi-select trees. - Authors SHOULD NOT specify both aria-selected and aria-checked on treeitem elements contained by the same tree. - However, authors MAY use both in the same tree in the extremely rare circumstances where all the following conditions are met: + Authors SHOULD NOT specify both aria-selected and aria-checked on treeitem elements contained by the same tree 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.
Characteristics: