FreedomScientific / standards-support

Contains documentation for Vispero software support of Web standards
https://freedomscientific.github.io/standards-support/
GNU General Public License v3.0
110 stars 12 forks source link

JAWS only reads a limited number of characters of aria-describedby in modal dialog in Chrome/Edge #705

Open jessevoogt opened 1 year ago

jessevoogt commented 1 year ago

Summary

Similar to #209 I am experiencing an issue with there being a limit (267 characters?) on the length of text read out by JAWS in an element that's referenced by aria-describedby. I am using the default settings in JAWS 2023.

  1. focus on a button that has aria-describedby

Expected result

JAWS reads the label of the button followed by al the text in the element with the id referenced by aria-describedby.

Actual result

After reading the label, JAWS reads the description text, but stops after 267 characters

Example

  1. Go to https://cdpn.io/jessevoogt/fullpage/GRXdvmz?nocache=true&view=fullpage
  2. Focus on the button labeled "button with description"

After reading the label, JAWS reads the description text, but stops after 267 characters ("Be anchored in the bay where all men ride").

Additional Information

JAWS version 2023.2212.23 ILM

Windows 10 Version 22H2

Browser and version:

Chrome: Version 111.0.5563.65 (Official Build) (64-bit) Edge: 111.0.1661.41 (Official build) (64-bit)

jessevoogt commented 1 year ago

I re-tested just now after updating JAWS to 2023.2302.15, but the issue remains.

stevefaulkner commented 1 year ago

@jessevoogt I tested it in JAWS 2023/chrome and found it announced

Sonnet 104: To Me, Fair Friend, You Never Can Be Old To me, fair friend, you never can be old, For as you were when first your eye I ey’d, Such seems your beauty still. Three winters cold, Have from the forests shook three summers’ pride, Three beauteous springs to yellow autumn turn’d, In process of the seasons have I seen, Three April perfumes in three hot Junes burn’d, Since first I saw you fresh, which yet are green. Ah! yet doth beauty like a dial-hand, Steal from his figure, and no pace perceiv’d; So your sweet hue, which methinks still doth stand, Hath motion, and mine eye may be deceiv’d: For fear of which, hear this thou age unbred: Ere you were born was beauty’s summer dead.

Sonnet 137: Thou Blind Fool, Love, What Dost Thou To Mine Eyes. Thou blind fool, Love, what dost thou to mine eyes, That they behold, and see not what they see? They know what beauty is, see where it lies, Yet what the best is take the worst to be. If eyes, corrupt by over-partial looks, Be anchored in the bay where all men ride,

From looking at the content i suggest that this example is a misuse of describedby as the text is both voluminous and structurally rich (contains headings and paragraphs). describedby use conveys as plain text so the structure is lost. What is the use case for this?

There are (I think) several other ways to mark this up that do not result in semantic information being lost. Using aria-details for example.

@BrettLewisVispero Is there a limit on the characters JAWS will announce when the content source is aria-describedby?

stevefaulkner commented 1 year ago

Note: NVDA reads all of the associated describedby text.

jessevoogt commented 1 year ago

Ah, I wasn't aware of the existence aria-details, that sounds like a good (and appropriate) solution.

If I remember correctly, the pattern I was working with was a modal dialog, which worked great in terms of the user opening the modal and it would immediately start reading the body of the dialog, but perhaps this is not wanted nor useful.