Explorer Keyboard Commands
The expression explorer is used to interact with a mathematical expression using keyboard commands. This allows a reader to traverse an expression in a mathematical meaningful way, examining sub-expressions and diving into details as they see fit.
The keyboard explorer supports multiple types of output: Speech and Braille output for the sub-expression that is explored, magnification of that sub-expression, and synchronised highlighting with the navigation.
Navigation starts when a MathJax expression is focused and can be quit at any time during the exploration. When navigation is restarted, the application will begin at the top level of the expression again. There is a menu setting that instead causes the explorer to start where the user has left off within the expression when it is re-focused. Note, however, that this may mean that only that sub-expression will be read when the page is read as a whole.
Overview of key bindings
Essential keys
- Down
Explore the next lower level of the formula by moving down in the sub-expression tree. Exploration will start at the left-most sub-expression on the level.
- Right
Navigate the expression horizontally by moving to the next sub-expression on the current level.
- Left
Navigate the expression horizontally by moving to the previous sub-expression on the current level.
- Up
Move up the sub-expression tree.
- Tab
Move to the next focusable item in the page.
- Escape
Leave exploration mode while keeping the expression focused.
- Enter
Re-activate the explorer after leaving it, provided it still has the focus.
An earcon is played as indicator that the boundary of an expression has been reached when moving in any direction.
Advanced Keys
- Space
Opens the MathJax contextual menu.
- Enter
Collapse or expand the expression under cursor, if possible. The speech-text is regenerated to match.
- Home
Jump directly to the top-most level of the expression.
- S
Toggle auto-voicing with synchronous highlighting. This uses the browser’s speech synthesis API directly, so is available even without a screen reader. This mode remains in effect until turned off. It can also be controlled via the MathJax contextual menu.
- B
Toggle the “Combine with Speech” menu item, which tells MathJax whether to include the Braille rendering within the
aria-labelattribute along with the speech text or whether to put it in thearia-braillelabelattribute. See the notes below.- D
Get positional information; i.e., the current level in the sub-expression tree as well as collapsibility/expandability of the current subexpression.
- X
Summarise the selected sub-expression, without collapsing it.
- Z
Give a detailed description of the selected sub-expression, without expanding it.
- V
Mark the current position for later retrieval.
- P
Go to the last marked position in the expression. Repeated use cycles through the marked locations in the expression.
- U
Undo all marked locations, and go to the position where navigation was started.
- >
Switch rule sets between MathSpeak and ClearSpeak, if both are available for the current locale.
- <
Cycle styles or preferences for the currently active rule sets.
Special Notes
Some screen readers have separate “focus” and “browse” modes. MathJax’s explorer is set up to initiate focus mode when an expression is focused, but in some situations that may not occur automatically. In that case, you will have to enter focus mode manually in order to use the explorer. How this is done depends on the screen reader, so consult its documentation for details.
Once the focus mode is started, you may need to exit focus mode manually when you are done exploring the expression. How that is done depends on the screen reader, so consult the reader’s documentation for details on how to accomplish that.
For users of tactile Braille devices, MathJax handles the Braille
notation using the aria-braillelabel attribute (part of the
ARIA specification), but not all screen readers process this attribute
properly. To help accommodate this limitation, MathJax provides an
option that will put the Braille into the aria-label attribute
instead, along with the generated speech, as some screen readers will
pass the Braille on to the Braille device that way. NVDA users will
want to enable this feature, for example.
This feature can be enabled by selecting the “Combine with Speech” item in the Braille submenu of the MathJax contextual menu, or by pressing the b key while exploring an expression.