Introduction

Reading scientific and mathematical expressions are essential for students with disabilities for making progress in the field of science, technology, engineering and mathematics. This document recommends best practices for presenting Mathematics in a way which makes it accessible to people with print disabilities.

It is possible that the recommendations for EPUB 3 environments provided in this report are a little different from the recommendations for the web environment. Though most of EPUB 3 reading systems use components from web browsers, the reading systems tend to change and sometimes override the web browser functionality, which results in a somewhat different reading experience.

Recommendations

Fortunately, MathML is now widely supported in web browsers and Ebook reading systems. Therefore, MathML should be used for presenting Mathematics. There are some instances where the use of MathML is not recommended, these are explained in the section that follows the MathML techniques.

Based on test results and future prospects, the following technique is recommended.

Important Implementation Considerations

Based on testing across various reading systems and assistive technologies, the following implementation practices should be carefully observed to ensure optimal accessibility and compatibility.

Namespace Declaration

Do not use global namespaces for MathML (e.g. avoid using the m: prefix namespace within the <html> element). Instead, declare the namespace locally by adding xmlns="http://www.w3.org/1998/Math/MathML" within each <math> element. For implementation examples, refer to the code samples provided in the following sections.

Alternative Text and Image Handling

Deprecated Attributes

Avoid using deprecated MathML attributes for visual styling. These attributes impact the adaptability of visual formatting to user preferences and may not be supported in future implementations:

ARIA Attributes

Do not apply ARIA attributes to MathML elements. Native MathML provides its own accessibility semantics, and adding ARIA attributes (such as role="math", aria-label, or aria-describedby) can create conflicts or redundancy in how assistive technologies interpret the mathematical content.

Technique: Native MathML

Code Example #1: Block MathML

        
<p>Some Text before the math equation</p>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
    <mrow>
        <mi>y</mi>
        <mo>−</mo>
        <msub>
            <mi>y</mi>
            <mn>1</mn>
        </msub>
    </mrow>
    <mo>=</mo>
    <mrow>
        <mfrac>
            <mrow>
                <msub>
                    <mi>y</mi>
                    <mn>2</mn>
                </msub>
                <mo>−</mo>
                <msub>
                    <mi>y</mi>
                    <mn>1</mn>
                </msub>
            </mrow>
            <mrow>
                <msub>
                    <mi>x</mi>
                    <mn>2</mn>
                </msub>
                <mo>−</mo>
                <msub>
                    <mi>x</mi>
                    <mn>1</mn>
                </msub>
            </mrow>
        </mfrac>
        <mo>
            ⁢<!--invisible times-->
        </mo>
        <mrow>
            <mo>(</mo>
            <mrow>
                <mi>x</mi>
                <mo>−</mo>
                <msub>
                    <mi>x</mi>
                    <mn>1</mn>
                </msub>
            </mrow>
            <mo>)</mo>
        </mrow>
    </mrow>
</math>
<p>Some text after the equation.</p>
        
        

Code Example #1 Preview: Block MathML

Some Text before the math equation

y y 1 = y 2 y 1 x 2 x 1 ( x x 1 )

Some text after the equation.

Code Example #2: Inline MathML


<p>
    Some Text before the math equation
    <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline">
        <mrow>
            <mi>y</mi>
            <mo>−</mo>
            <msub>
                <mi>y</mi>
                <mn>1</mn>
            </msub>
        </mrow>
        <mo>=</mo>
        <mrow>
            <mfrac>
                <mrow>
                    <msub>
                        <mi>y</mi>
                        <mn>2</mn>
                    </msub>
                    <mo>−</mo>
                    <msub>
                        <mi>y</mi>
                        <mn>1</mn>
                    </msub>
                </mrow>
                <mrow>
                    <msub>
                        <mi>x</mi>
                        <mn>2</mn>
                    </msub>
                    <mo>−</mo>
                    <msub>
                        <mi>x</mi>
                        <mn>1</mn>
                    </msub>
                </mrow>
            </mfrac>
            <mo>
                ⁢<!--invisible times-->
            </mo>
            <mrow>
                <mo>(</mo>
                <mrow>
                    <mi>x</mi>
                    <mo>−</mo>
                    <msub>
                        <mi>x</mi>
                        <mn>1</mn>
                    </msub>
                </mrow>
                <mo>)</mo>
            </mrow>
        </mrow>
    </math>
    Some text after the equation.
</p>  
        
        

Code Example #2 Preview: Inline MathML

Some Text before the math equation y y 1 = y 2 y 1 x 2 x 1 ( x x 1 ) Some text after the equation.

Where MathML should not be used

MathML should not be used at the places where numbers and symbols are the part of the text, for example.

In these examples, the numbers are actually the words in the text of the publication. Therefore MathML should not be used in such places.

Challenges in production of accessible Math

While MathML is the recommended approach for accessible mathematical content in EPUB publications, the practical implementation of comprehensive MathML markup involves various considerations and challenges in real-world publishing workflows.

These range from technical and workflow integration issues to questions about when and how to apply MathML most effectively across different types of mathematical content. The publishing industry continues to evolve its approaches to balancing accessibility requirements with production efficiency and visual presentation needs.

For a detailed examination of current implementation challenges and ongoing discussions in this area, see Challenges in production of accessible Math.

Acknowledgments

The following people contributed to the development of this document: