Role of <mi>
Represents an identifier such as a variable or function name. 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
<mi>x</mi>Allowed children
text
Only place children inside <mi> 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
- Single letters are commonly italicized by default.
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 <mi>.