RE: aria-describedBy with aria-hidden=true

That's true in some cases, but it depends on the AT. For example, JAWS won't announce it when arrowing down in the Virtual Cursor and will when tabbing, however NVDA will announce both when arrowing and tabbing. VoiceOver on iOS will announce both on touch devices, the name first then the description with a slight delay afterwards.
None of these will impact the way that hidden content is computed in the algorithm, however.
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: Jonathan Cohn <jonathan.cohn@cambiumassessment.com> 
Sent: Tuesday, July 27, 2021 2:34 PM
To: Bryan Garaventa <bryan.garaventa@levelaccess.com>; bryan rasmussen <rasmussen.bryan@gmail.com>; WAI IG <w3c-wai-ig@w3.org>
Subject: RE: 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.


I believe the major difference between these is that often aria-describedby text is not spoken if the element in question does not have focus.



-----Original Message-----
From: Bryan Garaventa <bryan.garaventa@levelaccess.com>
Sent: Tuesday, July 27, 2021 1:27 PM
To: bryan rasmussen <rasmussen.bryan@gmail.com>; WAI IG <w3c-wai-ig@w3.org>
Subject: 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 23:44:55 UTC