-
Notifications
You must be signed in to change notification settings - Fork 21
Support Matrix a11y tool
All latest browsers are support, i.e., IE11, Edge, Firefox, Chrome, Safari.
The explorer works only on CommonHTML, SVG and HTML-CSS output.
- NVDA
- JAWS
- WindowEyes
- ChromeVox
- VoiceOver
- ORCA
- Dolphin
The application for keyboard navigation allows users to explore sub-expressions simultaneously visually and aurally. The application uses the following keys bindings:
-
SHIFT+SPACE: start application (requires focus)
- NOTE: Depending on the implementation quality of the particular browser/screenreader/OS combination (especially Chrome and IE), users might have to disable screenreader reading modes (e.g., "browse mode" in NVDA, "virtual cursor" in JAWS) before being able to launch the application.
-
ESC: stop application.
- NOTE: When restarted, the application will continue where the user left off.
-
UP/DOWN: move up or down the sub-expression tree.
- When moving down, navigation will start at the left-most sub-expression of the level.
- The application plays an aural indicator (earcon) if the user is at the bottom/top level of the tree.
- LEFT/RIGHT: navigate the current level in the sub-expression tree horizontally.
- ENTER: switch collapsed state of the current sub-expression and regenerate speech-text to match (e.g., provide summary upon collapsing).
- SPACE: get positional information, i.e., the current level in the sub-expression tree as well as collapsibility/expandability of the current subexpression.
Most screenreaders have two modes for interaction: browse (or virtual) and focus (or forms) mode. For more information see Leonie Watson's excellent overview.
Since some browser+screenreader combinations do not detect applications correctly, you might have to manually switch to focus mode, e.g.,
- NVDA (Browse/Focus Mode) is switched via NVDAkey+space (default: INS or CapsLock). If MathJax's SVG output is used, NVDA might switch to Focus Mode automatically (in particular on older Windows Versions).
- Window Eyes (Browse/Focus Mode) is switched via ctrl+shift+a
- JAWS ("Virtual PC Cursor") is switched via JAWS+z (default: INS)
- VoiceOver has no modes but shift+ctrl+cmd+KEY will trigger direct input
- ChromeVox requires no extra switching
- ORCA: ORCA+A (default: INS)
Other useful tricks.
JAWS has a feature Move to (Previous) Clickable Element which should allow users to jump (back) to the math just read out by browse/virtual mode and start the walker.
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 | notes: if navigating too quickly, ChromeVox might read "d i v" instead of the speech text (the aria live 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 | ignores aria-hidden (thus speaks chars from visual rendering in addition to label); other: speaks some 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 | |
Window Eyes | Chrome | Win10 | -1 | |
Window Eyes | Chrome | Win8.1 | -1 | |
Window Eyes | Chrome | Win7 | 0 | requires manual switch to focus mode to trigger walker; speaks "application landmark ... end applicatin landmark" around aria-label; 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 | speaks some dashes (plus-or-minus) |
JAWS | Chrome | WinXP | +1 | speaks some dashes (plus-or-minus) |
JAWS | Chrome | Win7 | +1 | speaks some dashes (plus-or-minus); in browse mode adds "empty application" after each expression's aria-label, speaks "shift space" when activating walker, speaks "space" when in walker, sometimes speaks "blank" for each keypress in walker; |
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 | does not voice aria-labels and ignores aria-hidden (thus reading character in visual output; will sometime add "clickable" after those characters) |
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 speaks characters in the visual output) |
- 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.