Поиск по сайту
Ctrl + K
Вопросы по HTML

Что такое MathML в HTML?

MathML (Mathematical Markup Language) – это язык разметки для отображения математических выражений в веб-страницах. Он является частью стандарта HTML5 и позволяет описывать формулы с помощью тегов, делая их доступными для браузеров, скринридеров и поисковых систем.

Зачем нужен MathML?

MathML используется для:

  • Корректного отображения математических формул без изображений.
  • Улучшенной доступности (читается скринридерами).
  • Машиночитаемости (поисковые системы понимают формулы).
  • Универсальности (не зависит от стилей и шрифтов).

Простейший пример MathML

<math xmlns="http://www.w3.org/1998/Math/MathML">
    <mrow>
        <mi>a</mi>
        <mo>+</mo>
        <mi>b</mi>
        <mo>=</mo>
        <mi>c</mi>
    </mrow>
</math>

В этом примере:

  • <math> – корневой тег MathML.
  • <mi> – обозначает переменные.
  • <mo> – содержит математические операторы.
  • <mrow> – группирует элементы.

Результат:
a + b = c

Примеры сложных формул

Дробь

<math xmlns="http://www.w3.org/1998/Math/MathML">
    <mfrac>
        <mi>a</mi>
        <mi>b</mi>
    </mfrac>
</math>

Результат:
a/b

Квадратный корень

<math xmlns="http://www.w3.org/1998/Math/MathML">
    <msqrt>
        <mi>x</mi>
    </msqrt>
</math>

Результат:
√x

Степень

<math xmlns="http://www.w3.org/1998/Math/MathML">
    <msup>
        <mi>x</mi>
        <mn>2</mn>
    </msup>
</math>

Результат:

Поддержка браузерами

БраузерПоддержка MathML
FirefoxПолная
SafariЧастичная
ChromeОтключена по умолчанию
EdgeНет поддержки

Для Chrome и Edge можно использовать MathJax – JavaScript-библиотеку для рендеринга MathML.

Пример подключения MathJax:

<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML">
</script>

Альтернативы MathML

СпособПреимуществаНедостатки
MathMLСемантический, доступный, машиночитаемыйПлохая поддержка в Chrome/Edge
LaTeX (через MathJax)Гибкость, знаком многим математикамТребует подключаемых скриптов
Изображение (PNG, SVG)Универсальная поддержкаНе машиночитаемо, сложно редактировать

Итог

MathML – мощный, но не везде поддерживаемый инструмент для отображения формул в HTML. Для кросс-браузерной совместимости рекомендуется использовать MathJax или SVG-графику.