From dd9da4751a7e05427a48e6754f609d1da0ab722a Mon Sep 17 00:00:00 2001 From: Scott O'Hara Date: Thu, 14 Dec 2023 11:30:12 -0500 Subject: [PATCH 1/5] Change aria-hidden=false to synonym of undefined resolves #1256 This PR modifies the previous note about aria-hidden=false to instead indicate that as of ARIA 1.3 is serves as a synonym for the 'undefined' value. It also includes a minor editorial change to remove the mention of 'screen readers' from the last paragraph of the normative text. It seemed to state, especially when the sentence ends with referring to 'assistive technologies' in general. See [last comment](https://github.com/w3c/aria/issues/1256#issuecomment-1799271506) Chrome issue: https://bugs.chromium.org/p/chromium/issues/detail?id=1500299 Question: assuming this PR is approved, would we also want to add the following sentence to the note? >In future versions of ARIA, the undefined value will be deprecated in favor of the false value. --- index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index 0ae1b664b..83216a586 100644 --- a/index.html +++ b/index.html @@ -11853,9 +11853,9 @@

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

Indicates whether the element is exposed to an accessibility API. See related aria-disabled.

User agents determine an element's [=element/hidden=] status based on whether it is rendered, and the rendering is usually controlled by CSS. For example, an element whose display property is set to none is not rendered. An element is considered [=element/hidden=] if it, or any of its ancestors are not rendered or have their aria-hidden attribute value set to true.

-

Authors MAY, with caution, use aria-hidden to hide visibly rendered content from assistive technologies only if the act of hiding this content is intended to improve the experience for users of assistive technologies by removing redundant or extraneous content. Authors using aria-hidden to hide visible content from screen readers MUST ensure that identical or equivalent meaning and functionality is exposed to assistive technologies.

+

Authors MAY, with caution, use aria-hidden to hide visibly rendered content from assistive technologies only if the act of hiding this content is intended to improve the experience for users of assistive technologies by removing redundant or extraneous content. Authors using aria-hidden to hide visible content MUST ensure that identical or equivalent meaning and functionality is exposed to assistive technologies.

Authors are advised to use extreme caution and consider a wide range of disabilities when hiding visibly rendered content from assistive technologies. For example, a sighted, dexterity-impaired individual might use voice-controlled assistive technologies to access a visual interface. If an author hides visible link text "Go to checkout" and exposes similar, yet non-identical link text "Check out now" to the accessibility API, the user might be unable to access the interface they perceive using voice control. Similar problems can also arise for screen reader users. For example, a sighted telephone support technician might attempt to have the blind screen reader user click the "Go to checkout" link, which they might be unable to find using a type-ahead item search ("Go to…").

-

At the time of this writing, aria-hidden="false" is known to work inconsistently in browsers. As future implementations improve, use caution and test thoroughly before relying on this approach.

+

As of ARIA 1.3, due to inconsistent support in browsers, and the pervasiveness of user interfaces that rely on assuming aria-hidden="false" does not expose hidden content to the accessibility tree, the false value is now synonymous with undefined.

@@ -11895,7 +11895,7 @@

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

- + From 4a2d620865d7e159ba9435a8e8c9aea1ac0d9b27 Mon Sep 17 00:00:00 2001 From: Scott O'Hara Date: Fri, 15 Dec 2023 12:57:52 -0500 Subject: [PATCH 2/5] Update index.html --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 83216a586..3010c8775 100644 --- a/index.html +++ b/index.html @@ -11855,7 +11855,7 @@

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

User agents determine an element's [=element/hidden=] status based on whether it is rendered, and the rendering is usually controlled by CSS. For example, an element whose display property is set to none is not rendered. An element is considered [=element/hidden=] if it, or any of its ancestors are not rendered or have their aria-hidden attribute value set to true.

Authors MAY, with caution, use aria-hidden to hide visibly rendered content from assistive technologies only if the act of hiding this content is intended to improve the experience for users of assistive technologies by removing redundant or extraneous content. Authors using aria-hidden to hide visible content MUST ensure that identical or equivalent meaning and functionality is exposed to assistive technologies.

Authors are advised to use extreme caution and consider a wide range of disabilities when hiding visibly rendered content from assistive technologies. For example, a sighted, dexterity-impaired individual might use voice-controlled assistive technologies to access a visual interface. If an author hides visible link text "Go to checkout" and exposes similar, yet non-identical link text "Check out now" to the accessibility API, the user might be unable to access the interface they perceive using voice control. Similar problems can also arise for screen reader users. For example, a sighted telephone support technician might attempt to have the blind screen reader user click the "Go to checkout" link, which they might be unable to find using a type-ahead item search ("Go to…").

-

As of ARIA 1.3, due to inconsistent support in browsers, and the pervasiveness of user interfaces that rely on assuming aria-hidden="false" does not expose hidden content to the accessibility tree, the false value is now synonymous with undefined.

+

As of ARIA 1.3, aria-hidden="false" is now synonymous with aria=hidden="undefined". This change was made due to inconsistent browser support for false, and the pervasiveness of user interfaces that rely on assuming aria-hidden="false" would not expose hidden content to the accessibility tree, though that was not the value's original intent.

Characteristics:
falseThe element is exposed to the accessibility API as if it was rendered.The element's [=element/hidden=] state is determined by the user agent based on whether it is rendered. Synonym of undefined.
true
From 557d5b7a47aa9aad13266ff5f094230eb7155341 Mon Sep 17 00:00:00 2001 From: Scott O'Hara Date: Mon, 8 Jan 2024 13:39:32 -0500 Subject: [PATCH 3/5] Update index.html Co-authored-by: James Craig --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 3010c8775..551c32533 100644 --- a/index.html +++ b/index.html @@ -11851,7 +11851,7 @@

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

aria-hidden
-

Indicates whether the element is exposed to an accessibility API. See related aria-disabled.

+

Indicates, when set to true, that an element and its entire subtree are hidden from assistive technology, regardless of whether it's visibly rendered. See related aria-disabled.

User agents determine an element's [=element/hidden=] status based on whether it is rendered, and the rendering is usually controlled by CSS. For example, an element whose display property is set to none is not rendered. An element is considered [=element/hidden=] if it, or any of its ancestors are not rendered or have their aria-hidden attribute value set to true.

Authors MAY, with caution, use aria-hidden to hide visibly rendered content from assistive technologies only if the act of hiding this content is intended to improve the experience for users of assistive technologies by removing redundant or extraneous content. Authors using aria-hidden to hide visible content MUST ensure that identical or equivalent meaning and functionality is exposed to assistive technologies.

Authors are advised to use extreme caution and consider a wide range of disabilities when hiding visibly rendered content from assistive technologies. For example, a sighted, dexterity-impaired individual might use voice-controlled assistive technologies to access a visual interface. If an author hides visible link text "Go to checkout" and exposes similar, yet non-identical link text "Check out now" to the accessibility API, the user might be unable to access the interface they perceive using voice control. Similar problems can also arise for screen reader users. For example, a sighted telephone support technician might attempt to have the blind screen reader user click the "Go to checkout" link, which they might be unable to find using a type-ahead item search ("Go to…").

From 364c15cfb7a4f35d25076e23059cc91adf17bfc8 Mon Sep 17 00:00:00 2001 From: Scott O'Hara Date: Mon, 8 Jan 2024 13:46:18 -0500 Subject: [PATCH 4/5] Update index.html --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 551c32533..f693d55fa 100644 --- a/index.html +++ b/index.html @@ -11851,7 +11851,7 @@

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

aria-hidden
-

Indicates, when set to true, that an element and its entire subtree are hidden from assistive technology, regardless of whether it's visibly rendered. See related aria-disabled.

+

Indicates, when set to true, that an element and its entire subtree are hidden from assistive technology, regardless of whether it is visibly rendered.

User agents determine an element's [=element/hidden=] status based on whether it is rendered, and the rendering is usually controlled by CSS. For example, an element whose display property is set to none is not rendered. An element is considered [=element/hidden=] if it, or any of its ancestors are not rendered or have their aria-hidden attribute value set to true.

Authors MAY, with caution, use aria-hidden to hide visibly rendered content from assistive technologies only if the act of hiding this content is intended to improve the experience for users of assistive technologies by removing redundant or extraneous content. Authors using aria-hidden to hide visible content MUST ensure that identical or equivalent meaning and functionality is exposed to assistive technologies.

Authors are advised to use extreme caution and consider a wide range of disabilities when hiding visibly rendered content from assistive technologies. For example, a sighted, dexterity-impaired individual might use voice-controlled assistive technologies to access a visual interface. If an author hides visible link text "Go to checkout" and exposes similar, yet non-identical link text "Check out now" to the accessibility API, the user might be unable to access the interface they perceive using voice control. Similar problems can also arise for screen reader users. For example, a sighted telephone support technician might attempt to have the blind screen reader user click the "Go to checkout" link, which they might be unable to find using a type-ahead item search ("Go to…").

From 6b47058d6c3886a4331302435789b8ffb9821768 Mon Sep 17 00:00:00 2001 From: Scott O'Hara Date: Fri, 22 Mar 2024 14:20:57 -0400 Subject: [PATCH 5/5] Update index.html --- index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index f693d55fa..048888f86 100644 --- a/index.html +++ b/index.html @@ -11855,7 +11855,8 @@

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

User agents determine an element's [=element/hidden=] status based on whether it is rendered, and the rendering is usually controlled by CSS. For example, an element whose display property is set to none is not rendered. An element is considered [=element/hidden=] if it, or any of its ancestors are not rendered or have their aria-hidden attribute value set to true.

Authors MAY, with caution, use aria-hidden to hide visibly rendered content from assistive technologies only if the act of hiding this content is intended to improve the experience for users of assistive technologies by removing redundant or extraneous content. Authors using aria-hidden to hide visible content MUST ensure that identical or equivalent meaning and functionality is exposed to assistive technologies.

Authors are advised to use extreme caution and consider a wide range of disabilities when hiding visibly rendered content from assistive technologies. For example, a sighted, dexterity-impaired individual might use voice-controlled assistive technologies to access a visual interface. If an author hides visible link text "Go to checkout" and exposes similar, yet non-identical link text "Check out now" to the accessibility API, the user might be unable to access the interface they perceive using voice control. Similar problems can also arise for screen reader users. For example, a sighted telephone support technician might attempt to have the blind screen reader user click the "Go to checkout" link, which they might be unable to find using a type-ahead item search ("Go to…").

-

As of ARIA 1.3, aria-hidden="false" is now synonymous with aria=hidden="undefined". This change was made due to inconsistent browser support for false, and the pervasiveness of user interfaces that rely on assuming aria-hidden="false" would not expose hidden content to the accessibility tree, though that was not the value's original intent.

+

As of ARIA 1.3, aria-hidden="false" is now synonymous with aria=hidden="undefined".

+

The original intent for aria-hidden="false" was to allow user agents to expose content that was otherwise hidden from the accessibility tree. However, due to ambiguity in the specification and inconsistent browser support for the false value, the original intent is no longer supported.

Characteristics:
Characteristics: