From 71bffe37530e57d304e780080272836f82342549 Mon Sep 17 00:00:00 2001 From: Scott O'Hara Date: Wed, 25 Sep 2024 09:56:25 -0400 Subject: [PATCH 01/11] Update: fix inconsistency around aria-setsize=-1 closes #1759 --- index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index b887e641d..608ccdee3 100644 --- a/index.html +++ b/index.html @@ -12904,10 +12904,10 @@

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

aria-setsize
-

Defines the number of items in the current set of listitems or treeitems. Not required if all elements in the set are present in the DOM. See related aria-posinset.

-

This [=ARIA/property=] is marked on the members of a set, not the container element that collects the members of the set. To orient the user by saying an element is "item X out of Y," the assistive technologies would use X equal to the aria-posinset attribute and Y equal to the aria-setsize attribute.

+

Defines the number of items in the current set of items, such as listitems, treeitems, options, comments, etc. Not required if all elements in the set are present in the DOM. See related aria-posinset.

+

This [=ARIA/property=] is marked on the members of a set, not the container element that collects the members of the set. To orient the user by saying an element is "item X out of Y" or similar, the assistive technologies would use X equal to the aria-posinset attribute and Y equal to the aria-setsize attribute.

If all items up to the current item in a set are present in the document structure, it is not necessary to set this attribute, as the user agent can automatically calculate the position for these items. However, if all previous items in the set are not present in the document structure at a given moment, the author MUST set this attributeto provide an explicit indication of an element's position.

-

When specifying aria-setsize, authors MUST set the value to an integer equal to the number of items in the set. If the total number of items is unknown, authors SHOULD set the value of aria-setsize to -1.

+

When specifying aria-setsize, authors MUST set the value to an integer equal to the number of items in the set. If the total number of items is unknown (indeterminate), authors SHOULD set the value of aria-setsize to -1.

When specifying aria-setsize on a menuitem, menuitemcheckbox, or menuitemradio, authors SHOULD set the value of aria-setsize based on the total number of items in the menu, excluding any separators.

The following example shows items 5 through 8 in a set of 16.

<h2 id="label_fruit"> Available Fruit </h2>

From 990ab2960f01e828e16a851ed676c8d2d6fd01ef Mon Sep 17 00:00:00 2001
From: Scott O'Hara 
Date: Wed, 25 Sep 2024 10:52:13 -0400
Subject: [PATCH 02/11] revise requirements for aria-setsize=0/-1

separates out aria-setsize from aria-posinset and aria-level - as the existing requirement of what to do with a 0 or -1 value made sense for the latter two attributes, but is what is causing the inconsistency for aria-setsize.

add new requirements for handling 0/-1 as an unknown/indeterminate size, and indicating user agents must not calculate a size if these values are used for setsize
---
 core-aam/index.html | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/core-aam/index.html b/core-aam/index.html
index fa74f9282..1e9a84e0a 100644
--- a/core-aam/index.html
+++ b/core-aam/index.html
@@ -9852,9 +9852,12 @@ 

Group Position

aria-level, aria-posinset, and aria-setsize are all 1-based. When the [=ARIA/property=] is not present or is "0", it indicates the - property is not computed or not supported. If any of these properties are specified by the author as either "0" or a negative number, [=user agents=] SHOULD use "1" - instead. + property is not computed or not supported.

+

If the aria-level or aria-posinset properties are specified by the author as either "0" or a negative number, [=user agents=] SHOULD use "1" instead.

+

+ If the aria-setsize property is specified by the author as either "0" or a negative number, the author is indicating the set is an indeterminate size. [=User agents=] MUST NOT calculate the set size of an indeterminate set. +

If aria-level is not provided or inherited for an element of role treeitem or comment Date: Thu, 26 Sep 2024 07:34:29 -0400 Subject: [PATCH 03/11] Update core-aam/index.html Co-authored-by: Melanie Sumner --- core-aam/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-aam/index.html b/core-aam/index.html index 1e9a84e0a..4fe0734ed 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -9853,7 +9853,7 @@

Group Position

>, aria-posinset, and aria-setsize are all 1-based. When the [=ARIA/property=] is not present or is "0", it indicates the property is not computed or not supported.

-

If the aria-level or aria-posinset properties are specified by the author as either "0" or a negative number, [=user agents=] SHOULD use "1" instead. +

If the aria-level or aria-posinset properties are specified by the author as either "0" or a negative number, [=user agents=] SHOULD use "1" instead.

If the aria-setsize property is specified by the author as either "0" or a negative number, the author is indicating the set is an indeterminate size. [=User agents=] MUST NOT calculate the set size of an indeterminate set. From f519e3fac1bd1e18df6896fffdb6efbb655fa750 Mon Sep 17 00:00:00 2001 From: scottaohara Date: Thu, 26 Sep 2024 11:34:53 +0000 Subject: [PATCH 04/11] chore: prettier --- core-aam/index.html | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/core-aam/index.html b/core-aam/index.html index 4fe0734ed..10069877d 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -9852,12 +9852,16 @@

Group Position

aria-level, aria-posinset, and aria-setsize are all 1-based. When the [=ARIA/property=] is not present or is "0", it indicates the - property is not computed or not supported.

-

If the aria-level or aria-posinset properties are specified by the author as either "0" or a negative number, [=user agents=] SHOULD use "1" instead. + property is not computed or not supported. +

+

+ If the aria-level or aria-posinset properties are + specified by the author as either "0" or a negative number, [=user agents=] SHOULD use "1" instead. +

+

+ If the aria-setsize property is specified by the author as either "0" or a negative number, the author is + indicating the set is an indeterminate size. [=User agents=] MUST NOT calculate the set size of an indeterminate set.

-

- If the aria-setsize property is specified by the author as either "0" or a negative number, the author is indicating the set is an indeterminate size. [=User agents=] MUST NOT calculate the set size of an indeterminate set. -

If aria-level is not provided or inherited for an element of role treeitem or comment Date: Fri, 4 Oct 2024 10:40:39 -0400 Subject: [PATCH 05/11] update text per aaron's suggestion --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 608ccdee3..53d158657 100644 --- a/index.html +++ b/index.html @@ -12907,7 +12907,7 @@

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

Defines the number of items in the current set of items, such as listitems, treeitems, options, comments, etc. Not required if all elements in the set are present in the DOM. See related aria-posinset.

This [=ARIA/property=] is marked on the members of a set, not the container element that collects the members of the set. To orient the user by saying an element is "item X out of Y" or similar, the assistive technologies would use X equal to the aria-posinset attribute and Y equal to the aria-setsize attribute.

If all items up to the current item in a set are present in the document structure, it is not necessary to set this attribute, as the user agent can automatically calculate the position for these items. However, if all previous items in the set are not present in the document structure at a given moment, the author MUST set this attributeto provide an explicit indication of an element's position.

-

When specifying aria-setsize, authors MUST set the value to an integer equal to the number of items in the set. If the total number of items is unknown (indeterminate), authors SHOULD set the value of aria-setsize to -1.

+

When specifying aria-setsize, authors MUST set the value to an integer equal to the number of items in the set. If the total number of items is unknown (indeterminate), and the DOM is currently incomplete such that user agents would not be able to compute the correct number of items in a set, authors SHOULD set the value of aria-setsize to -1.

When specifying aria-setsize on a menuitem, menuitemcheckbox, or menuitemradio, authors SHOULD set the value of aria-setsize based on the total number of items in the menu, excluding any separators.

The following example shows items 5 through 8 in a set of 16.

<h2 id="label_fruit"> Available Fruit </h2>

From 08c511330b625d39c901c919fb4f69633a927bb4 Mon Sep 17 00:00:00 2001
From: Scott O'Hara 
Date: Fri, 4 Oct 2024 10:42:23 -0400
Subject: [PATCH 06/11] Update index.html

---
 index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/index.html b/index.html
index 53d158657..8768de72f 100644
--- a/index.html
+++ b/index.html
@@ -12907,7 +12907,7 @@ 

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

Defines the number of items in the current set of items, such as listitems, treeitems, options, comments, etc. Not required if all elements in the set are present in the DOM. See related aria-posinset.

This [=ARIA/property=] is marked on the members of a set, not the container element that collects the members of the set. To orient the user by saying an element is "item X out of Y" or similar, the assistive technologies would use X equal to the aria-posinset attribute and Y equal to the aria-setsize attribute.

If all items up to the current item in a set are present in the document structure, it is not necessary to set this attribute, as the user agent can automatically calculate the position for these items. However, if all previous items in the set are not present in the document structure at a given moment, the author MUST set this attributeto provide an explicit indication of an element's position.

-

When specifying aria-setsize, authors MUST set the value to an integer equal to the number of items in the set. If the total number of items is unknown (indeterminate), and the DOM is currently incomplete such that user agents would not be able to compute the correct number of items in a set, authors SHOULD set the value of aria-setsize to -1.

+

When specifying aria-setsize, authors MUST set the value to an integer equal to the number of items in the set. If the total number of items is unknown (indeterminate), and the DOM is currently incomplete such that user agents would not be able to compute the correct number of items in a set, authors SHOULD set the value of aria-setsize to a negative number (e.g., -1) or 0.

When specifying aria-setsize on a menuitem, menuitemcheckbox, or menuitemradio, authors SHOULD set the value of aria-setsize based on the total number of items in the menu, excluding any separators.

The following example shows items 5 through 8 in a set of 16.

<h2 id="label_fruit"> Available Fruit </h2>

From dbff454c7273faa6f094dca74eba4cf8ce666901 Mon Sep 17 00:00:00 2001
From: Scott O'Hara 
Date: Fri, 4 Oct 2024 14:43:32 -0400
Subject: [PATCH 07/11] further clarification for aria-setsize

add that aria-setsize/posinset should also calculate value as if the attributes were not set, if they were provided the empty string.

clarify that aria-setsize should return indeterminate for any value set that is not a positive whole number
---
 core-aam/index.html | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/core-aam/index.html b/core-aam/index.html
index 10069877d..74c56450b 100644
--- a/core-aam/index.html
+++ b/core-aam/index.html
@@ -9859,8 +9859,7 @@ 

Group Position

specified by the author as either "0" or a negative number, [=user agents=] SHOULD use "1" instead.

- If the aria-setsize property is specified by the author as either "0" or a negative number, the author is - indicating the set is an indeterminate size. [=User agents=] MUST NOT calculate the set size of an indeterminate set. + If the aria-setsize property is specified by the author as any string value other than a positive whole number, the set is an indeterminate size. [=User agents=] MUST NOT calculate the set size of an indeterminate set.

If aria-level is not provided or inherited for an element of role @@ -9869,7 +9868,7 @@

Group Position

following the explicit or computed RELATION_NODE_CHILD_OF relations.

- If aria-posinset and aria-setsize are not provided, + If aria-posinset and aria-setsize are not provided, or are specified as the empty string, user agents MUST compute them as follows:

    From 01601dcada2708993e6fca8714d77c6e210f8c4a Mon Sep 17 00:00:00 2001 From: scottaohara Date: Fri, 4 Oct 2024 18:43:58 +0000 Subject: [PATCH 08/11] chore: prettier --- core-aam/index.html | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core-aam/index.html b/core-aam/index.html index 74c56450b..3d2b895d7 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -9859,7 +9859,8 @@

    Group Position

    specified by the author as either "0" or a negative number, [=user agents=] SHOULD use "1" instead.

    - If the aria-setsize property is specified by the author as any string value other than a positive whole number, the set is an indeterminate size. [=User agents=] MUST NOT calculate the set size of an indeterminate set. + If the aria-setsize property is specified by the author as any string value other than a positive whole number, the set + is an indeterminate size. [=User agents=] MUST NOT calculate the set size of an indeterminate set.

    If aria-level is not provided or inherited for an element of role @@ -9868,8 +9869,8 @@

    Group Position

    following the explicit or computed RELATION_NODE_CHILD_OF relations.

    - If aria-posinset and aria-setsize are not provided, or are specified as the empty string, - user agents MUST compute them as follows: + If aria-posinset and aria-setsize are not provided, + or are specified as the empty string, user agents MUST compute them as follows:

    • From b963ce2b4578229d74e7b67e1714f032a0e3b27c Mon Sep 17 00:00:00 2001 From: Scott O'Hara Date: Fri, 4 Oct 2024 14:45:34 -0400 Subject: [PATCH 09/11] Update index.html simplifying author's should back to just -1 for indeterminate. core aam / User agents will be where other values are accounted for. --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 8768de72f..ed7d1dcd4 100644 --- a/index.html +++ b/index.html @@ -12907,7 +12907,7 @@

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

      Defines the number of items in the current set of items, such as listitems, treeitems, options, comments, etc. Not required if all elements in the set are present in the DOM. See related aria-posinset.

      This [=ARIA/property=] is marked on the members of a set, not the container element that collects the members of the set. To orient the user by saying an element is "item X out of Y" or similar, the assistive technologies would use X equal to the aria-posinset attribute and Y equal to the aria-setsize attribute.

      If all items up to the current item in a set are present in the document structure, it is not necessary to set this attribute, as the user agent can automatically calculate the position for these items. However, if all previous items in the set are not present in the document structure at a given moment, the author MUST set this attributeto provide an explicit indication of an element's position.

      -

      When specifying aria-setsize, authors MUST set the value to an integer equal to the number of items in the set. If the total number of items is unknown (indeterminate), and the DOM is currently incomplete such that user agents would not be able to compute the correct number of items in a set, authors SHOULD set the value of aria-setsize to a negative number (e.g., -1) or 0.

      +

      When specifying aria-setsize, authors MUST set the value to an integer equal to the number of items in the set. If the total number of items is unknown (indeterminate), and the DOM is currently incomplete such that user agents would not be able to compute the correct number of items in a set, authors SHOULD set the value of aria-setsize to a -1.

      When specifying aria-setsize on a menuitem, menuitemcheckbox, or menuitemradio, authors SHOULD set the value of aria-setsize based on the total number of items in the menu, excluding any separators.

      The following example shows items 5 through 8 in a set of 16.

      <h2 id="label_fruit"> Available Fruit </h2>
      
      From fd3df3d683049cbd66e1fd35642d81754f93d6d0 Mon Sep 17 00:00:00 2001
      From: Scott O'Hara 
      Date: Wed, 9 Oct 2024 11:09:15 -0400
      Subject: [PATCH 10/11] Update core-aam/index.html
      
      ---
       core-aam/index.html | 2 +-
       1 file changed, 1 insertion(+), 1 deletion(-)
      
      diff --git a/core-aam/index.html b/core-aam/index.html
      index 3d2b895d7..d73e3ea79 100644
      --- a/core-aam/index.html
      +++ b/core-aam/index.html
      @@ -9859,7 +9859,7 @@ 

      Group Position

      specified by the author as either "0" or a negative number, [=user agents=] SHOULD use "1" instead.

      - If the aria-setsize property is specified by the author as any string value other than a positive whole number, the set + If the aria-setsize property is specified by the author as any non-empty string value other than a positive whole number, the set is an indeterminate size. [=User agents=] MUST NOT calculate the set size of an indeterminate set.

      From 32e060860fb15b29dee803667b198e095af35a67 Mon Sep 17 00:00:00 2001 From: scottaohara Date: Wed, 9 Oct 2024 15:09:40 +0000 Subject: [PATCH 11/11] chore: prettier --- core-aam/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core-aam/index.html b/core-aam/index.html index d73e3ea79..1090cfcc1 100644 --- a/core-aam/index.html +++ b/core-aam/index.html @@ -9859,8 +9859,8 @@

      Group Position

      specified by the author as either "0" or a negative number, [=user agents=] SHOULD use "1" instead.

      - If the aria-setsize property is specified by the author as any non-empty string value other than a positive whole number, the set - is an indeterminate size. [=User agents=] MUST NOT calculate the set size of an indeterminate set. + If the aria-setsize property is specified by the author as any non-empty string value other than a positive whole + number, the set is an indeterminate size. [=User agents=] MUST NOT calculate the set size of an indeterminate set.

      If aria-level is not provided or inherited for an element of role