From e8b2274ff7d66c40c390fc1add654c83985a19a7 Mon Sep 17 00:00:00 2001 From: Aaron Leventhal Date: Tue, 11 Feb 2020 12:30:19 -0500 Subject: [PATCH] Update aria-details (#1136) * Update aria-details: 1) Support multiple elements. 2) Support types of information/annotations that are not descriptions. Co-Authored-By: James Nurthen Co-Authored-By: Matt King Co-Authored-By: Carolyn MacLeod --- index.html | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/index.html b/index.html index f77e265d9..7926f5d3d 100644 --- a/index.html +++ b/index.html @@ -10929,10 +10929,20 @@

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

aria-details
-

Identifies the element that provides a detailed, extended description for the object. See related aria-describedby.

-

The aria-details attribute references a single element that provides more detailed information than would normally be provided by aria-describedby. It enables assistive technologies to make users aware of the availability of an extended description as well as navigate to it. Authors SHOULD ensure the element referenced by aria-details is visible to all users.

-

Unlike elements referenced by aria-describedby, the element referenced by aria-details is not used in either the Accessible Name Computation or the Accessible Description Computation as defined in the Accessible Name and Description specification [[ACCNAME-1.1]]. Thus, the content of an element referenced by aria-details is not flattened to a string when presented to assistive technology users. This makes aria-details particularly useful when converting the information to a string would cause a loss of information or make the extended description more difficult to understand.

-

In some user agents, multiple reference relationships for descriptive information are not supported by the accessibility API. In such cases, if both aria-describedby and aria-details are provided on an element, aria-details takes precedence.

+

Identifies the element (or elements) that provide additional information related to the object. See related aria-describedby.

+

The aria-details property is for referencing elements that provide more detailed information than would normally be provided via aria-describedby. The presence of aria-details enables assistive technologies to make users aware of the availability of extended information and navigate to it. Authors SHOULD ensure that elements referenced by aria-details are visible to all users.

+

Assistive technologies MAY use the role of elements referenced by the aria-details property to help users understand the types of information associated with the element. Authors MAY convey the type of details associated with an element as follows:

+
    +
  • Comment: aria-details refers to an element with role comment.
  • +
  • Definition: aria-details is applied to an element with role term and refers to an element with role definition.
  • +
  • Footnote: aria-details refers to an element with role doc-footnote. This role is defined in [[DPUB-ARIA-1.0]].
  • +
  • Endnote: aria-details refers to an element with role doc-endnote. This role is defined in [[DPUB-ARIA-1.0]].
  • +
  • Description or general annotation: aria-details refers to an element with any other role.
  • +
+ +

Unlike elements referenced by aria-describedby, elements referenced by aria-details are not used in the Accessible Description Computation as defined in the Accessible Name and Description specification [[ACCNAME-1.1]]. Thus, the content of elements referenced by aria-details are not flattened to a string when presented to assistive technology users. This makes aria-details particularly useful when converting the information to a string would cause a loss of information or make the extended information more difficult to understand.

+

The aria-details property supports referring to multiple elements. For example, a paragraph in a document editor may reference multiple comments that are not related to each other. If a user agent relies on an accessibility API that does not support exposing multiple descriptive relations, the user agent SHOULD expose the relationship to the first element referenced by aria-details.

+

It is valid for an element to have both aria-details and a description specified with either aria-describedby or aria-description. If a user agent relies on an accessibility API that does not support exposing multiple descriptive relations, and if an element has both aria-details and aria-describedby, the user agent SHOULD expose the aria-details relation and the description string computed from the aria-describedby relationship.

A common use for aria-details is in digital publishing where an extended description needs to be conveyed in a book that requires structural markup or the embedding of other technology to provide illustrative content. The following example demonstrates this scenario.

                                 <!-- Provision of an extended description -->
@@ -10950,7 +10960,7 @@ 

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

</p> <object data="skatebd-ramp.svg" type="image/svg+xml"></object> <p> - In this example you will notice a skateboard with a base and vertical board whose width + In this example you will notice a skateboard ramp with a base and vertical board whose width is the width of the ramp. To compute how long the ramp must be, simply calculate the base length, square it, sum it with the square of the height of the ramp, and take the square root of the sum. @@ -10981,7 +10991,7 @@

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

Value: - ID reference + ID reference list @@ -13343,7 +13353,7 @@

Interface Mixin AriaAttributes

attribute DOMString? ariaCurrent; attribute FrozenArray<Element>? ariaDescribedByElements; attribute DOMString? ariaDescription; - attribute Element? ariaDetailsElement; + attribute FrozenArray<Element>? ariaDetailsElements; attribute DOMString? ariaDisabled; attribute Element? ariaErrorMessageElement; attribute DOMString? ariaExpanded; @@ -13400,7 +13410,7 @@

ARIA Attribute Reflection

ariaCurrentaria-current ariaDescribedByElementsaria-describedby ariaDescriptionaria-description - ariaDetailsElementaria-details + ariaDetailsElementsaria-details ariaDisabledaria-disabled ariaErrorMessageElementaria-errormessage ariaExpandedaria-expanded