Copyright © 2020-2026World Wide Web Consortium.W3C®liability,trademark andpermissive document license rules apply.
The MathML AccessibilityAPI Mappings (MathML-AAM) specification defines howuser agents map Mathematical Markup Language (MathML) [MathML3] to platformaccessibility APIs. It extends the Core AccessibilityAPI Mappings (CORE-AAM) specification [CORE-AAM-1.2].
This specification is intended for user agent developers responsible for MathML accessibility in their product. The goal of this specification is to maximize the accessibility of MathML content by ensuring eachassistive technology receives MathML content with theroles,states, andproperties it expects.
At the present time, this specification contains mappings for the subset of MathML contained in the MathML Core specification [MathML-Core]. The reason why is that this subset contains theelements andattributes from MathML which are exposed toassistive technologies via platformaccessibility APIs.
The MathML-AAM is part of theWAI-ARIA suite described in theWAI-ARIA Overview.
This section describes the status of this document at the time of its publication. A list of currentW3C publications and the latest revision of this technical report can be found in theW3C standards and drafts index.
This document is a work in progress.
To provide feedback, pleasecreate or comment on an issue in theW3C MathML AccessibilityAPI Mappings GitHub repository. If this is not feasible, send email topublic-aria@w3.org.
This document was published by theAccessible Rich Internet Applications Working Group as an Editor's Draft.
Publication as an Editor's Draft does not imply endorsement byW3C and its Members.
This is a draft document and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to cite this document as other than a work in progress.
This document was produced by a group operating under theW3C Patent Policy.W3C maintains apublic list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent that the individual believes containsEssential Claim(s) must disclose the information in accordance withsection 6 of theW3C Patent Policy.
This document is governed by the18 August 2025W3C Process Document.
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key wordMUST in this document is to be interpreted as described inBCP 14 [RFC2119] [RFC8174] when, and only when, it appears in all capitals, as shown here.
Normative sections provide requirements that user agents and assistive technologiesMUST follow for an implementation to conform to this specification.
Non-normative (informative) sections provide information useful to understanding the specification. Such sections may contain examples of recommended practice, but it is not required to follow such recommendations in order to conform to this specification.
There are currently no deprecated requirements.
User agentsMUST conform toGeneral rules for exposingWAI-ARIA semantics in [CORE-AAM-1.2].
User agentsMUST conform toConflicts between native markup semantics andWAI-ARIA in [CORE-AAM-1.2].
User agentsMUST conform toExposing attributes that do not directly map to accessibilityAPI properties in [CORE-AAM-1.2].
| MathML Specification | annotation |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_STATICObject Attribute: tag:annotation |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: TBD |
| MathML Specification | annotation-xml |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:annotation-xml |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: TBD |
| MathML Specification | maction |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:maction |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: TBD |
| MathML Specification | math |
|---|---|
| [wai-aria-1.1] | math role |
| MSAA + IAccessible2 | |
| UIA | |
| ATK | |
| AX API |
| MathML Specification | merror |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:merror |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathRow |
| MathML Specification | mfrac |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_MATH_FRACTIONObject Attribute: tag:mfrac |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathFractionAXAttributes: AXMathFractionNumerator pointing to the first in-flow childAXMathFractionDenominator pointing to the second in-flow child |
| MathML Specification | mi |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_STATICObject Attribute: tag:mi |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathIdentifier |
| MathML Specification | mmultiscripts |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:mmultiscripts |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathMultiscript AXAttributes:
|
| MathML Specification | mn |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_STATICObject Attribute: tag:ms |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathNumber |
| MathML Specification | mo |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_STATICObject Attribute: tag:mo |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathOperator |
| MathML Specification | mover |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:mover |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathUnderOverAXAttributes: AXMathBase pointing to the first in-flow childAXMathOver pointing to the second in-flow child |
| MathML Specification | mpadded |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:mpadded |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: TBD |
| MathML Specification | mphantom |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:mphantom |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathRow |
| MathML Specification | mprescripts |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:mprescripts |
| AX API | Not mapped |
| MathML Specification | mroot |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_MATH_ROOTObject Attribute: tag:mroot |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathRootAXAttributes: AXMathRootRadicand is an array containing the first in-flow child as its unique element,AXMathRootIndex pointing to the second in-flow child |
| MathML Specification | mrow |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:mrow |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathRow |
| MathML Specification | ms |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_STATICObject Attribute: tag:ms |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: nil |
| MathML Specification | mspace |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Not mapped |
| AX API | Not mapped |
| MathML Specification | msqrt |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_MATH_ROOTObject Attribute: tag:mroot |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathSquareRootAXAttributes: AXMathRootRadicand is an array containing the in-flow children |
| MathML Specification | mstyle |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:mstyle |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathRow |
| MathML Specification | msub |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:msub |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathSubscriptSuperscriptAXAttributes: AXMathBase pointing to the first in-flow childAXMathSubscript pointing to the second in-flow child |
| MathML Specification | msubsup |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:msubsup |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathSubscriptSuperscriptAXAttributes: AXMathBase pointing to the first in-flow childAXMathSubscript pointing to the second in-flow childAXMathSuperscript pointing to the third in-flow child |
| MathML Specification | msup |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:msup |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathSubscriptSuperscriptAXAttributes: AXMathBase pointing to the first in-flow childAXMathSuperscript pointing to the second in-flow child |
| MathML Specification | mtable |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_TABLEObject Attribute: tag:mtableInterface(s): AtkTable |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathTable |
| MathML Specification | mtd |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_TABLE_CELLObject Attribute: tag:mtdInterface(s): AtkTableCell |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathTableCell |
| MathML Specification | mtext |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_STATICObject Attribute: tag:mtext |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathText |
| MathML Specification | mtr |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_TABLE_ROWObject Attribute: tag:mtr |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathTableRow |
| MathML Specification | munder |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:munder |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathUnderOverAXAttributes: AXMathBase pointing to the first in-flow childAXMathUnder pointing to the second in-flow child |
| MathML Specification | munderover |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:munderover |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: AXMathUnderOverAXAttributes: AXMathBase pointing to the first in-flow childAXMathUnder pointing to the second in-flow childAXMathOver pointing to the third in-flow child |
| MathML Specification | none |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:none |
| AX API | AXRole:TBDAXSubrole: TBD |
| MathML Specification | semantics |
|---|---|
| [wai-aria-1.1] | No corresponding role |
| MSAA + IAccessible2 | TBD |
| UIA | TBD |
| ATK | Role:ATK_ROLE_SECTIONObject Attribute: tag:semantics |
| AX API | AXRole:NSAccessibilityGroupRoleAXSubrole: TBD |
This section is non-normative.
The following people contributed to the development of this document.
This publication has been funded in part with U.S. Federal funds from the Department of Education, National Institute on Disability, Independent Living, and Rehabilitation Research (NIDILRR), initially under contract number ED-OSE-10-C-0067, then under contract number HHSP23301500054C, and now under HHS75P00120P00168. The content of this publication does not necessarily reflect the views or policies of the U.S. Department of Education, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government.