standards-support icon indicating copy to clipboard operation
standards-support copied to clipboard

JAWS does not announce math structure and role inside a contenteditable

Open mitchellevan opened this issue 2 years ago • 1 comments

Summary

HTML <math> containing MathML

  1. Go to MathML Examples (Freedom Scientific)
  2. Use JAWS arrow keys to locate the math elements. (These are not inside an editor.)
  3. Go to MathML Examples in contenteditable (CodePen)
  4. Move focus into the editor.
  5. Use JAWS arrow keys to locate the math elements inside the editor.

ARIA role="math"

  1. Go to Math inside a rich text editor - testing user agent support (CodePen)
  2. Use JAWS arrow keys to locate a math element not inside the editor.
  3. Under "Enter some text and math", move focus into the editor.
  4. Use JAWS arrow keys to locate the math element inside the editor.

Expected result

Outside of a contenteditable JAWS should announce the math structure and content, and the fact that it is a math element.

Inside of a contenteditable JAWS should announce the math structure and content, and the fact that it is a math element.

  • Announcing the math structure and content allows a user to understand the math together with its surrounding content.
  • Informing the user of the fact that it is a math element prompts the user to know what kind of mechanism they should use for editing it.

Actual result

HTML <math> containing MathML

Outside of a contenteditable JAWS announces an HTML MathML element as expected. Speech history example (Chrome):

heading level 2 Quadratic Formula x = fraction, negative b ± the square root of b squared minus 4 a c, over 2 a. MathContent

Inside of a contenteditable JAWS announces the text of the HTML MathML element but not its structure, and JAWS does not announce the fact that it is a math element. Speech history example (Chrome):

heading level 2 Quadratic Formula
𝑥
=
-
𝑏
±
𝑏
2
-
4

𝑎

𝑐
2

𝑎

In JAWS with Firefox, the announcements are the same as with Chrome, provided that the user presses RIGHT ARROW instead of DOWN ARROW inside the contenteditable to read the text of the math.

ARIA role="math"

Outside of a contenteditable:

  • JAWS with Chrome announces the math content as expected. (It does not announce the fact that it is a math element; this might or might not be a problem in this context.)
  • JAWS with Firefox announces neither the math content nor the fact that it is a math element. Instead it skips the element. See #800

Inside of a contenteditable:

  • JAWS with Chrome announces neither the math content nor the fact that it is a math element. Instead it repeats nearby content outside of the math.
  • JAWS with Firefox announces neither the math content nor the fact that it is a math element. Instead it announces "blank".

Additional Information

Chrome exposes the math element inside a contenteditable. https://bugs.chromium.org/p/chromium/issues/detail?id=1245715

JAWS version and build number

JAWS Version 2024.2312.53

Operating System and version

Windows 10

Browser and version:

Chrome 120 Firefox 121.0.1

mitchellevan avatar Jan 12 '24 08:01 mitchellevan

Chrome and Firefox both report MathML element semantics in devtools accessibility. That said...

If Chrome is partially responsible, please update Chrome Issue 1245715: JAWS not recognizing role=math element inside contentEditable

If Firefox is partially responsible, please file a bug for it.

mitchellevan avatar Jan 12 '24 13:01 mitchellevan