diff --git a/_rules/aria-required-context-role-ff89c9.md b/_rules/aria-required-context-role-ff89c9.md index 8e1c32e5f2a..577c2a33afc 100755 --- a/_rules/aria-required-context-role-ff89c9.md +++ b/_rules/aria-required-context-role-ff89c9.md @@ -29,7 +29,7 @@ This rule applies to any HTML or SVG element that is [included in the accessibil ## Expectation -Each test target is [owned by][] an element that has a [semantic role][] that is one of the [required context roles][] of the target element. +Each test target is the child in the [accessibility tree][] of an element that has a [semantic role][] that is one of the [required context roles][] of the target element. ## Assumptions @@ -37,7 +37,7 @@ This rule assumes that the `role` attribute is used to give a [semantic role][] ## Accessibility Support -- User agents do not all have the same accessibility tree. Particularly the method of deriving which element [owns][owned by] which other elements varies between browsers. This can lead to different results for this rule, depending on which accessibility tree is used as input. +- User agents do not all have the same accessibility tree. This can lead to different results for this rule, depending on which accessibility tree is used as input. - `aria-owns` has limited support in some user agents. - There exist some combination of popular browsers and assistive technologies who do not announce correctly relationships based on a mix of [implicit][implicit role] and [explicit][explicit role] roles. @@ -47,7 +47,9 @@ The applicability of this rule is limited to the [WAI-ARIA 1.1 Recommendation][a An example of an element that has an [implicit semantic role][] that is identical to its [explicit semantic role][] is a `
  • ` element. These elements are not applicable because they have extra requirements and should thus be checked separately. -The definition of [owned by][] used in this rule is different from the definition of ["owned element" in WAI-ARIA](https://www.w3.org/TR/wai-aria-1.1/#dfn-owned-element). In this rule "owned by" includes only direct children of the owner element, whereas an "owned element" is any descendant of the owner. +Being a child in the [accessibility tree][] is different from being a child in the DOM tree. Some DOM nodes have no corresponding node in the [accessibility tree][] (for example, because they are marked with `role="presentation"`). A child in the [accessibility tree][] can thus correspond to a descendant in the DOM tree. Additionally, the use of `aria-owns` attribute can change the tree structure to something which is not a subtree of the DOM tree. + +This rule is restricted to direct parent-child relation in the [accessibility tree][] which is more strict than the definition of ["owned element" in WAI-ARIA](https://www.w3.org/TR/wai-aria-1.1/#dfn-owned-element). This rule mimics, on the roles level, the [content model](https://html.spec.whatwg.org/#concept-element-content-model) of HTML. [Subclass roles][subclass role] of [required context roles][] are not automatically included as possible [required context roles][]. For example, the [`feed`](https://www.w3.org/TR/wai-aria-1.1/#feed) role is not a possible [required context role][] for [`listitem`](https://www.w3.org/TR/wai-aria-1.1/#listitem), even though [`feed`](https://www.w3.org/TR/wai-aria-1.1/#feed) is a [subclass role][] of the [`list`](https://www.w3.org/TR/wai-aria-1.1/#list) role. @@ -62,7 +64,7 @@ Some user agents try to correct missing [required context roles][] or incorrect #### Passed Example 1 -These elements with an [explicit role][] of `listitem` are [owned by][] an element with their [required context role][], `list`, expressed as an [explicit role][]. +These elements with an [explicit role][] of `listitem` are children in the [accessibility tree][] of an element with their [required context role][], `list`, expressed as an [explicit role][]. ```html
    @@ -73,7 +75,7 @@ These elements with an [explicit role][] of `listitem` are [owned by][] an eleme #### Passed Example 2 -These elements with an [explicit role][] of `listitem` are [owned by][] an element with their [required context role][], `list`, expressed as an [implicit role][] of `ul`. Note that this test case does not satisfy [Success Criterion 4.1.1 Parsing][sc411] because the [`ul` element][ul] does not respect its [content model][]. +These elements with an [explicit role][] of `listitem` are children in the [accessibility tree][] of an element with their [required context role][], `list`, expressed as an [implicit role][] of `ul`. Note that this test case does not satisfy [Success Criterion 4.1.1 Parsing][sc411] because the [`ul` element][ul] does not respect its [content model][]. ```html ``` +[accessibility tree]: https://www.w3.org/TR/act-rules-aspects/#input-aspects-accessibility 'Definition of accessibility tree' [aria 1.1]: https://www.w3.org/TR/wai-aria-1.1/ 'WAI ARIA 1.1 specifications' [content model]: https://html.spec.whatwg.org/multipage/dom.html#concept-element-content-model 'HTML definition of the Content Model' [dpub 1.0]: https://www.w3.org/TR/dpub-aria-1.0/ 'Digital Publishing WAI-ARIA Module (DPUB ARIA) 1.0' @@ -242,7 +245,6 @@ There is no element with an [explicit role][] different from its [implicit role] [implicit role]: #implicit-role 'Definition of Implicit Role' [implicit semantic role]: #implicit-role 'Definition of Implicit Role' [included in the accessibility tree]: #included-in-the-accessibility-tree 'Definition of Included in the Accessibility Tree' -[owned by]: #owned-by 'Definition of Owned by' [required context role]: https://www.w3.org/TR/wai-aria-1.1/#scope 'WAI ARIA definition of Required Context Role' [required context roles]: https://www.w3.org/TR/wai-aria-1.1/#scope 'WAI ARIA definition of Required Context Role' [sc411]: https://www.w3.org/TR/WCAG21/#parsing 'Success Criterion 4.1.1 Parsing'