From d1f92ac49c98514fc6c0d6c5e668572ee951fd64 Mon Sep 17 00:00:00 2001 From: Ariella Gilmore Date: Wed, 24 May 2023 13:50:09 -0700 Subject: [PATCH 01/12] fix/1939 swap presentation/none roles --- index.html | 282 ++++++++++++++++++++++++++--------------------------- 1 file changed, 141 insertions(+), 141 deletions(-) diff --git a/index.html b/index.html index ead4b3c60..1425618a8 100644 --- a/index.html +++ b/index.html @@ -5964,10 +5964,141 @@

Plain HTML or Polyfill DOM Result of the MathML Quadratic Formula

An element whose implicit native role semantics will not be mapped to the accessibility API. See synonym presentation.

- Note regarding the ARIA 1.1 none role. -

In ARIA 1.1, the working group introduced none as a synonym to the presentation role, due to author confusion surrounding the intended meaning of the word "presentation" or "presentational." Many individuals erroneously consider role="presentation" to be synonymous with aria-hidden="true", and we believe role="none" conveys the actual meaning more unambiguously.

+ Note regarding the ARIA 1.1 none role. +

In ARIA 1.1, the working group introduced none as a synonym to the presentation role, due to author confusion surrounding the intended meaning of the word "presentation" or "presentational." Many individuals erroneously consider role="presentation" to be synonymous with aria-hidden="true", and we believe role="none" conveys the actual meaning more unambiguously.

+

The intended use is when an element is used to change the look of the page but does not have all the functional, interactive, or structural relevance implied by the element type, or can be used to provide for an accessible fallback in older browsers that do not support WAI-ARIA.

+

Example use cases:

+ +

For any element with a role of none/presentation and which is not focusable, the user agent MUST NOT expose the implicit native semantics of the element (the role and its states and properties) to accessibility APIs. However, the user agent MUST expose content and descendant elements that do not have an explicit or inherited role of none/presentation. Thus, the none/presentation role causes a given element to be treated as having no role or to be removed from the accessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.

+

For example, the following two markup snippets will be exposed similarly to an accessibility API.

+
<!-- 1. role="none" negates the implicit 'heading' role semantics but does not affect the contents, including the nested hyperlink. -->
+<h1 role="none"> Sample Content <a href="...">let's go!</a> </h1>
+
+<!-- 2. A span has an implicit 'generic' role and no other attributes important to accessibility, so only its content is exposed, including the hyperlink. -->
+<span> Sample Content <a href="...">let's go!</a> </span>
+
+

In HTML, the <img> element is treated as a single entity regardless of the type of image file. Consequently, using role="none" or role="presentation" on an HTML img is equivalent to using aria-hidden="true". In order to make the image contents accessible, authors can embed the object using an <object> or <iframe> element, or use inline SVG code, and follow the accessibility guidelines for the image content.

+

Authors SHOULD NOT provide meaningful alternative text (for example, use alt="" in HTML) when the none/presentation role is applied to an image.

+

In the following code sample, the containing img and is appropriately labeled by the caption paragraph. In this example the img element can be marked as none/presentation because the role and the text alternatives are provided by the containing element.

+
<div role="img" aria-labelledby="caption">
+  <img src="example.png" role="none" alt="">
+  <p id="caption">A visible text caption labeling the image.</p>
+</div>
+

In the following code sample, because the anchor (HTML a element) is acting as the treeitem, the list item (HTML li element) is assigned an explicit WAI-ARIA role of none/presentation to override the user agent's implicit native semantics for list items.

+
+<ul role="tree">
+  <li role="none">
+	<a role="treeitem" aria-expanded="true">An expanded tree node</a>
+  </li>
+  …
+</ul>
+
Presentational Role Inheritance
+

The none/presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibility API role for the element. Some elements are only complete when additional descendant elements are provided. For example, in HTML, table elements (matching the table role) require tr descendants (which have an implicit row role), which in turn require th or td children (the columnheader or rowheader and cell roles, respectively). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in WAI-ARIA as Allowed Accessibility Child Roles.

+

When an explicit or inherited role of none/presentation is applied to an element with the implicit semantic of a WAI-ARIA role that has Allowed Accessibility Child Roles, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none/presentation to any owned elements that do not have an explicit role defined. Also, when an explicit or inherited role of none/presentation is applied to a host language element which has specifically allowed children as defined by the host language specification, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none/presentation to any specifically allowed children that do not have an explicit role defined.

+

For any element with an explicit or inherited role of none/presentation and which is not focusable, user agents MUST ignore role-specific WAI-ARIA states and properties for that element. For example, in HTML, a ul or ol element with a role of none/presentation will have the implicit native semantics of its li elements removed because the list role to which the ul or ol corresponds has an Allowed Accessibility Child Role of listitem. Likewise, the implicit native semantics of an HTML table element's thead/tbody/tfoot/tr/th/td descendants will also be removed, because the HTML specification indicates that these are required structural descendants of the table element.

+

Only the implicit native semantics of elements that correspond to WAI-ARIA Allowed Accessibility Child Roles are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role of none/presentation specified.

+

For example, according to an accessibility API, the following markup elements would appear to have identical role semantics (no roles) and identical content.

+
<!-- 1. [role="none"] negates the implicit 'list' and 'listitem' role semantics but does not affect the contents. -->
+<ul role="none">
+  <li> Sample Content </li>
+  <li> More Sample Content </li>
+</ul>
+
+<!-- 2. There is no implicit role for "foo", so only the contents are exposed. -->
+<foo>
+  <foo> Sample Content </foo>
+  <foo> More Sample Content </foo>
+</foo>
+

There are other WAI-ARIA roles with specific allowed children for which this situation is applicable (e.g., feeds and listboxes), but tables and lists are the most common real-world cases in which the none/presentation inheritance is likely to apply.

+

For any element with an explicit or inherited role of none/presentation, user agents MUST apply an inherited role of none/presentation to all host-language-specific labeling elements for the presentational element. For example, a table element with a role of none/presentation will have the implicit native semantics of its caption element removed, because the caption is merely a label for the presentational table.

+

Information about resolving conflicts in the none/presentation role has been moved to Handling Author Errors

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Characteristics:
CharacteristicValue
Is Abstract: 
Superclass Role:structure
Subclass Roles:Placeholder
Base Concept: 
Related Concepts:
Required Accessibility Parent Roles: 
Allowed Accessibility Child Roles: 
Required States and Properties: 
Supported States and Properties: 
Inherited States and Properties:Placeholder
Prohibited States and Properties: +
    +
  • aria-label
  • +
  • aria-labelledby
  • +
+
Name From:prohibited
Accessible Name Required: 
Inherits Name Required: 
Children Presentational: 
Inherits Presentational: 
note @@ -6380,141 +6511,10 @@

Plain HTML or Polyfill DOM Result of the MathML Quadratic Formula

An element whose implicit native role semantics will not be mapped to the accessibility API. See synonym none.

- Note regarding the ARIA 1.1 none role. -

In ARIA 1.1, the working group introduced none as a synonym to the presentation role, due to author confusion surrounding the intended meaning of the word "presentation" or "presentational." Many individuals erroneously consider role="presentation" to be synonymous with aria-hidden="true", and we believe role="none" conveys the actual meaning more unambiguously.

+ Note regarding the ARIA 1.1 none role. +

In ARIA 1.1, the working group introduced none as a synonym to the presentation role, due to author confusion surrounding the intended meaning of the word "presentation" or "presentational." Many individuals erroneously consider role="presentation" to be synonymous with aria-hidden="true", and we believe role="none" conveys the actual meaning more unambiguously.

-

The intended use is when an element is used to change the look of the page but does not have all the functional, interactive, or structural relevance implied by the element type, or can be used to provide for an accessible fallback in older browsers that do not support WAI-ARIA.

-

Example use cases:

-
    -
  • An element whose content is completely presentational (like a spacer image, decorative graphic, or clearing element);
  • -
  • An image that is in a container with the img role and where the full text alternative is available and is marked up with aria-labelledby and (if needed) aria-describedby;
  • -
  • An element used as an additional markup "hook" for CSS; or
  • -
  • A layout table and/or any of its associated rows, cells, etc.
  • -
-

For any element with a role of presentation and which is not focusable, the user agent MUST NOT expose the implicit native semantics of the element (the role and its states and properties) to accessibility APIs. However, the user agent MUST expose content and descendant elements that do not have an explicit or inherited role of presentation. Thus, the presentation role causes a given element to be treated as having no role or to be removed from the accessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.

-

For example, the following two markup snippets will be exposed similarly to an accessibility API.

-
<!-- 1. role="presentation" negates the implicit 'heading' role semantics but does not affect the contents, including the nested hyperlink. -->
-<h1 role="presentation"> Sample Content <a href="...">let's go!</a> </h1>
-
-<!-- 2. A span has an implicit 'generic' role and no other attributes important to accessibility, so only its content is exposed, including the hyperlink. -->
-<span> Sample Content <a href="...">let's go!</a> </span>
-
-

In HTML, the <img> element is treated as a single entity regardless of the type of image file. Consequently, using role="presentation" or role="none" on an HTML img is equivalent to using aria-hidden="true". In order to make the image contents accessible, authors can embed the object using an <object> or <iframe> element, or use inline SVG code, and follow the accessibility guidelines for the image content.

-

Authors SHOULD NOT provide meaningful alternative text (for example, use alt="" in HTML) when the presentation role is applied to an image.

-

In the following code sample, the containing img and is appropriately labeled by the caption paragraph. In this example the img element can be marked as presentation because the role and the text alternatives are provided by the containing element.

-
<div role="img" aria-labelledby="caption">
-  <img src="example.png" role="presentation" alt="">
-  <p id="caption">A visible text caption labeling the image.</p>
-</div>
-

In the following code sample, because the anchor (HTML a element) is acting as the treeitem, the list item (HTML li element) is assigned an explicit WAI-ARIA role of presentation to override the user agent's implicit native semantics for list items.

-
-<ul role="tree">
-  <li role="presentation">
-	<a role="treeitem" aria-expanded="true">An expanded tree node</a>
-  </li>
-  …
-</ul>
-
Presentational Role Inheritance
-

The presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibility API role for the element. Some elements are only complete when additional descendant elements are provided. For example, in HTML, table elements (matching the table role) require tr descendants (which have an implicit row role), which in turn require th or td children (the columnheader or rowheader and cell roles, respectively). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in WAI-ARIA as Allowed Accessibility Child Roles.

-

When an explicit or inherited role of presentation is applied to an element with the implicit semantic of a WAI-ARIA role that has Allowed Accessibility Child Roles, in addition to the element with the explicit role of presentation, the user agent MUST apply an inherited role of presentation to any owned elements that do not have an explicit role defined. Also, when an explicit or inherited role of presentation is applied to a host language element which has specifically allowed children as defined by the host language specification, in addition to the element with the explicit role of presentation, the user agent MUST apply an inherited role of presentation to any specifically allowed children that do not have an explicit role defined.

-

For any element with an explicit or inherited role of presentation and which is not focusable, user agents MUST ignore role-specific WAI-ARIA states and properties for that element. For example, in HTML, a ul or ol element with a role of presentation will have the implicit native semantics of its li elements removed because the list role to which the ul or ol corresponds has an Allowed Accessibility Child Role of listitem. Likewise, the implicit native semantics of an HTML table element's thead/tbody/tfoot/tr/th/td descendants will also be removed, because the HTML specification indicates that these are required structural descendants of the table element.

-

Only the implicit native semantics of elements that correspond to WAI-ARIA Allowed Accessibility Child Roles are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role of presentation specified.

-

For example, according to an accessibility API, the following markup elements would appear to have identical role semantics (no roles) and identical content.

-
<!-- 1. [role="presentation"] negates the implicit 'list' and 'listitem' role semantics but does not affect the contents. -->
-<ul role="presentation">
-  <li> Sample Content </li>
-  <li> More Sample Content </li>
-</ul>
-
-<!-- 2. There is no implicit role for "foo", so only the contents are exposed. -->
-<foo>
-  <foo> Sample Content </foo>
-  <foo> More Sample Content </foo>
-</foo>
-

There are other WAI-ARIA roles with specific allowed children for which this situation is applicable (e.g., feeds and listboxes), but tables and lists are the most common real-world cases in which the presentation inheritance is likely to apply.

-

For any element with an explicit or inherited role of presentation, user agents MUST apply an inherited role of presentation to all host-language-specific labeling elements for the presentational element. For example, a table element with a role of presentation will have the implicit native semantics of its caption element removed, because the caption is merely a label for the presentational table.

-

Information about resolving conflicts in the presentation role has been moved to Handling Author Errors

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Characteristics:
CharacteristicValue
Is Abstract: 
Superclass Role:structure
Subclass Roles:Placeholder
Base Concept: 
Related Concepts:
Required Accessibility Parent Roles: 
Allowed Accessibility Child Roles: 
Required States and Properties: 
Supported States and Properties: 
Inherited States and Properties:Placeholder
Prohibited States and Properties: -
    -
  • aria-label
  • -
  • aria-labelledby
  • -
-
Name From:prohibited
Accessible Name Required: 
Inherits Name Required: 
Children Presentational: 
Inherits Presentational: 
progressbar @@ -13690,16 +13690,16 @@

Presentational Roles Conflict Resolution

There are a number of ways presentational role conflicts are resolved.

User agents MUST NOT expose [=elements=] having explicit or inherited presentational role in the accessibility tree, with these exceptions:

For example, aria-describedby is a global attribute and would always be applied; aria-level is not a global attribute and would therefore only apply if the element was not in a presentational state.

-<!-- 1. [role="presentation"] is ignored due to the global aria-describedby property. -->
-<h1 role="presentation" aria-describedby="comment-1"> Sample Content </h1>
-<!-- 2. [role="presentation"] negates both the implicit 'heading' and the non-global aria-level. -->
-<h1 role="presentation" aria-level="2"> Sample Content </h1>
+<!-- 1. [role="none"] is ignored due to the global aria-describedby property. -->
+<h1 role="none" aria-describedby="comment-1"> Sample Content </h1>
+<!-- 2. [role="none"] negates both the implicit 'heading' and the non-global aria-level. -->
+<h1 role="none" aria-level="2"> Sample Content </h1>
 		
From 28096095cd63b933bedc8d9acaae20f44f0f9767 Mon Sep 17 00:00:00 2001 From: Ariella Gilmore Date: Thu, 25 May 2023 14:37:11 -0700 Subject: [PATCH 02/12] 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 1425618a8..2d19cac05 100644 --- a/index.html +++ b/index.html @@ -5975,7 +5975,7 @@

Plain HTML or Polyfill DOM Result of the MathML Quadratic Formula

  • An element used as an additional markup "hook" for CSS; or
  • A layout table and/or any of its associated rows, cells, etc.
  • -

    For any element with a role of none/presentation and which is not focusable, the user agent MUST NOT expose the implicit native semantics of the element (the role and its states and properties) to accessibility APIs. However, the user agent MUST expose content and descendant elements that do not have an explicit or inherited role of none/presentation. Thus, the none/presentation role causes a given element to be treated as having no role or to be removed from the accessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.

    +

    For any element with a role of none/presentation and which is not focusable, the user agent MUST NOT expose the implicit native semantics of the element (the role and its states and properties) to accessibility APIs. However, the user agent MUST expose content and descendant elements that do not have an explicit or inherited role of none/presentation. Thus, the none/presentation role causes a given element to be treated as having no role or to be removed from the accessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.

    For example, the following two markup snippets will be exposed similarly to an accessibility API.

    <!-- 1. role="none" negates the implicit 'heading' role semantics but does not affect the contents, including the nested hyperlink. -->
     <h1 role="none"> Sample Content <a href="...">let's go!</a> </h1>
    
    From 3d4accaf0c0df68f0e5e9c1fc8e81d340dcd9a35 Mon Sep 17 00:00:00 2001
    From: Ariella Gilmore 
    Date: Thu, 25 May 2023 14:37:21 -0700
    Subject: [PATCH 03/12] 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 2d19cac05..95d2bf21f 100644
    --- a/index.html
    +++ b/index.html
    @@ -5985,7 +5985,7 @@ 

    Plain HTML or Polyfill DOM Result of the MathML Quadratic Formula

    In HTML, the <img> element is treated as a single entity regardless of the type of image file. Consequently, using role="none" or role="presentation" on an HTML img is equivalent to using aria-hidden="true". In order to make the image contents accessible, authors can embed the object using an <object> or <iframe> element, or use inline SVG code, and follow the accessibility guidelines for the image content.

    Authors SHOULD NOT provide meaningful alternative text (for example, use alt="" in HTML) when the none/presentation role is applied to an image.

    -

    In the following code sample, the containing img and is appropriately labeled by the caption paragraph. In this example the img element can be marked as none/presentation because the role and the text alternatives are provided by the containing element.

    +

    In the following code sample, the containing img and is appropriately labeled by the caption paragraph. In this example the img element can be marked as none/presentation because the role and the text alternatives are provided by the containing element.

    <div role="img" aria-labelledby="caption">
       <img src="example.png" role="none" alt="">
       <p id="caption">A visible text caption labeling the image.</p>
    
    From 9ee5862c1cd5335f022b57da7361f3c501947cbe Mon Sep 17 00:00:00 2001
    From: Ariella Gilmore 
    Date: Thu, 25 May 2023 14:37:36 -0700
    Subject: [PATCH 04/12] 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 95d2bf21f..734825cc6 100644
    --- a/index.html
    +++ b/index.html
    @@ -5990,7 +5990,7 @@ 

    Plain HTML or Polyfill DOM Result of the MathML Quadratic Formula

    <img src="example.png" role="none" alt=""> <p id="caption">A visible text caption labeling the image.</p> </div>
    -

    In the following code sample, because the anchor (HTML a element) is acting as the treeitem, the list item (HTML li element) is assigned an explicit WAI-ARIA role of none/presentation to override the user agent's implicit native semantics for list items.

    +

    In the following code sample, because the anchor (HTML a element) is acting as the treeitem, the list item (HTML li element) is assigned an explicit WAI-ARIA role of none/presentation to override the user agent's implicit native semantics for list items.

     <ul role="tree">
       <li role="none">
    
    From bd3894df48e78ab7bd99ddf656f982229e0ff403 Mon Sep 17 00:00:00 2001
    From: Ariella Gilmore 
    Date: Thu, 25 May 2023 14:37:47 -0700
    Subject: [PATCH 05/12] 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 734825cc6..db5cf136f 100644
    --- a/index.html
    +++ b/index.html
    @@ -5999,7 +5999,7 @@ 

    Plain HTML or Polyfill DOM Result of the MathML Quadratic Formula

    … </ul>
    Presentational Role Inheritance
    -

    The none/presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibility API role for the element. Some elements are only complete when additional descendant elements are provided. For example, in HTML, table elements (matching the table role) require tr descendants (which have an implicit row role), which in turn require th or td children (the columnheader or rowheader and cell roles, respectively). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in WAI-ARIA as Allowed Accessibility Child Roles.

    +

    The none/presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibility API role for the element. Some elements are only complete when additional descendant elements are provided. For example, in HTML, table elements (matching the table role) require tr descendants (which have an implicit row role), which in turn require th or td children (the columnheader or rowheader and cell roles, respectively). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in WAI-ARIA as Allowed Accessibility Child Roles.

    When an explicit or inherited role of none/presentation is applied to an element with the implicit semantic of a WAI-ARIA role that has Allowed Accessibility Child Roles, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none/presentation to any owned elements that do not have an explicit role defined. Also, when an explicit or inherited role of none/presentation is applied to a host language element which has specifically allowed children as defined by the host language specification, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none/presentation to any specifically allowed children that do not have an explicit role defined.

    For any element with an explicit or inherited role of none/presentation and which is not focusable, user agents MUST ignore role-specific WAI-ARIA states and properties for that element. For example, in HTML, a ul or ol element with a role of none/presentation will have the implicit native semantics of its li elements removed because the list role to which the ul or ol corresponds has an Allowed Accessibility Child Role of listitem. Likewise, the implicit native semantics of an HTML table element's thead/tbody/tfoot/tr/th/td descendants will also be removed, because the HTML specification indicates that these are required structural descendants of the table element.

    Only the implicit native semantics of elements that correspond to WAI-ARIA Allowed Accessibility Child Roles are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role of none/presentation specified.

    From 6189b7ab93f64275f9080161c72b5d659aef43e4 Mon Sep 17 00:00:00 2001 From: Ariella Gilmore Date: Thu, 25 May 2023 14:38:07 -0700 Subject: [PATCH 06/12] 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 db5cf136f..3d3fcfda8 100644 --- a/index.html +++ b/index.html @@ -6000,7 +6000,7 @@

    Plain HTML or Polyfill DOM Result of the MathML Quadratic Formula

    </ul>
    Presentational Role Inheritance

    The none/presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibility API role for the element. Some elements are only complete when additional descendant elements are provided. For example, in HTML, table elements (matching the table role) require tr descendants (which have an implicit row role), which in turn require th or td children (the columnheader or rowheader and cell roles, respectively). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in WAI-ARIA as Allowed Accessibility Child Roles.

    -

    When an explicit or inherited role of none/presentation is applied to an element with the implicit semantic of a WAI-ARIA role that has Allowed Accessibility Child Roles, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none/presentation to any owned elements that do not have an explicit role defined. Also, when an explicit or inherited role of none/presentation is applied to a host language element which has specifically allowed children as defined by the host language specification, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none/presentation to any specifically allowed children that do not have an explicit role defined.

    +

    When an explicit or inherited role of none/presentation is applied to an element with the implicit semantic of a WAI-ARIA role that has Allowed Accessibility Child Roles, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none to any owned elements that do not have an explicit role defined. Also, when an explicit or inherited role of none/presentation is applied to a host language element which has specifically allowed children as defined by the host language specification, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none to any specifically allowed children that do not have an explicit role defined.

    For any element with an explicit or inherited role of none/presentation and which is not focusable, user agents MUST ignore role-specific WAI-ARIA states and properties for that element. For example, in HTML, a ul or ol element with a role of none/presentation will have the implicit native semantics of its li elements removed because the list role to which the ul or ol corresponds has an Allowed Accessibility Child Role of listitem. Likewise, the implicit native semantics of an HTML table element's thead/tbody/tfoot/tr/th/td descendants will also be removed, because the HTML specification indicates that these are required structural descendants of the table element.

    Only the implicit native semantics of elements that correspond to WAI-ARIA Allowed Accessibility Child Roles are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role of none/presentation specified.

    For example, according to an accessibility API, the following markup elements would appear to have identical role semantics (no roles) and identical content.

    From 82b4ad00c51ae01f77a42268323a5329105bf058 Mon Sep 17 00:00:00 2001 From: Ariella Gilmore Date: Thu, 25 May 2023 14:48:09 -0700 Subject: [PATCH 07/12] 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 3d3fcfda8..83149e314 100644 --- a/index.html +++ b/index.html @@ -6016,7 +6016,7 @@
    Presentational Role Inheritance
    <foo> More Sample Content </foo> </foo>

    There are other WAI-ARIA roles with specific allowed children for which this situation is applicable (e.g., feeds and listboxes), but tables and lists are the most common real-world cases in which the none/presentation inheritance is likely to apply.

    -

    For any element with an explicit or inherited role of none/presentation, user agents MUST apply an inherited role of none/presentation to all host-language-specific labeling elements for the presentational element. For example, a table element with a role of none/presentation will have the implicit native semantics of its caption element removed, because the caption is merely a label for the presentational table.

    +

    For any element with an explicit or inherited role of none/presentation, user agents MUST apply an inherited role of none to all host-language-specific labeling elements for the presentational element. For example, a table element with a role of none/presentation will have the implicit native semantics of its caption element removed, because the caption is merely a label for the presentational table.

    Information about resolving conflicts in the none/presentation role has been moved to Handling Author Errors

    From 1e2a611ae1ecdbc1fc9e34ffa118273118d8c294 Mon Sep 17 00:00:00 2001 From: Ariella Gilmore Date: Thu, 25 May 2023 14:48:16 -0700 Subject: [PATCH 08/12] Update index.html Co-authored-by: James Craig --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 83149e314..1f51fca75 100644 --- a/index.html +++ b/index.html @@ -6511,8 +6511,8 @@
    Presentational Role Inheritance

    An element whose implicit native role semantics will not be mapped to the accessibility API. See synonym none.

    - Note regarding the ARIA 1.1 none role. -

    In ARIA 1.1, the working group introduced none as a synonym to the presentation role, due to author confusion surrounding the intended meaning of the word "presentation" or "presentational." Many individuals erroneously consider role="presentation" to be synonymous with aria-hidden="true", and we believe role="none" conveys the actual meaning more unambiguously.

    + Note regarding the ARIA 1.1 none role. +

    In ARIA 1.1, the working group introduced none as the preferred synonym to the presentation role, due to author confusion surrounding the intended meaning of the word "presentation" or "presentational." Many individuals erroneously consider role="presentation" to be synonymous with aria-hidden="true", and the ARIA Working Group believes role="none" conveys the actual meaning more unambiguously.

    From 5b769d1060809ef7701d9affbf9625c1e92b52e4 Mon Sep 17 00:00:00 2001 From: Ariella Gilmore Date: Thu, 25 May 2023 14:48:27 -0700 Subject: [PATCH 09/12] 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 1f51fca75..aa7a7d920 100644 --- a/index.html +++ b/index.html @@ -13690,7 +13690,7 @@

    Presentational Roles Conflict Resolution

    There are a number of ways presentational role conflicts are resolved.

    User agents MUST NOT expose [=elements=] having explicit or inherited presentational role in the accessibility tree, with these exceptions:

      -
    • If an element is focusable, user agents MUST ignore the none/presentation role and expose the element with its implicit role, in order to ensure that the element is operable.
    • +
    • If an element is focusable, user agents MUST ignore the none/presentation role and expose the element with its implicit role, in order to ensure that the element is operable.
    • If an allowed child element has an explicit non-presentational role, user agents MUST ignore an inherited presentational role and expose the element with its explicit role. If the action of exposing the explicit role causes the accessibility tree to be malformed, the expected results are undefined.
    • If an element has global WAI-ARIA states or properties, user agents MUST ignore the none/presentation role and instead expose the element's implicit role. However, if an element has only non-global, role-specific WAI-ARIA states or properties, the element MUST NOT be exposed unless the presentational role is inherited and an explicit non-presentational role is applied.
    From d74e4fa3580a273a412ce9a90e0fd366c555113e Mon Sep 17 00:00:00 2001 From: Ariella Gilmore Date: Thu, 25 May 2023 14:48:33 -0700 Subject: [PATCH 10/12] 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 aa7a7d920..0a8f865c0 100644 --- a/index.html +++ b/index.html @@ -13692,7 +13692,7 @@

    Presentational Roles Conflict Resolution

    • If an element is focusable, user agents MUST ignore the none/presentation role and expose the element with its implicit role, in order to ensure that the element is operable.
    • If an allowed child element has an explicit non-presentational role, user agents MUST ignore an inherited presentational role and expose the element with its explicit role. If the action of exposing the explicit role causes the accessibility tree to be malformed, the expected results are undefined.
    • -
    • If an element has global WAI-ARIA states or properties, user agents MUST ignore the none/presentation role and instead expose the element's implicit role. However, if an element has only non-global, role-specific WAI-ARIA states or properties, the element MUST NOT be exposed unless the presentational role is inherited and an explicit non-presentational role is applied.
    • +
    • If an element has global WAI-ARIA states or properties, user agents MUST ignore the none/presentation role and instead expose the element's implicit role. However, if an element has only non-global, role-specific WAI-ARIA states or properties, the element MUST NOT be exposed unless the presentational role is inherited and an explicit non-presentational role is applied.

    For example, aria-describedby is a global attribute and would always be applied; aria-level is not a global attribute and would therefore only apply if the element was not in a presentational state.

    
    From fb01b551f82619e574b1cb162c3d2bfc6ad5e05e Mon Sep 17 00:00:00 2001
    From: Ariella Gilmore 
    Date: Thu, 25 May 2023 14:50:07 -0700
    Subject: [PATCH 11/12] 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 0a8f865c0..255953676 100644
    --- a/index.html
    +++ b/index.html
    @@ -6001,7 +6001,7 @@ 

    Plain HTML or Polyfill DOM Result of the MathML Quadratic Formula

    Presentational Role Inheritance

    The none/presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibility API role for the element. Some elements are only complete when additional descendant elements are provided. For example, in HTML, table elements (matching the table role) require tr descendants (which have an implicit row role), which in turn require th or td children (the columnheader or rowheader and cell roles, respectively). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in WAI-ARIA as Allowed Accessibility Child Roles.

    When an explicit or inherited role of none/presentation is applied to an element with the implicit semantic of a WAI-ARIA role that has Allowed Accessibility Child Roles, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none to any owned elements that do not have an explicit role defined. Also, when an explicit or inherited role of none/presentation is applied to a host language element which has specifically allowed children as defined by the host language specification, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none to any specifically allowed children that do not have an explicit role defined.

    -

    For any element with an explicit or inherited role of none/presentation and which is not focusable, user agents MUST ignore role-specific WAI-ARIA states and properties for that element. For example, in HTML, a ul or ol element with a role of none/presentation will have the implicit native semantics of its li elements removed because the list role to which the ul or ol corresponds has an Allowed Accessibility Child Role of listitem. Likewise, the implicit native semantics of an HTML table element's thead/tbody/tfoot/tr/th/td descendants will also be removed, because the HTML specification indicates that these are required structural descendants of the table element.

    +

    For any element with an explicit or inherited role of none/presentation and which is not focusable, user agents MUST ignore role-specific WAI-ARIA states and properties for that element. For example, in HTML, a ul or ol element with a role of none/presentation will have the implicit native semantics of its li elements removed because the list role to which the ul or ol corresponds has an Allowed Accessibility Child Role of listitem. Likewise, the implicit native semantics of an HTML table element's thead/tbody/tfoot/tr/th/td descendants will also be removed, because the HTML specification indicates that these are required structural descendants of the table element.

    Only the implicit native semantics of elements that correspond to WAI-ARIA Allowed Accessibility Child Roles are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role of none/presentation specified.

    For example, according to an accessibility API, the following markup elements would appear to have identical role semantics (no roles) and identical content.

    <!-- 1. [role="none"] negates the implicit 'list' and 'listitem' role semantics but does not affect the contents. -->
    
    From 9a5ce606efde7764ccfec96a3f85f1b8fbcda79c Mon Sep 17 00:00:00 2001
    From: Ariella Gilmore 
    Date: Thu, 25 May 2023 14:50:17 -0700
    Subject: [PATCH 12/12] 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 255953676..106140655 100644
    --- a/index.html
    +++ b/index.html
    @@ -6002,7 +6002,7 @@ 
    Presentational Role Inheritance

    The none/presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibility API role for the element. Some elements are only complete when additional descendant elements are provided. For example, in HTML, table elements (matching the table role) require tr descendants (which have an implicit row role), which in turn require th or td children (the columnheader or rowheader and cell roles, respectively). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in WAI-ARIA as Allowed Accessibility Child Roles.

    When an explicit or inherited role of none/presentation is applied to an element with the implicit semantic of a WAI-ARIA role that has Allowed Accessibility Child Roles, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none to any owned elements that do not have an explicit role defined. Also, when an explicit or inherited role of none/presentation is applied to a host language element which has specifically allowed children as defined by the host language specification, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none to any specifically allowed children that do not have an explicit role defined.

    For any element with an explicit or inherited role of none/presentation and which is not focusable, user agents MUST ignore role-specific WAI-ARIA states and properties for that element. For example, in HTML, a ul or ol element with a role of none/presentation will have the implicit native semantics of its li elements removed because the list role to which the ul or ol corresponds has an Allowed Accessibility Child Role of listitem. Likewise, the implicit native semantics of an HTML table element's thead/tbody/tfoot/tr/th/td descendants will also be removed, because the HTML specification indicates that these are required structural descendants of the table element.

    -

    Only the implicit native semantics of elements that correspond to WAI-ARIA Allowed Accessibility Child Roles are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role of none/presentation specified.

    +

    Only the implicit native semantics of elements that correspond to WAI-ARIA Allowed Accessibility Child Roles are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role of none/presentation specified.

    For example, according to an accessibility API, the following markup elements would appear to have identical role semantics (no roles) and identical content.

    <!-- 1. [role="none"] negates the implicit 'list' and 'listitem' role semantics but does not affect the contents. -->
     <ul role="none">