-
Notifications
You must be signed in to change notification settings - Fork 21
Support Matrix a11y tool
For background on the larger project, see https://github.com/mathjax/MathJax/wiki/Semantic-Enrichment-project.
- A demo for testing individual equations is available at https://mathjax.github.io/MathJax-RespEq/Semantics-Lab/walker/.
- A content demo is available at http://mathjax.github.io/MathJax-RespEq/examples/Struik-speech.html
- This demo generates speech in aria-labels and adds the optional exploration tool to every equation
- note: this might take 30-60 seconds to fully render right now. An aria live region will be used to annouce completion to AT.
We have been creating short videos to demonstrate how the accessibility tool works on various combinations of browsers, operating system, and screenreaders.
The videos can be found at https://www.youtube.com/playlist?list=PL1ATLkPgTEBoIBkY6Ee9rdgAJaJtISOE8.
The a11y tool is used as follows
- an equation needs to be in the focus, e.g., by tabbing to it (MathJax puts its output in the tab order starting with v2.6)
- start: press shift+space to start the tool; this should result in the equation being highlighted and AT voicing the full speech string.
- exploration: use the arrow keys. Up/down to change subexpression level, left/right to navigate an individual level.
- stop: press esc to stop the a11y tool.
Special screenreader modes
- Since the a11y tool has to provide its own navigation, you might have to leave the navigation mode provided by the screenreader, e.g.,
- NVDA: Browse/Focus Mode is switched via NVDAkey+space (default: INS). If MathJax's SVG output is used, NVDA might switch to Focus Mode automatically (in particular on older Windows Versions).
- Window Eyes Browse Mode is switched via ctrl+shift+a
- JAWS Virtual PC Cursor is switched via JAWS+z (default: INS)
- VoiceOver: no mode but shift+ctrl+cmd+KEY will trigger direct input
- ChromeVox: no extra switching necessary
- Orca: ORCA+A (default: INS)
- Other useful notes
- JAWS has a feature Move to (Previous) Clickable Element which should allow users to jump (back) to the next math and start the walker. (@pkra couldn't get it to work outside IE though and triggering the walker seems still hard).
The table below summarizes the results from testing and user reports.
Some notes on current bugs:
- IE
- currently, the a11y tool does not support IE<10.
- Mobile
- we do not yet support mobile browsers / touchscreen interfaces but have plans for it.
- We have implemented an indicator to inform the user that the tool is present.
- We have implemented an indicator to indicate when hitting an "edge" (both horizontally and vertically)
- Regarding the "Usable?" numbers below: +1 means "minor bugs", 0 means "significant bugs but usable", -1 means "serious bugs, not usable"; DNA means "does not apply" (usually means AT does not support that browser/OS combination).
Screenreader | Browser | OS | Usable? | Bugs |
---|---|---|---|---|
ChromeVox | Chrome | any | +1 | if navigating too quickly, ChromeVox might read "d i v" instead of the live region's text (the region is on a <div> ). |
NVDA | Firefox | WinXP | +1 | no bugs |
NVDA | Firefox | Win7 | +1 | no bugs, (not a bug: in browse mode reads "application clickable" before the aria-label on each expression; says "space" when space is used to display level/collapsible) |
NVDA | Firefox | Win8.1 | +1 | no bugs |
NVDA | Firefox | Win10 | +1 | no bugs |
NVDA | Chrome | WinXP | +1 | [requires mode switching] |
NVDA | Chrome | Win7 | +1 | [requires mode switching] (not a bug: in browse mode reads "application" before the aria-label on each expression) |
NVDA | Chrome | Win8.1 | +1 | [requires mode switching] |
NVDA | Chrome | Win10 | +1 | [requires mode switching] |
NVDA | MS Edge | Win10 | DNA | [Edge issues prevent support by NVDA] |
NVDA | IE11 | Win10 | +1 | [requires mode switching] |
NVDA | IE11 | Win8.1 | +1 | no bugs |
NVDA | IE10 | Win7 | +1 | no bugs |
VoiceOver | Safari | OSX | +1 | Fences highlighting bug, https://github.com/zorkow/speech-rule-engine/issues/29 |
VoiceOver | Chrome | OSX | +1 | no bugs |
VoiceOver | Firefox | OSX | DNA | FF not exposing live regions yet |
Window Eyes (9.1) | Firefox | WinXP | +1 | voices dashes (plus-or-minus) |
Window Eyes | Firefox | Win7 | +1 | bug: ignores aria-hidden and thus speaks chars in rendering; other: speaks dashes (plus-or-minus), adds "application landmark ... end application landmark" to each expression |
Window Eyes | Firefox | Win8.1 | +1 | voices dashes (plus-or-minus) |
Window Eyes | Firefox | Win10 | +1 | voices dashes (plus-or-minus) |
Window Eyes | IE 10 | Win7 | +1 | no bugs |
Window Eyes | IE 11 | Win8.1 | +1 | voices dashes (plus-or-minus) |
Window Eyes | IE 11 | Win10 | +1 | no bugs |
Window Eyes | MS Edge | Win10 | +1 | no bugs |
Window Eyes (9.1) | Chrome | WinXP | -1 | #55: walker works, WE seems to voice but to get cut-off |
Window Eyes | Chrome | Win10 | -1 | #55: walker works, WE seems to voice but to get cut-off |
Window Eyes | Chrome | Win8.1 | -1 | #55: walker works well, WE seems to voice but to get cut-off |
Window Eyes | Chrome | Win7 | -1 | bugs: in browse mode, speaks aria-lables of inline math (but can get tripped up sometimes and ignore aria-hidden), skips over display math entirely; requires manual switch to focus mode to trigger walker; in walker: makes "pling" at each key press; |
JAWS | Firefox | WinXP | +1 | [reads raw MathML from AsssitiveMML when focusing on expression]; voices dashes (plus-or-minus) |
JAWS | FF | Win7 | +1 | speaks dashes ("right dash paranthesis"), in browse mode adds "application" after each expression's aria-label, speaks "space" when space is used to display level/collapsible |
JAWS | Firefox | Win10 | +1 | voices dashes (plus-or-minus) |
JAWS | Chrome | WinXP | +1 | voices dashes (plus-or-minus) |
JAWS | Chrome | Win7 | +1 | sometimes voices dashes (plus-or-minus); speaks "shift space" when activating walker, speaks "space" when in application ; |
JAWS | Chrome | Win10 | +1 | voices dashes (plus-or-minus) |
JAWS | MS Edge | Win10 | DNA | [Edge issues prevent MathML support by JAWS] |
JAWS | IE11 | Win8.1 | +1 | |
JAWS | IE11 | Win10 | +1 | |
JAWS | IE10 | Win7 | +1 | |
JAWS | FF | Win8.1 | +1 | |
JAWS | Chrome | Win8.1 | +1 | "blank" precedes speech output; reads raw MathML from AsssitiveMML when focusing on expression |
JAWS 13 | Chrome | Win7 | +1 | voices dashes (plus-or-minus) |
JAWS 13 | Firefox | Win7 | +1 | voices dashes (plus-or-minus) |
Orca | Firefox | Ubuntu 15.10 | 0 | initial full speech string is not voiced |
Orca | Web | Ubuntu 15.10 | DNA | [WebKitGTK not fully accessible] |
Orca | Chrome(ium) | Ubuntu 15.10 | DNA | [Chrome not accessible] |
Dolphin Screenreader | IE11 | Win10 | -1 | reads arial-labels; does not seem to support live regions, ignores aria-hidden (thus double voicing) |
- Build vagrant files to provision modern.ie VMs with screenreaders
- modernie now has vagrant-ready VMs
- provisioning via powershell scripts is possible but needs to be figured out
- nvda, jaws, window eyees have silent install options.
- chocolatey (mentioned in provisioning windows vagrant boxes) has nvda and jaws packages
-
XP,JAWS 15, Chrome: initial announcement is heard; needs mode switching; when putting eq in focus, JAWS seems to read the page title tag instead of the aria-label
-
(mode switching only for navigation; starting the walker and reading first line happens in any mode)
-
XP JAWS 15, FF: initial announcement heard; no mode switching necessary; when focusing, reads "entering application region, math", i.e., label is picked up. Perfect score.
-
XP NVDA, FF: initial announcement read ; no mode switching necessary; when focusing, reads just the label. Perfect score.
-
XP NVDA, Chrome: initial announcement read ; mode switching necessary; when focusing, does not read label.
-
XP WindowEyes, FF: initial announcement read ; mode switching necessary; when focusing, "application application main window", i.e., does not read label.
-
XP WindowEyes, Chrome: initial announcement not read ; no mode switching necessary; when focusing, does not read label. Does not read anything anymore 😞 When starting the walker you hear a funky slurring "space-ehehehe" and then nothing when exploring.
-
Win7 NVDA IE10: initial announcement read ; mode switching not necessary; when focusing, "math application math". Perfect score.
-
Win7 NVDA, Chrome: initial announcement read ; mode switching necessary; when focusing, does not read label.
-
Win7 NVDA, FF: initial announcement read ; no mode switching necessary; when focusing, reads "math", i.e., the label. Perfect score.
-
Win8.1 NVDA FF: same as Win7
-
Win 8.1 NVDA IE11: same as FF on Win7
-
Win 8.1 NVDA Chrome: same as Win 7
-
Win 8.1 WindowEyes IE11: initial announcement read ; mode switching not necessary; when focusing, "application math". Perfect score
-
actually "math math application" is read for the label. Still, good enough for me.
-
Win 8.1 WindowEyes FF: initial announcement read ; mode switching not necessary; when focusing, "application application main window".
-
Win 8.1 WindowEyes Chrome: no announcement read (though speech is cut off); mode switching not necessary; no label voiced, no speech voiced during navigation (with "speech cut off" I mean that it starts reading say "quadratic euqation" from the combo box and cuts that off.
-
Win 8.1, JAWS, IE11: initial announcement read; no mode switching necessary; on focus reads label ("math"). Perfect score.
-
Win 8.1, JAWS, Chrome: initial announcement read; mode switching necessary; on focus reads title of page ("MathJax accesibility tool").
-
Win10 Win7 JAWS IE10: initial announcement read ; mode switching not necessary; when focusing, label is read "math". Perfect score.
-
Win 7, JAWS, Chrome: initial announcement read; mode switching necessary (for arrow keys); on focus reads title of page ("MathJax accesibility tool").
-
Win7 JAWS FF: initial announcement read ; mode switching not necessary; when focusing, label is read "math". Perfect score.
-
NVDA Edge: no announcement, no label, no voicing -- no change...
-
Win 10 NVDA Chrome: as Win7/8
-
Win 10 NVDA IE11: as Win 8.
-
Win 10 NVDA FF: as Win7/8.
-
Win 10, JAWS, IE11: like Win 8.
-
Win 7 WindowEyes 9.3 IE10: initial announcement read ; mode switching not necessary; when focusing, label is read "math, math pane".
-
Win 7 WindowEyes 9.3 Chrome: same as Win8
-
Win 7 Windows Eyes 9.3 FF: same as Win8.
-
Win 10, WindowEyes, Edge: announcement read; mode switching not necessary; on focus, label is read "math, math application".
-
Win 10 WindowEyes, Chrome: same as Win7/8
-
Win 10 WindowEyes, FF: same as Win7/8/XP
-
Win 10 WindowEyes, IE11: same as Edge.
-
Win 10, JAWS, FF: like Win 7/8.
-
Win 10, JAWS, Chrome: like WIn7/8
-
Win 10, JAWS, Edge. No game. But the label is being read "math". Great...
-
ChromeVox: initial announcement is not read; no mode switching necessary; label is read "math, application".
-
Orca Firefox: initial announcement not read; mode switching necessary (to use arrow keys); label is red "math, embedded"