diff --git a/index.html b/index.html index f3ad12326..09f861f5d 100644 --- a/index.html +++ b/index.html @@ -309,15 +309,15 @@ } }, "lint": false, - "publishISODate": "2023-08-11T00:00:00.000Z", - "generatedSubtitle": "W3C Editor's Draft 11 August 2023" + "publishISODate": "2023-08-23T00:00:00.000Z", + "generatedSubtitle": "W3C Editor's Draft 23 August 2023" }
This document is governed by the 12 June 2023 W3C Process Document. -
+This section is non-normative.
The goals of this specification include:
@@ -624,10 +624,6 @@Usable by users in ways they can control. References in this document relate to WCAG 2.1 Principle 2: Content must be operable [WCAG21]. See Keyboard Accessible.
An 'accessibility child' is a DOM child of the element, a descendant of the element with only elements of role generic
or none
intervening, a child specified via an aria-owns
relationship to the element, or a descendant of an element with role generic
or none
specified via aria-owns
with only elements of role generic
or none
intervening.
An 'owned element' is any DOM descendant of the element, any element specified as a child via aria-owns
, or any DOM descendant of the owned child.
An 'owning element' is any DOM ancestor of the element, or any element with an aria-owns
attribute which references the ID of the element.
An 'accessibility parent' is a DOM parent of the element, an ancestor of the element with only elements of role generic
or none
intervening, any element with an owned child specified via aria-owns
, or an ancestor of an owned element with only elements of role generic
or none
intervening.
Presentable to users in ways they can sense. References in this document relate to WCAG 2.1 Principle 1: Content must be perceivable [WCAG21].
@@ -891,8 +883,8 @@A list of roles which are allowed on an accessibility child (simplified as "child") of the element with this role. Authors MUST only add child element with allowed roles. For example, an element with the role list
can own child elements with the role listitem
, but cannot own elements with the role option
.
To determine whether an element is the child of an element, user agents MUST ignore any intervening elements with the role generic
or none
.
A list of roles which are allowed on an accessibility child (simplified as "child") of the element with this role. Authors MUST only add child element with allowed roles. For example, an element with the role list
can own child elements with the role listitem
, but cannot own elements with the role option
.
To determine whether an element is the child of an element, user agents MUST ignore any intervening elements with the role generic
or none
.
Descendants which are not children of an element ancestor are not constrained by allowed accessibility child roles. For example, an image
is not an allowed child of a list
, but it is a valid descendant if it is also a descendant of the list
's allowed child listitem
.
A role that has 'allowed accessibility child roles' does not imply the reverse relationship. Elements with roles in this list do not always have to be found within elements of the given role. See required accessibility parent roles for requirements about the context where elements of a given role will be contained.
An element with a subclass role of the 'allowed accessibility child role' does not fulfill this requirement. For example, the listbox
role allows a child element using the option
or group
role. Although the group
role is the superclass of row
, adding a child element with a role of row
will not fulfill the requirement that listbox
allows children with option
or group
roles.
The required accessibility parent (simplified as "parent") role defines the container where this role is allowed. If a role has a required accessibility parent, authors MUST ensure that an element with the role is an accessibility child of an element with the required accessibility parent role. For example, an element with role listitem
is only meaningful when it is a child of an element with role list
.
The required accessibility parent (simplified as "parent") role defines the container where this role is allowed. If a role has a required accessibility parent, authors MUST ensure that an element with the role is an accessibility child of an element with the required accessibility parent role. For example, an element with role listitem
is only meaningful when it is a child of an element with role list
.
To determine whether an element has a parent with the required role, user agents MUST ignore any elements with the role generic
or none
.
An element with the appropriate implicit WAI-ARIA semantic fulfills this requirement.
The following terms are used to describe relationships between DOM elements.
+The accessibility children of a DOM element are all of the children of that element's corresponding accessible object in the accessibility tree. In terms of the DOM, that includes the following (with exclusions listed blow):
+generic
or none
intervening.
+ aria-owns
relationship to the element.
+ generic
or none
specified via aria-owns
with only elements of role generic
or none
intervening.
+ And excludes the following: +
aria-owns
./li>
+ In the following example, the list
element has four accessibility children:
<div role="list" aria-owns="child3 child4">
+ <div role="listitem">Accessibility Child 1</div>
+ <div>
+ <div role="listitem">Accessibility Child 2</div>
+ </div>
+</div>
+<div id="child3" role="listitem">Accessibility Child 3</div>
+<div id="child4">
+ <div role="listitem">Accessibility Child 4</div>
+</div>
+ In the following example, the list
element has no accessibility children:
<div role="list">
+ <div role="listitem" aria-hidden="true">Excluded element</div>
+ <div role="listitem" id="reparented">Reparented element</div>
+</div>
+<div aria-owns="reparented"></div>
+ The accessibility descendants of a DOM element are all DOM elements which correspond to descendants of the corresponding accessible object in the accessibility tree.
+The accessibility parent of a DOM element is the parent of the corresponding accessible object in the accessibility tree. In terms of the DOM, the accessibility parent is one of the following:
+generic
or none
intervening.
+ aria-owns
set to the DOM ID of the DOM element in question.
+ aria-owns
set to the DOM ID of an ancestor of the DOM element in question, with only elements of role generic
or none
intervening.
+ The following four examples all contain a listitem
element with an accessibility parent of role list
:
<div role="list">
+ <div role="listitem">The "list" is my accessibility parent.</div>
+</div>
+ <div role="list">
+ <div>
+ <div role="listitem">The "list" is my accessibility parent.</div>
+ </div>
+</div>
+ <div role="list" aria-owns="child"></div>
+<div id="child" role="listitem">The "list" is my accessibility parent.</div>
+ <div role="list" aria-owns="child"></div>
+<div id="child">
+ <div> role="listitem">The "list" is my accessibility parent.</div>
+</div>
+ 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.
<!-- 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. -->
@@ -14540,8 +14621,8 @@ This section is non-normative.
The primary purpose of ARIA IDL attribute reflection is to ease JavaScript-based manipulation of values. The following examples demonstrate its usage.
-