RE: aria-describedBy with aria-hidden=true

Hi,
As an FYI, both aria-labelledby and aria-describedby support referencing hidden elements.

Both of these run the same algorithm when parsing referenced elements, so there should be no difference when computing names versus descriptions, the difference there just means that one will set either the Name or Description property in the accessibility tree when returned.

There may be a change in the way that hidden content is parsed however, which I'll be proposing spec text for soon, which will cause hidden elements that are referenced to only return the element.innerText or element.textContent of that element instead of parsing all internal roles and attributes as it does with rendered content.

This is an ongoing discussion in the ARIA WG at present, but it is meant to deal with the issue that specific roles are only parsed in most cases when they support 'name from content', but hidden content does not have any particular role in the accessibility tree because nothing is actually rendered, causing issues with the ability of browsers to predict what is meant to be returned. 

This is also meant to address the issue of hidden content that has embedded hidden content, which sounds non-intuitive but is technically possible, such as when aria-hidden="true" is set on an element inside a referenced element that is visually hidden using the hidden attribute.

For visually rendered content, or even offscreen positioned content, all of the above scenarios already work reliably for the most part right now when using both aria-labelledby and aria-describedby. The change will only impact how explicitly hidden elements are referenced.

As I said though, this is an ongoing discussion in the ARIA WG, so if such a change is agreed to and officially added to the AccName spec, it will take a bit for it to start appearing within the browsers.

All the best,
Bryan


Bryan Garaventa
Principal Accessibility Architect
Level Access, Inc.
Bryan.Garaventa@LevelAccess.com
415.624.2709 (o)
www.LevelAccess.com

-----Original Message-----
From: bryan rasmussen <rasmussen.bryan@gmail.com> 
Sent: Tuesday, July 27, 2021 1:35 AM
To: WAI IG <w3c-wai-ig@w3.org>
Subject: aria-describedBy with aria-hidden=true

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.


Hey,

As I understand this
https://www.tpgi.com/short-note-on-aria-labelledby-and-aria-describedby/

If I have an element with aria-describedBy id of other element, and that other element has aria-hidden= true the description will still be read correctly for the div with aria-describedBy? Is there any commonly used browser + SR combo you know of where it doesn't work?

How about aria labels and the like inside of the aria-hidden element that is being used to describe the other element - does anyone know of scenarios where this doesn't work.

example would look something like this:
<div. aria-describedBy="test">text</div>
<div aria-hidden="true" id="test"><span aria-label="Some big description">little</span><p>More cool stuff to read in the description</p></div>

Thanks,
Bryan Rasmussen

Received on Tuesday, 27 July 2021 17:26:55 UTC