|

HTML 28 💻 Mathematical Markup Language

MathML (Mathematical Markup Language) is an XML-based markup language used to describe mathematical notations and formulas. It allows you to embed complex mathematical expressions directly into web pages in a structured, accessible way.


What is MathML?

MathML is designed to integrate mathematical formulas into websites, making them machine-readable, accessible to screen readers, and renderable by browsers.

Key Characteristics:

  • XML-based markup language
  • Can be directly embedded in HTML5
  • Modern browsers support MathML natively
  • Accessible — screen readers can interpret and read formulas aloud
  • Semantic — describes the structure of mathematical expressions

Basic Syntax:

<math xmlns="http://www.w3.org/1998/Math/MathML">
    <mrow>
        <mi>x</mi>
        <mo>=</mo>
        <mfrac>
            <mrow>
                <mo>-</mo>
                <mi>b</mi>
                <mo>±</mo>
                <msqrt>
                    <msup><mi>b</mi><mn>2</mn></msup>
                    <mo>-</mo>
                    <mn>4</mn>
                    <mi>a</mi>
                    <mi>c</mi>
                </msqrt>
            </mrow>
            <mrow>
                <mn>2</mn>
                <mi>a</mi>
            </mrow>
        </mfrac>
    </mrow>
</math>

This renders as the quadratic formula:

x = (-b ± √(b² – 4ac)) / 2a


MathML Elements

Core Elements

ElementPurposeDescription
<math>Root elementContainer for the entire MathML expression
<mrow>Horizontal groupGroups elements horizontally (like parentheses)
<mi>Math identifierVariables (e.g., x, y, a, b)
<mo>Math operatorOperators (e.g., +, −, ×, ÷, =, ±, √)
<mn>Math numberNumerical literals (e.g., 2, 4, 10)
<mfrac>FractionNumerator and denominator
<msqrt>Square rootSquare root of an expression
<msup>SuperscriptBase and exponent (e.g., x²)
<msub>SubscriptBase and subscript (e.g., x₁)
<mtable>TableMatrix or array
<mtr>Table rowRow in a matrix
<mtd>Table cellCell in a matrix

Common MathML Elements

1. Basic Math Identifiers & Operators

<math xmlns="http://www.w3.org/1998/Math/MathML">
    <mrow>
        <mi>E</mi>
        <mo>=</mo>
        <mi>m</mi>
        <msup>
            <mi>c</mi>
            <mn>2</mn>
        </msup>
    </mrow>
</math>

E = mc²

2. Fractions

<math>
    <mfrac>
        <mn>1</mn>
        <mn>2</mn>
    </mfrac>
</math>

½

3. Square Root

<math>
    <msqrt>
        <mn>2</mn>
    </msqrt>
</math>

√2

4. Subscript

<math>
    <msub>
        <mi>H</mi>
        <mn>2</mn>
    </msub>
    <mi>O</mi>
</math>

H₂O

5. Superscript

<math>
    <msup>
        <mi>a</mi>
        <mn>2</mn>
    </msup>
    <mo>+</mo>
    <msup>
        <mi>b</mi>
        <mn>2</mn>
    </msup>
    <mo>=</mo>
    <msup>
        <mi>c</mi>
        <mn>2</mn>
    </msup>
</math>

a² + b² = c²


Complete Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MathML - Mathematical Markup Language</title>
    <style>
        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            max-width: 1200px;
            margin: 0 auto;
            padding: 20px;
            background: #f8f9fa;
            line-height: 1.8;
        }

        h1 {
            color: #007bff;
            border-bottom: 3px solid #007bff;
            padding-bottom: 10px;
        }

        h2 {
            color: #28a745;
            margin-top: 30px;
            border-left: 4px solid #28a745;
            padding-left: 15px;
        }

        .math-container {
            background: white;
            padding: 25px;
            border-radius: 8px;
            box-shadow: 0 2px 15px rgba(0,0,0,0.1);
            margin: 20px 0;
            text-align: center;
        }

        .math-container math {
            font-size: 1.5em;
            padding: 15px;
            display: inline-block;
            background: #f8f9fa;
            border-radius: 8px;
            min-width: 100px;
        }

        .grid-2 {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
            margin: 20px 0;
        }

        .example-box {
            background: #e9ecef;
            padding: 15px;
            border-radius: 6px;
            margin: 10px 0;
            border-left: 4px solid #007bff;
            text-align: left;
        }

        .code-block {
            background: #1e1e1e;
            color: #d4d4d4;
            padding: 15px;
            border-radius: 8px;
            overflow-x: auto;
            font-family: 'Courier New', monospace;
            font-size: 0.9em;
            line-height: 1.8;
            margin: 10px 0;
            text-align: left;
        }

        .reference-table {
            width: 100%;
            border-collapse: collapse;
            margin: 20px 0;
        }

        .reference-table th,
        .reference-table td {
            padding: 12px;
            border: 1px solid #ddd;
            text-align: left;
        }

        .reference-table th {
            background: #007bff;
            color: white;
        }

        .reference-table tr:nth-child(even) {
            background: #f8f9fa;
        }

        code {
            background: #f4f4f4;
            padding: 2px 6px;
            border-radius: 4px;
            font-family: 'Courier New', monospace;
            font-size: 0.95em;
            color: #dc3545;
        }

        .badge {
            display: inline-block;
            background: #28a745;
            color: white;
            padding: 2px 12px;
            border-radius: 20px;
            font-size: 0.8em;
            font-weight: bold;
        }
    </style>
</head>
<body>

    <h1>Mathematical Markup Language (MathML)</h1>

    <!-- ====== SECTION 1: QUADRATIC FORMULA ====== -->
    <h2>1. Quadratic Formula</h2>

    <div class="math-container">
        <math xmlns="http://www.w3.org/1998/Math/MathML">
            <mrow>
                <mi>x</mi>
                <mo>=</mo>
                <mfrac>
                    <mrow>
                        <mo>−</mo>
                        <mi>b</mi>
                        <mo>±</mo>
                        <msqrt>
                            <msup>
                                <mi>b</mi>
                                <mn>2</mn>
                            </msup>
                            <mo>−</mo>
                            <mn>4</mn>
                            <mi>a</mi>
                            <mi>c</mi>
                        </msqrt>
                    </mrow>
                    <mrow>
                        <mn>2</mn>
                        <mi>a</mi>
                    </mrow>
                </mfrac>
            </mrow>
        </math>

        <div class="example-box">
            <h4>🔍 Code:</h4>
            <div class="code-block">
                <span style="color: #569cd6;">&lt;math</span> <span style="color: #9cdcfe;">xmlns</span>=<span style="color: #ce9178;">"http://www.w3.org/1998/Math/MathML"</span><span style="color: #569cd6;">&gt;</span>
                <span style="color: #569cd6;">  &lt;mrow&gt;</span>
                <span style="color: #569cd6;">    &lt;mi&gt;</span>x<span style="color: #569cd6;">&lt;/mi&gt;</span>
                <span style="color: #569cd6;">    &lt;mo&gt;</span>=<span style="color: #569cd6;">&lt;/mo&gt;</span>
                <span style="color: #569cd6;">    &lt;mfrac&gt;</span>
                <span style="color: #569cd6;">      &lt;mrow&gt;</span>
                <span style="color: #569cd6;">        &lt;mo&gt;</span>−<span style="color: #569cd6;">&lt;/mo&gt;</span>
                <span style="color: #569cd6;">        &lt;mi&gt;</span>b<span style="color: #569cd6;">&lt;/mi&gt;</span>
                <span style="color: #569cd6;">        &lt;mo&gt;</span>±<span style="color: #569cd6;">&lt;/mo&gt;</span>
                <span style="color: #569cd6;">        &lt;msqrt&gt;</span>
                <span style="color: #569cd6;">          &lt;msup&gt;</span>
                <span style="color: #569cd6;">            &lt;mi&gt;</span>b<span style="color: #569cd6;">&lt;/mi&gt;</span>
                <span style="color: #569cd6;">            &lt;mn&gt;</span>2<span style="color: #569cd6;">&lt;/mn&gt;</span>
                <span style="color: #569cd6;">          &lt;/msup&gt;</span>
                <span style="color: #569cd6;">          &lt;mo&gt;</span>−<span style="color: #569cd6;">&lt;/mo&gt;</span>
                <span style="color: #569cd6;">          &lt;mn&gt;</span>4<span style="color: #569cd6;">&lt;/mn&gt;</span>
                <span style="color: #569cd6;">          &lt;mi&gt;</span>a<span style="color: #569cd6;">&lt;/mi&gt;</span>
                <span style="color: #569cd6;">          &lt;mi&gt;</span>c<span style="color: #569cd6;">&lt;/mi&gt;</span>
                <span style="color: #569cd6;">        &lt;/msqrt&gt;</span>
                <span style="color: #569cd6;">      &lt;/mrow&gt;</span>
                <span style="color: #569cd6;">      &lt;mrow&gt;</span>
                <span style="color: #569cd6;">        &lt;mn&gt;</span>2<span style="color: #569cd6;">&lt;/mn&gt;</span>
                <span style="color: #569cd6;">        &lt;mi&gt;</span>a<span style="color: #569cd6;">&lt;/mi&gt;</span>
                <span style="color: #569cd6;">      &lt;/mrow&gt;</span>
                <span style="color: #569cd6;">    &lt;/mfrac&gt;</span>
                <span style="color: #569cd6;">  &lt;/mrow&gt;</span>
                <span style="color: #569cd6;">&lt;/math&gt;</span>
            </div>
        </div>
    </div>

    <!-- ====== SECTION 2: COMMON FORMULAS ====== -->
    <h2>2. Common Mathematical Formulas</h2>

    <div class="grid-2">

        <!-- Pythagorean Theorem -->
        <div class="math-container">
            <h3>Pythagorean Theorem</h3>
            <math>
                <mrow>
                    <msup>
                        <mi>a</mi>
                        <mn>2</mn>
                    </msup>
                    <mo>+</mo>
                    <msup>
                        <mi>b</mi>
                        <mn>2</mn>
                    </msup>
                    <mo>=</mo>
                    <msup>
                        <mi>c</mi>
                        <mn>2</mn>
                    </msup>
                </mrow>
            </math>
            <div class="example-box">
                <h4>🔍 Code:</h4>
                <div class="code-block">
                    <span style="color: #569cd6;">&lt;math&gt;</span>
                    <span style="color: #569cd6;">  &lt;mrow&gt;</span>
                    <span style="color: #569cd6;">    &lt;msup&gt;&lt;mi&gt;</span>a<span style="color: #569cd6;">&lt;/mi&gt;&lt;mn&gt;</span>2<span style="color: #569cd6;">&lt;/mn&gt;&lt;/msup&gt;</span>
                    <span style="color: #569cd6;">    &lt;mo&gt;</span>+<span style="color: #569cd6;">&lt;/mo&gt;</span>
                    <span style="color: #569cd6;">    &lt;msup&gt;&lt;mi&gt;</span>b<span style="color: #569cd6;">&lt;/mi&gt;&lt;mn&gt;</span>2<span style="color: #569cd6;">&lt;/mn&gt;&lt;/msup&gt;</span>
                    <span style="color: #569cd6;">    &lt;mo&gt;</span>=<span style="color: #569cd6;">&lt;/mo&gt;</span>
                    <span style="color: #569cd6;">    &lt;msup&gt;&lt;mi&gt;</span>c<span style="color: #569cd6;">&lt;/mi&gt;&lt;mn&gt;</span>2<span style="color: #569cd6;">&lt;/mn&gt;&lt;/msup&gt;</span>
                    <span style="color: #569cd6;">  &lt;/mrow&gt;</span>
                    <span style="color: #569cd6;">&lt;/math&gt;</span>
                </div>
            </div>
        </div>

        <!-- Einstein's Equation -->
        <div class="math-container">
            <h3>Einstein's Mass-Energy Equivalence</h3>
            <math>
                <mrow>
                    <mi>E</mi>
                    <mo>=</mo>
                    <mi>m</mi>
                    <msup>
                        <mi>c</mi>
                        <mn>2</mn>
                    </msup>
                </mrow>
            </math>
            <div class="example-box">
                <h4>🔍 Code:</h4>
                <div class="code-block">
                    <span style="color: #569cd6;">&lt;math&gt;</span>
                    <span style="color: #569cd6;">  &lt;mrow&gt;</span>
                    <span style="color: #569cd6;">    &lt;mi&gt;</span>E<span style="color: #569cd6;">&lt;/mi&gt;</span>
                    <span style="color: #569cd6;">    &lt;mo&gt;</span>=<span style="color: #569cd6;">&lt;/mo&gt;</span>
                    <span style="color: #569cd6;">    &lt;mi&gt;</span>m<span style="color: #569cd6;">&lt;/mi&gt;</span>
                    <span style="color: #569cd6;">    &lt;msup&gt;&lt;mi&gt;</span>c<span style="color: #569cd6;">&lt;/mi&gt;&lt;mn&gt;</span>2<span style="color: #569cd6;">&lt;/mn&gt;&lt;/msup&gt;</span>
                    <span style="color: #569cd6;">  &lt;/mrow&gt;</span>
                    <span style="color: #569cd6;">&lt;/math&gt;</span>
                </div>
            </div>
        </div>

        <!-- Chemical Formula -->
        <div class="math-container">
            <h3>Chemical Formula (Water)</h3>
            <math>
                <mrow>
                    <msub>
                        <mi>H</mi>
                        <mn>2</mn>
                    </msub>
                    <mi>O</mi>
                </mrow>
            </math>
            <div class="example-box">
                <h4>🔍 Code:</h4>
                <div class="code-block">
                    <span style="color: #569cd6;">&lt;math&gt;</span>
                    <span style="color: #569cd6;">  &lt;mrow&gt;</span>
                    <span style="color: #569cd6;">    &lt;msub&gt;</span>
                    <span style="color: #569cd6;">      &lt;mi&gt;</span>H<span style="color: #569cd6;">&lt;/mi&gt;</span>
                    <span style="color: #569cd6;">      &lt;mn&gt;</span>2<span style="color: #569cd6;">&lt;/mn&gt;</span>
                    <span style="color: #569cd6;">    &lt;/msub&gt;</span>
                    <span style="color: #569cd6;">    &lt;mi&gt;</span>O<span style="color: #569cd6;">&lt;/mi&gt;</span>
                    <span style="color: #569cd6;">  &lt;/mrow&gt;</span>
                    <span style="color: #569cd6;">&lt;/math&gt;</span>
                </div>
            </div>
        </div>

        <!-- Derivative -->
        <div class="math-container">
            <h3>Derivative</h3>
            <math>
                <mfrac>
                    <mrow>
                        <mi>d</mi>
                        <mi>f</mi>
                    </mrow>
                    <mrow>
                        <mi>d</mi>
                        <mi>x</mi>
                    </mrow>
                </mfrac>
                <mo>=</mo>
                <mn>2</mn>
                <mi>x</mi>
            </math>
            <div class="example-box">
                <h4>🔍 Code:</h4>
                <div class="code-block">
                    <span style="color: #569cd6;">&lt;math&gt;</span>
                    <span style="color: #569cd6;">  &lt;mfrac&gt;</span>
                    <span style="color: #569cd6;">    &lt;mrow&gt;&lt;mi&gt;</span>d<span style="color: #569cd6;">&lt;/mi&gt;&lt;mi&gt;</span>f<span style="color: #569cd6;">&lt;/mi&gt;&lt;/mrow&gt;</span>
                    <span style="color: #569cd6;">    &lt;mrow&gt;&lt;mi&gt;</span>d<span style="color: #569cd6;">&lt;/mi&gt;&lt;mi&gt;</span>x<span style="color: #569cd6;">&lt;/mi&gt;&lt;/mrow&gt;</span>
                    <span style="color: #569cd6;">  &lt;/mfrac&gt;</span>
                    <span style="color: #569cd6;">  &lt;mo&gt;</span>=<span style="color: #569cd6;">&lt;/mo&gt;</span>
                    <span style="color: #569cd6;">  &lt;mn&gt;</span>2<span style="color: #569cd6;">&lt;/mn&gt;</span>
                    <span style="color: #569cd6;">  &lt;mi&gt;</span>x<span style="color: #569cd6;">&lt;/mi&gt;</span>
                    <span style="color: #569cd6;">&lt;/math&gt;</span>
                </div>
            </div>
        </div>
    </div>

    <!-- ====== SECTION 3: COMPLEX EXPRESSIONS ====== -->
    <h2>3. Complex Expressions</h2>

    <div class="grid-2">

        <!-- Summation -->
        <div class="math-container">
            <h3>Summation</h3>
            <math>
                <mrow>
                    <munderover>
                        <mo>∑</mo>
                        <mrow>
                            <mi>i</mi>
                            <mo>=</mo>
                            <mn>1</mn>
                        </mrow>
                        <mi>n</mi>
                    </munderover>
                    <msup>
                        <mi>i</mi>
                        <mn>2</mn>
                    </msup>
                </mrow>
            </math>
            <div class="example-box">
                <h4>🔍 Code:</h4>
                <div class="code-block">
                    <span style="color: #569cd6;">&lt;math&gt;</span>
                    <span style="color: #569cd6;">  &lt;mrow&gt;</span>
                    <span style="color: #569cd6;">    &lt;munderover&gt;</span>
                    <span style="color: #569cd6;">      &lt;mo&gt;</span>∑<span style="color: #569cd6;">&lt;/mo&gt;</span>
                    <span style="color: #569cd6;">      &lt;mrow&gt;&lt;mi&gt;</span>i<span style="color: #569cd6;">&lt;/mi&gt;&lt;mo&gt;</span>=<span style="color: #569cd6;">&lt;/mo&gt;&lt;mn&gt;</span>1<span style="color: #569cd6;">&lt;/mn&gt;&lt;/mrow&gt;</span>
                    <span style="color: #569cd6;">      &lt;mi&gt;</span>n<span style="color: #569cd6;">&lt;/mi&gt;</span>
                    <span style="color: #569cd6;">    &lt;/munderover&gt;</span>
                    <span style="color: #569cd6;">    &lt;msup&gt;&lt;mi&gt;</span>i<span style="color: #569cd6;">&lt;/mi&gt;&lt;mn&gt;</span>2<span style="color: #569cd6;">&lt;/mn&gt;&lt;/msup&gt;</span>
                    <span style="color: #569cd6;">  &lt;/mrow&gt;</span>
                    <span style="color: #569cd6;">&lt;/math&gt;</span>
                </div>
            </div>
        </div>

        <!-- Integral -->
        <div class="math-container">
            <h3>Integral</h3>
            <math>
                <mrow>
                    <msubsup>
                        <mo>∫</mo>
                        <mn>0</mn>
                        <mn>∞</mn>
                    </msubsup>
                    <msup>
                        <mi>e</mi>
                        <mrow>
                            <mo>−</mo>
                            <msup>
                                <mi>x</mi>
                                <mn>2</mn>
                            </msup>
                        </mrow>
                    </msup>
                    <mi>d</mi>
                    <mi>x</mi>
                </mrow>
            </math>
            <div class="example-box">
                <h4>🔍 Code:</h4>
                <div class="code-block">
                    <span style="color: #569cd6;">&lt;math&gt;</span>
                    <span style="color: #569cd6;">  &lt;mrow&gt;</span>
                    <span style="color: #569cd6;">    &lt;msubsup&gt;</span>
                    <span style="color: #569cd6;">      &lt;mo&gt;</span>∫<span style="color: #569cd6;">&lt;/mo&gt;</span>
                    <span style="color: #569cd6;">      &lt;mn&gt;</span>0<span style="color: #569cd6;">&lt;/mn&gt;</span>
                    <span style="color: #569cd6;">      &lt;mn&gt;</span>∞<span style="color: #569cd6;">&lt;/mn&gt;</span>
                    <span style="color: #569cd6;">    &lt;/msubsup&gt;</span>
                    <span style="color: #569cd6;">    &lt;msup&gt;</span>
                    <span style="color: #569cd6;">      &lt;mi&gt;</span>e<span style="color: #569cd6;">&lt;/mi&gt;</span>
                    <span style="color: #569cd6;">      &lt;mrow&gt;&lt;mo&gt;</span>−<span style="color: #569cd6;">&lt;/mo&gt;&lt;msup&gt;&lt;mi&gt;</span>x<span style="color: #569cd6;">&lt;/mi&gt;&lt;mn&gt;</span>2<span style="color: #569cd6;">&lt;/mn&gt;&lt;/msup&gt;&lt;/mrow&gt;</span>
                    <span style="color: #569cd6;">    &lt;/msup&gt;</span>
                    <span style="color: #569cd6;">    &lt;mi&gt;</span>d<span style="color: #569cd6;">&lt;/mi&gt;</span>
                    <span style="color: #569cd6;">    &lt;mi&gt;</span>x<span style="color: #569cd6;">&lt;/mi&gt;</span>
                    <span style="color: #569cd6;">  &lt;/mrow&gt;</span>
                    <span style="color: #569cd6;">&lt;/math&gt;</span>
                </div>
            </div>
        </div>
    </div>

    <!-- ====== SECTION 4: MATRICES ====== -->
    <h2>4. Matrices</h2>

    <div class="math-container">
        <h3>2×2 Matrix</h3>
        <math>
            <mrow>
                <mo>[</mo>
                <mtable>
                    <mtr>
                        <mtd><mi>a</mi></mtd>
                        <mtd><mi>b</mi></mtd>
                    </mtr>
                    <mtr>
                        <mtd><mi>c</mi></mtd>
                        <mtd><mi>d</mi></mtd>
                    </mtr>
                </mtable>
                <mo>]</mo>
            </mrow>
        </math>

        <div class="example-box">
            <h4>🔍 Code:</h4>
            <div class="code-block">
                <span style="color: #569cd6;">&lt;math&gt;</span>
                <span style="color: #569cd6;">  &lt;mrow&gt;</span>
                <span style="color: #569cd6;">    &lt;mo&gt;</span>[<span style="color: #569cd6;">&lt;/mo&gt;</span>
                <span style="color: #569cd6;">    &lt;mtable&gt;</span>
                <span style="color: #569cd6;">      &lt;mtr&gt;</span>
                <span style="color: #569cd6;">        &lt;mtd&gt;&lt;mi&gt;</span>a<span style="color: #569cd6;">&lt;/mi&gt;&lt;/mtd&gt;</span>
                <span style="color: #569cd6;">        &lt;mtd&gt;&lt;mi&gt;</span>b<span style="color: #569cd6;">&lt;/mi&gt;&lt;/mtd&gt;</span>
                <span style="color: #569cd6;">      &lt;/mtr&gt;</span>
                <span style="color: #569cd6;">      &lt;mtr&gt;</span>
                <span style="color: #569cd6;">        &lt;mtd&gt;&lt;mi&gt;</span>c<span style="color: #569cd6;">&lt;/mi&gt;&lt;/mtd&gt;</span>
                <span style="color: #569cd6;">        &lt;mtd&gt;&lt;mi&gt;</span>d<span style="color: #569cd6;">&lt;/mi&gt;&lt;/mtd&gt;</span>
                <span style="color: #569cd6;">      &lt;/mtr&gt;</span>
                <span style="color: #569cd6;">    &lt;/mtable&gt;</span>
                <span style="color: #569cd6;">    &lt;mo&gt;</span>]<span style="color: #569cd6;">&lt;/mo&gt;</span>
                <span style="color: #569cd6;">  &lt;/mrow&gt;</span>
                <span style="color: #569cd6;">&lt;/math&gt;</span>
            </div>
        </div>
    </div>

    <!-- ====== SECTION 5: ELEMENT REFERENCE ====== -->
    <h2>5. MathML Element Reference</h2>

    <table class="reference-table">
        <thead>
            <tr>
                <th>Element</th>
                <th>Purpose</th>
                <th>Example</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td><code>&lt;math&gt;</code></td>
                <td>Root element</td>
                <td><code>&lt;math&gt;...&lt;/math&gt;</code></td>
            </tr>
            <tr>
                <td><code>&lt;mrow&gt;</code></td>
                <td>Horizontal group</td>
                <td><code>&lt;mrow&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mi&gt;b&lt;/mi&gt;&lt;/mrow&gt;</code></td>
            </tr>
            <tr>
                <td><code>&lt;mi&gt;</code></td>
                <td>Math identifier (variable)</td>
                <td><code>&lt;mi&gt;x&lt;/mi&gt;</code></td>
            </tr>
            <tr>
                <td><code>&lt;mo&gt;</code></td>
                <td>Math operator</td>
                <td><code>&lt;mo&gt;=&lt;/mo&gt;</code></td>
            </tr>
            <tr>
                <td><code>&lt;mn&gt;</code></td>
                <td>Math number</td>
                <td><code>&lt;mn&gt;2&lt;/mn&gt;</code></td>
            </tr>
            <tr>
                <td><code>&lt;mfrac&gt;</code></td>
                <td>Fraction</td>
                <td><code>&lt;mfrac&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/mfrac&gt;</code></td>
            </tr>
            <tr>
                <td><code>&lt;msqrt&gt;</code></td>
                <td>Square root</td>
                <td><code>&lt;msqrt&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msqrt&gt;</code></td>
            </tr>
            <tr>
                <td><code>&lt;msup&gt;</code></td>
                <td>Superscript</td>
                <td><code>&lt;msup&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msup&gt;</code></td>
            </tr>
            <tr>
                <td><code>&lt;msub&gt;</code></td>
                <td>Subscript</td>
                <td><code>&lt;msub&gt;&lt;mi&gt;H&lt;/mi&gt;&lt;mn&gt;2&lt;/mn&gt;&lt;/msub&gt;</code></td>
            </tr>
            <tr>
                <td><code>&lt;mtable&gt;</code></td>
                <td>Table (matrix)</td>
                <td><code>&lt;mtable&gt;...&lt;/mtable&gt;</code></td>
            </tr>
            <tr>
                <td><code>&lt;mtr&gt;</code></td>
                <td>Table row</td>
                <td><code>&lt;mtr&gt;...&lt;/mtr&gt;</code></td>
            </tr>
            <tr>
                <td><code>&lt;mtd&gt;</code></td>
                <td>Table cell</td>
                <td><code>&lt;mtd&gt;&lt;mi&gt;a&lt;/mi&gt;&lt;/mtd&gt;</code></td>
            </tr>
        </tbody>
    </table>

    <!-- ====== SECTION 6: BEST PRACTICES ====== -->
    <h2>6. Best Practices</h2>

    <div style="background: #d4edda; padding: 20px; border-radius: 8px; border-left: 4px solid #28a745;">
        <h3 style="margin-top: 0; color: #155724;">✅ Do This:</h3>
        <ul>
            <li>Include the <strong>XML namespace</strong> in the <code>&lt;math&gt;</code> tag</li>
            <li>Use <strong>semantic elements</strong> to describe the structure of the formula</li>
            <li>Use <code>&lt;mrow&gt;</code> to group elements as needed</li>
            <li>Test formulas in <strong>multiple browsers</strong> for compatibility</li>
            <li>Provide a <strong>text alternative</strong> for formulas as needed</li>
            <li>Use <strong>screen reader testing</strong> to ensure accessibility</li>
        </ul>
    </div>

    <div style="background: #f8d7da; padding: 20px; border-radius: 8px; border-left: 4px solid #dc3545; margin-top: 15px;">
        <h3 style="margin-top: 0; color: #721c24;">❌ Don't Do This:</h3>
        <ul>
            <li>Don't use <strong>images</strong> for formulas when MathML is available</li>
            <li>Don't forget to close all <strong>MathML tags</strong></li>
            <li>Don't use <strong>presentational</strong> MathML when semantic is possible</li>
            <li>Don't rely on <strong>MathML</strong> for complex visual rendering without fallback</li>
            <li>Don't use <strong>inline CSS</strong> to style MathML — use browser-native rendering</li>
        </ul>
    </div>

    <!-- ====== SECTION 7: ACCESSIBILITY ====== -->
    <h2>7. Accessibility</h2>

    <div class="math-container" style="text-align: left;">
        <div class="example-box">
            <h4>♿ MathML and Screen Readers</h4>
            <p>
                MathML is designed to be <strong>accessible</strong> to screen readers. Properly structured MathML allows assistive technologies to:
            </p>
            <ul>
                <li><strong>Read formulas aloud</strong> with correct mathematical pronunciation</li>
                <li><strong>Navigate</strong> through complex expressions</li>
                <li><strong>Provide</strong> alternative presentations</li>
            </ul>
            <p>
                <strong>Example:</strong> The quadratic formula above would be read as:
                <br>
                <em>"x equals negative b plus or minus the square root of b squared minus four a c, all over two a."</em>
            </p>
        </div>
    </div>

</body>
</html>

Quick Reference

ElementPurposeDescription
<math>Root elementContainer for all MathML content
<mrow>Horizontal groupGroups elements horizontally
<mi>Math identifierVariables (x, y, a, b, etc.)
<mo>Math operator+, −, ×, ÷, =, ±, √, etc.
<mn>Math numberNumerical literals (2, 4, 10, etc.)
<mfrac>FractionNumerator and denominator
<msqrt>Square rootSquare root of an expression
<msup>SuperscriptBase and exponent (x²)
<msub>SubscriptBase and subscript (x₁)
<mtable>Table/MatrixMatrix or array structure
<mtr>Table rowRow in a matrix
<mtd>Table cellCell in a matrix

Common MathML Expressions

ExpressionMathML Code
Quadratic Formulax = (-b ± √(b² − 4ac)) / 2a
Pythagorean Theorema² + b² = c²
Einstein’s EquationE = mc²
Summation∑ᵢ₌₁ⁿ i²
Derivativedf/dx = 2x
Matrix[a b; c d]

Pro Tip: MathML is the best way to display mathematical formulas on the web. It’s accessible, semantic, and browser-native. While not all browsers support it perfectly, modern browsers like Chrome, Firefox, Safari, and Edge all support MathML. Use it to make your math content more accessible and maintainable!


Stop using slow, ad-bloated tool sites! 🤮

🔎 Search “KandZ Tools” on Google to use many professional utilities for free.

KandZ.me is the ultimate minimalist hub for:
✅ Finance (Mortgage, Interest, Inflation)
✅ Tech (Base64, JSON, Dev Suite, IP)
✅ Health (BMI, BMR, TDEE)
✅ Productivity (Timer, Workspace, QR)

⚡️ Fast & Private
🔒 No data leaves your device
💎 100% Free

🔗 Use it now: https://tools.kandz.me
🔖 Bookmark it—you’ll need it later!