# Accessibility Components

Currently, there are three components designed specifically to support assistive technology.

- a11y/semantic-enrich

- a11y/complexity

- a11y/explorer

- a11y/assistive-mml

To load one of these components, include the component name in the `load` array of the `loader` block of your MathJax configuration. For example:

    <script>
    MathJax = {
      loader: {
        load: ['a11y/semantic-enrich']
      }
    }
    </script>

to load the semantic-enrich extension.

Note

The auto-collapse extension has not yet been converted to version 3, but will be in a future release.

Note

The assistive-menu extension is now part of the standard contextual menu extension, so doesn’t have to be loaded separately.

## a11y/semantic-enrich

The semantic-enrich component connects MathJax with the Speech Rule Engine, which allows MathJax to generate speech strings for the mathematics that it processes. These can be attached to the output for use by screen readers, or for use with the a11y/explorer component described below.

See the Semantic-Enrich Extension Options section for information about configuring this component.

## a11y/complexity

The complexity component computes a complexity measure for each element within an expression, and allows complex expressions to “collapse” to make them both shorter, and simpler to read. The collapsed portions can be expanded with a click of the mouse, or by keyboard actions when using the a11y/explorer extension described below.

See the Complexity Extension Options section for information about configuring this component.

## a11y/explorer

The explorer component allows readers to explore a mathematical expression interactively. When an expression is focused (by tabbing to it, or by clicking on it), a reader can “enter” the expression by pressing shift-space on the keyboard. The arrow keys then move the reader through the expression (down moves to more detail by selecting the first subexpression of the selected expression, up moves to more complete expressions, while left and right move through the sub-expressions at the current level). See the Accessibility Features section for more details about using the expression explorer and its various features.

See the Explorer Extension Options section for information about configuring this component.

## a11y/assistive-mml

The assistive-mml component embeds visually hidden MathML alongside MathJax’s visual rendering while hiding the visual rendering from assistive technology (AT) such as screenreaders. This allows most MathML-enabled screenreaders to read out the underlying mathematics. It’s important to note that Presentation MathML is usually not expressive enough to voice the mathematics properly in all circumstances, which is why screenreaders have to rely on heuristics to analyze the MathML semantically. See the Screen Reader Support section for more details about screen reader support via the assistive-mml extension.

See the Assisitve-MML Extension Options section for information about configuring this component.