Role of <semantics>
Groups a primary MathML representation with alternate annotations. Use the element for its semantic role rather than as a visual styling shortcut. Assistive technology, browser math layout, conversion tools, and copy-and-paste behavior all depend on the markup preserving the mathematical structure.
Example markup
<semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics>Allowed children
primary expression and annotations
Only place children inside <semantics> when they match the element's content model. Validate the complete MathML tree after conversion because a locally valid fragment can still be incorrect in its parent context.
Implementation notes
- Keep the primary expression first.
Accessibility and testing
- Keep a meaningful DOM structure instead of replacing the expression with an image.
- Test keyboard selection, screen-reader output, browser rendering, and conversion back to LaTeX.
- Check that fallbacks do not expose raw tags or omit the mathematical relationship represented by <semantics>.