Элемент <annotation> используется для добавления аннотаций или комментариев к математическим выражениям MathML. Содержимое внутри <annotation> предназначено для экранных ридеров, поисковых систем и других технологий и не отображается в браузере. Исключением являются браузеры Safari и Firefox, которые покажут содержимое <annotation>, если первый дочерний элемент внутри <semantics> содержит ошибки или отсутствует.
<annotation> обычно применяется для текстовых описаний, которые могут быть прочитаны вслух или отображены в текстовом виде. Это особенно полезно для пользователей с ограниченными возможностями, которые используют вспомогательные технологии, такие как программы чтения с экрана.
<math display="block">
<semantics>
<mrow>
<mn>3</mn>
<mo>+</mo>
<mn>2</mn>
</mrow>
<annotation>Сложение двух чисел: три и два.</annotation>
<semantics>
</math>
Аннотация также может содержать альтернативное представление математического выражения, например, в виде LaTeX. Для этого к <annotation> добавляется атрибут encoding, указывающий на тип данных. Для LaTeX значением будет application/x-tex.
<math display="block">
<semantics>
<mrow>
<mi>E</mi>
<mo>=</mo>
<mi>m</mi>
<msup>
<mi>c</mi>
<mn>2</mn>
</msup>
</mrow>
<annotation encoding="application/x-tex">E=mc^2</annotation>
</semantics>
</math>
Синтаксис
Внутри <semantics> первым дочерним элементом идёт математическое выражение, после которого располагается один или несколько <annotation>. Схематично это выглядит так.
<semantics>
<mrow>Математическое выражение</mrow>
<annotation>Аннотация к нему</annotation>
</semantics>
Атрибуты
- encoding
- Указывает, в каком формате написана аннотация. К примеру, для LaTeX используется значение application/x-tex.
Пример
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>MathML</title>
</head>
<body>
<math display="block">
<semantics>
<mrow>
<munderover>
<mo>∫</mo>
<mi>a</mi>
<mi>b</mi>
</munderover>
<mi>f</mi>
<mo>'</mo>
<mo fence="true" form="prefix" stretchy="false">(</mo>
<mi>x</mi>
<mo fence="true" form="postfix" stretchy="false">)</mo>
<mi>d</mi>
<mi>x</mi>
<mo>=</mo>
<mi>f</mi>
<mo fence="true" form="prefix" stretchy="false">(</mo>
<mi>b</mi>
<mo fence="true" form="postfix" stretchy="false">)</mo>
<mo>−</mo>
<mi>f</mi>
<mo fence="true" form="prefix" stretchy="false">(</mo>
<mi>a</mi>
<mo fence="true" form="postfix" stretchy="false">)</mo>
</mrow>
<annotation encoding="StarMath 5.0">int from a to b f'(x) dx = f(b) - f(a)</annotation>
</semantics>
</math>
</body>
</html>
Спецификация
MathML Core
Браузеры
Браузеры
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.