Skip to content

Support Matrix a11y tool

Peter Krautzberger edited this page Jun 13, 2016 · 124 revisions

Support

Our test results for the accessibility extensions vary significantly, depending on the combinations of browser, OS, and screenreaders. While we cannot claim universal support for any combination the extensions should provide good results when only 1 or 2 out of 3 requirements are fixed.

Browser support

Support is focused on the currently maintained browsers, i.e.,

  • IE 10+ and Edge
  • Chrome
  • Safari
  • Firefox

Except for IE, older versions should work as well. Due to severe browser bugs, we cannot support IE 9 and below.

Mobile support

Basic voicing (via aria-labels) should work using Apple VoiceOver and Android Talkback. The explorer tool does not yet support sub-expression exploration on mobile browsers / touchscreen interfaces.

Screenreader support

We have tested the following screenreaders with the supported browsers on various OS versions.

  • NVDA 2016.2 (Win XP, 7, 8, 10)
  • JAWS 17 (Win 7, 8, 10)
  • WindowEyes 9.4 (Win 7, 8, 10)
  • ChromeVox 50 (any)
  • VoiceOver (OS 10.10, iOS 9.1)
  • TalkBack (Android Marshmallow)
  • [ORCA (3.18, Ubuntu 16.04)]
  • [Dolphin Screenreader (Windows 10)]

Not all combinations of screenreader and browser are usable but for each one (except ORCA and Dolphin) should find some combination that works.

Other screenreaders and/or assistive technologies were tested but failed due to lack of support for ARIA labels and/or applications.

MathJax output support

While the extensions generally work with any MathJax setup, the explorer only works with MathJax's CommonHTML, SVG, and HTML-CSS output.

Using the explorer

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.

Browse and Focus mode

Most screenreaders have at least two modes for interaction: Browse (or virtual) and Focus (or forms) mode. For more information see Leonie Watson's introduction. Some combinations of browsers and screenreaders do not automatically switch to Focus mode on an element with ARIA Role application.

In this situation, a user will have to manually switch from Browse mode to Focus mode to enable interaction with our explorer application. As an additional complication, MathJax's different outputs can change the behavior; e.g., SVG output might trigger some screenreader behavior specific to SVGs or images.

  • NVDA (Browse/Focus Mode) is switched via NVDA+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).
  • JAWS ("Virtual PC Cursor") is switched via JAWS+Z (default: INS)
  • Window Eyes (Browse/Focus Mode) is switched via CTRL+SHIFT+A
  • VoiceOver has no modes but SHIFT+CTRL+CMD+ARROW will trigger direct input
  • ChromeVox requires no extra switching
  • ORCA: ORCA+A (default: INS)

A key UX problem is to combine the browse mode experience with the Explorer tool.

Readers the screenreader to generate some output while reading the page in browse mode; ARIA labels work reliably here.

But, e.g., when encountering a very long and complex equation, readers want to switch from browse mode to the Explorer tool to explore in detail. For this, readers need to put the relevant equation into focus so they can start the Explorer tool; usually this would be when the screenreader in browse mode reads (or has just read) the label of an equation.

If the screenreader tracks the tabindex while in browse mode, then TAB/SHIFT+TAB might enable this; the screenreader may also have specialized features for this behavior.

The second challenge occurs when exiting the Explorer tool. Readers want to continue in browse mode, in particular find themselves where they left off. In combinations of browsers and screenreaders, manually switching to (or cycling) browse mode helps, but oftentimes there are complications and too often browse mode and tabindex are not kept in sync; screenreaders often track the position of browse-mode when manually switching out of it; then readers have to try to keep the tabindex and browse mode position manually in sync.

We continue to work on improving this interaction to enable a better user experience for everyone.

Missing and excessive voicing

Verbosity settings of screenreaders might change how elements are announced or labels are spoken.

  • WindowEyes offers a configuration option for voicing common mathematical symbols (+, - etc); it is disabled by default.
  • Some screenreaders will voice (some) unexpected dashes, e.g., speaking "left-parenthesis" as "left dash paranthesis".

Summary of test results

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)

Demos

Videos

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.

Clone this wiki locally