WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: JAWS, modals, and aria-labelledby

for

From: Bryan Garaventa
Date: Jul 28, 2015 9:57PM


Hi,
Technically for a modal dialog, the accessible name assigned via aria-label/labelledby is reflective of the dialog title, and isn't meant to convey all of the static content for the dialog. All of the static content is supposed to be assigned using aria-describedby on the same element as role=dialog and aria-label/labelledby. So, the label is the dialog title, and the description is the static text for the dialog.

(E.G http://whatsock.com/training/matrices/#dialog )

All the best,
Bryan

-----Original Message-----
From: WebAIM-Forum [mailto: <EMAIL REMOVED> ] On Behalf Of Sean Keegan
Sent: Tuesday, July 28, 2015 8:31 PM
To: <EMAIL REMOVED>
Subject: [WebAIM] JAWS, modals, and aria-labelledby

Hello,

I am working with developers on a modal in which JAWS will only read a set amount of characters when the modal is first triggered. Because the modal information is considered critical, the developers created separate DIVs with id values and then added aria-labelledby to the parent DIV with the respective id values. As a result, the entire content is presented as the accessible "name" of that modal.

Both NVDA and ChromeVox read all the content in the parent DIV when the modal is first triggered and VoiceOver reads all paragraph elements (it skips any non-paragraph element). JAWS, however, only reads the first 180 characters (approximately) of the modal and then jumps to the focused element.

I suspect that JAWS is limiting what is considered to be the accessible name of the modal when it is first triggered. The entire modal can be navigated and read with the virtual cursor, but the accessible name as defined by the aria-labelledby attributes is truncated to a certain number of characters when the modal is first triggered.

Has anyone had this experience with JAWS such that it will only read a certain amount of content set by multiple aria-labelledby values?

This is happening for JAWS 16 in IE 10 and Firefox 39.

Take care,
Sean