Word aligned equations created via the three different known techniques each have different failure modes
- Dominant language
- VBA
- Stars
- 7
- Forks
- 4
- PR merge metrics
- No merged PRs in 30d
Description
## Description / Summary
When creating a two-line aligned equation system in Microsoft Word’s built-in equation editor using the three documented techniques, each fails in a unique way. The failures are reproducible in multiple screen readers: **NVDA (MathCAT plugin and NVDA w/MathCAT in NVDA core), JAWS, and Narrator**. The three methods tried were:
| Technique | Visual result in Word | NVDA/MathCAT result |
|---|---|---|
| **Shift+Enter** (soft return inside one equation) + **Align at character** (e.g., `=`) | **Looks correct**: the two lines align at the equals sign after using “Align at this character.” | **Fails on line 1**: attempting to read the first equation triggers an “invalid math formatting” / invalid MathML error, so the first line is not read. |
| **UnicodeMath `\eqarray(...)`** with `&` (alignment point) and `@` (new line) | **Looks correct**: visually matches the Shift+Enter version (aligned at `=`). | **Reads both lines but ambiguous**: Screen readers read through both equations, but do **not announce the end of line 1 / start of line 2** (line boundary not communicated). |
| **Paste MathML** (generated from LaTeX `aligned`, e.g., via MathJax) | **Looks unacceptable**: equals signs are **not lined up**; layout appears like two centered columns rather than aligned at `=`. The extra whitespace makes each equation look like two separate equations. | **Best speech**: Screen readers announce there are **two lines** and clearly indicate **Line 1 ...** and **Line 2 ...**, reading both lines cleanly. |
The recording narrates the three authoring approaches and the observed outcomes:
[Video: MS_Word_and_NVDA_Aligned_Equation_Issues (10 minutes)](https://iu.mediaspace.kaltura.com/media/t/1_2o6v97cw)
## Expected result
* Screen readers should reliably read **all lines** of aligned equations created in Word.
* The spoken output should clearly communicate **line boundaries** (e.g., “line 1… line 2…”).
* The visual rendering should match typical expectations for aligned equations (alignment at `=`) while preserving accessible structure.
## Actual result
### Method 1 (Shift+Enter + Align at `=`)
* **NVDA + MathCAT**: attempting to read the first equation results in an error and speech output failure (“invalid math formatting found” appears in the workflow narration).
* NVDA log shows MathCAT exception due to invalid MathML; the MathML includes an extra empty math element appended:
```txt
ERROR - mathPres.MathCAT.MathCAT.MathCAT.getSpeechForMathMl (16:02:14.733) - MainThread (9252):
Traceback (most recent call last):
File "mathPres\MathCAT\MathCAT.pyc", line 358, in getSpeechForMathMl
OSError: Invalid MathML input:
Error is: XML parsing error at 79: {ExpectedComment, ExpectedProcessingInstruction, ExpectedWhitespace}
```
* **JAWS and Narrator** also fail to read the first equation in this aligned pair (same practical outcome as NVDA).
### Method 2 (UnicodeMath `\eqarray`)
* Reads both lines, but does **not** announce the line boundary; line 2 content follows immediately after line 1, making it difficult for students to know where the first equation ends and the second begins.
* JAWS and Narrator show the same “missing boundary announcement” behavior for the second pair.
### Method 3 (Pasted MathML created by MathJax 4 from LaTeX equivalent `\begin{aligned} ... \end{aligned}`)
* Speech is best: announces “Two lines. Line 1 … Line 2 …” with pauses.
* Visual appearance is **unacceptable**: equals signs are not lined up; content appears centered in columns rather than aligned at the equals sign. The spacing makes it look like each line is two separate equations.
## Steps to reproduce
### Method 1: Shift+Enter + Align at Character
These steps match commonly published guidance for aligning equations in Word: Shift+Enter to add a new line within the same equation object, then “Align at this character” at the equals sign. [\[desystemshelp.leeds.ac.uk\]](https://desystemshelp.leeds.ac.uk/ally-staff/aligning-equations-in-word/), [\[help.typefi.com\]](https://help.typefi.com/hc/en-us/articles/360001852955-Break-and-horizontally-align-MathML-equations)
1. Open **Microsoft Word** and create a new blank document.
2. Insert an equation with **Alt + =**.
3. Ensure the "Unicode" mode is active.
4. Type the first equation: `x + y = 8`.
5. Press **Shift + Enter** to start a new line within the same equation object.
6. Type the second equation: `10x - 6y = 26`.
7. For each line, place the cursor immediately before the `=` and use the context menu to choose **Align at this character** (or “Align at =”, depending on UI wording).
8. Ensure both equations are converted to **Professional** form.
9. Use a screen reader to read/navigate the first line of the aligned equation object: * NVDA + MathCAT: attempt to read equation (e.g., with arrow navigation or math reading commands).
10. **Observed:** NVDA fails to read the first line; NVDA log shows invalid MathML with an extra empty `` appended.
### Method 2: UnicodeMath `\eqarray`
1. Insert an equation with **Alt + =**.
2. Ensure the "Unicode" mode is active.
3. Type: `\eqarray(x+y&=8@10x-6y&=26)`
4. Convert to **Professional** form (you should now have the two aligned equations).
* Note: This method is documented by Microsoft for aligning an equation array. [\[support.mi...rosoft.com\]](https://support.microsoft.com/en-us/office/linear-format-equations-using-unicodemath-and-latex-in-word-2e00618d-b1fd-49d8-8cb4-8d17f25754f8)
5. **Observed:** Both equations are spoken, but the transition between lines is not announced (line 2 begins immediately after line 1).
### Method 3: Paste MathML from LaTeX aligned
1. Move to a blank line in the document.
2. Use MathJax 4 to generate MathML for the LaTeX:
```tex
\begin{aligned}
x+y &= 8 \\
10x-6y &= 26
\end{aligned}
```
or click to get MathML to copy
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block" aria-label="2 lines Line 1: x plus y equals 8 Line 2: 10 x minus 6 y equals 26" aria-braillelabel="⠭⠬⠽⠀⠨⠅⠀⠼⠦⠀⠼⠂⠴⠭⠤⠖⠽⠀⠨⠅⠀⠼⠆⠖">
<mtable displaystyle="true" columnalign="right left" columnspacing="0em" rowspacing="3pt">
<mtr>
<mtd>
<mrow>
<mi>x</mi>
<mo>+</mo>
<mi>y</mi>
</mrow>
</mtd>
<mtd>
<mstyle indentshift="2em">
<mi></mi>
<mrow>
<mrow></mrow>
<mrow>
<mrow></mrow>
<mo>=</mo>
<mn>8</mn>
</mrow>
</mrow>
</mstyle>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mrow>
<mn>10</mn>
<mo>⁢</mo>
<mi>x</mi>
</mrow>
<mo>−</mo>
<mrow>
<mn>6</mn>
<mo>⁢</mo>
<mi>y</mi>
</mrow>
</mrow>
</mtd>
<mtd>
<mstyle indentshift="2em">
<mi></mi>
<mrow>
<mrow></mrow>
<mrow>
<mrow></mrow>
<mo>=</mo>
<mn>26</mn>
</mrow>
</mrow>
</mstyle>
</mtd>
</mtr>
</mtable>
</math>
3. Paste the MathML.
4. **Observed:** Spoken output correctly indicates line boundaries (“Two lines: Line 1… Line 2…”), but the visual alignment is not at the equal sign (each equation appears as two centered columns; see screenshot below):
## Impact
* Creates either **unreadable** content (Method 1) or **ambiguous** content (Method 2).
* The only method producing good speech (Method 3) produces unacceptable visual formatting for many authors/faculty.
## Evidence / Logs
The NVDA log after failing to read math created with Method 1:
[nvda.log](https://github.com/user-attachments/files/25784433/nvda.log)
A reference Word doc showing “three ways” of creating the same aligned system exists as:
[MS_Word_Aligned_Equations_Three_Ways.docx](https://github.com/user-attachments/files/25784483/MS_Word_Aligned_Equations_Three_Ways.docx)
## Environment
* Word version/build: `Microsoft® Word for Microsoft 365 MSO (Version 2604 Build 16.0.19826.20002) 64-bit` (Beta Channel)
* Windows version: `Windows 11 Enterprise Version 10.0.26100 Build 26100`
* Screen readers tested:
* NVDA version: `2026.1beta5 (2026.1.0.54894)`, several prior NVDA versions with the MathCAT plugin
* JAWS versions: Latest JAWS 2026 and JAWS 2025 w/MathCAT
* Narrator: Windows built-in version (see above OS Info)
## Links / References
* Microsoft Support: Linear format equations using UnicodeMath and LaTeX in Word [\[support.microsoft.com\]](https://support.microsoft.com/en-us/office/linear-format-equations-using-unicodemath-and-latex-in-word-2e00618d-b1fd-49d8-8cb4-8d17f25754f8). See "UnicodeMath Editing Examples":
* Common guidance describing Shift+Enter + Align-at-character workflow [\[desystemsh...eeds.ac.uk\]](https://desystemshelp.leeds.ac.uk/ally-staff/aligning-equations-in-word/), [\[help.typefi.com\]](https://help.typefi.com/hc/en-us/articles/360001852955-Break-and-horizontally-align-MathML-equations)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.