Cannot navigate system of equations from LaTeX array: ZoomIn errors / incomplete column navigation
- Dominant language
- Rust
- Stars
- 114
- Forks
- 85
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 42
Description
## Summary
When navigating a system of equations as found on [Linear Algebra with Applications, 1.1: Solutions and Elementary Operations, Exercise 1.1E7](https://math.libretexts.org/Bookshelves/Linear_Algebra/Linear_Algebra_with_Applications_(Nicholson)/01%3A_Systems_of_Linear_Equations/1.01%3A_Solutions_and_Elementary_Operations/1.1E%3A_Exercises_for_Section_1.1?readerView), MathCAT fails in two distinct ways depending on the version used:
- **MathCAT plugin 0.7.5 +NVDA 2025.3.3:** An internal error is thrown immediately upon attempting to navigate the expression, blocking all navigation.
- **NVDA 2026.1 beta8 (MathCAT internalized):** No error is thrown, and both lines of the expression are read correctly at the top level, but zooming into either row only allows access to the first column — arrowing right from column 1 announces "end of math" even though additional columns exist.
---
## Environment
| Component | Version |
|---|---|
| NVDA (original report) | 2025.3.3 x86 |
| MathCAT (original report) | 0.7.5 (add-on) |
| NVDA (follow-up) | 2026.1 beta8 (2026.1.0.55204) |
| MathCAT (follow-up) | Internalized in NVDA 2026.1 beta8 |
| MathCAT Demo | using v0.7.2 |
| Speech rule set | en/ClearSpeak, Simple or Enhanced navigation modes |
| OS | Windows 11 24H2 (10.0.26100.8037) |
---
## Expression
**LaTeX source:**
```latex
\begin{array}[t]{rlrcr} x & - & 3y & = & 5\\ 2x & + & y & = & 1 \end{array}
```
**MathML (as generated by MathJax 4.1.1):**
```xml
```
## Steps to Reproduce
1. Load the MathML above in any context (original web page with MathJax, a standalone HTML5 file, or the MathCAT demo tool), or visit [Linear Algebra with Applications, 1.1: Solutions and Elementary Operations, Exercise 1.1E7](https://math.libretexts.org/Bookshelves/Linear_Algebra/Linear_Algebra_with_Applications_(Nicholson)/01%3A_Systems_of_Linear_Equations/1.01%3A_Solutions_and_Elementary_Operations/1.1E%3A_Exercises_for_Section_1.1?readerView)
2. Place focus on the expression and enter math navigation mode.
3. Attempt to navigate into the expression (ZoomIn / arrow keys).
---
## Observed Behavior
### NVDA 2025.3.3 + MathCAT 0.7.5 add-on
Navigation fails immediately with the following error logged to the NVDA log:
```
ERROR - external:globalPlugins.MathCAT.MathCAT.MathCATInteraction.reportFocus
Internal error: With en/ClearSpeak in Simple mode, can't ZoomIn from expression with id 'Mhlh64ol-2'
Traceback (most recent call last):
File "C:\Users\mstores\AppData\Roaming\nvda\addons\MathCAT\globalPlugins\MathCAT\MathCAT.py", line 260, in reportFocus
text: str = libmathcat.DoNavigateCommand("ZoomIn")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
Expand for Full NVDA Log
INFO - __main__ (16:59:28.257) - MainThread (29800):
Starting NVDA version 2025.3.3 x86
INFO - core.main (16:59:29.649) - MainThread (29800):
Config dir: C:\Users\mstores\AppData\Roaming\nvda
INFO - config.ConfigManager._loadConfig (16:59:29.657) - MainThread (29800):
Loading config: C:\Users\mstores\AppData\Roaming\nvda\nvda.ini
INFO - core.main (16:59:39.639) - MainThread (29800):
Windows version: Windows 11 24H2 (10.0.26100.8037) workstation AMD64
INFO - core.main (16:59:39.639) - MainThread (29800):
Using Python version 3.11.9 (tags/v3.11.9:de54cf5, Apr 2 2024, 10:00:00) [MSC v.1938 32 bit (Intel)]
INFO - core.main (16:59:39.639) - MainThread (29800):
Using comtypes version 1.4.11
INFO - core.main (16:59:39.682) - MainThread (29800):
Using configobj version 5.1.0 with validate version 1.0.1
INFO - synthDriverHandler.setSynth (16:59:44.773) - MainThread (29800):
Loaded synthDriver sapi5
WARNING - mathPres.initialize (16:59:44.837) - MainThread (29800):
MathPlayer 4 not available
INFO - core._setUpWxApp (16:59:45.343) - MainThread (29800):
Using wx version 4.2.2 msw (phoenix) wxWidgets 3.2.6 with six version 1.17.0
INFO - brailleInput.initialize (16:59:45.428) - MainThread (29800):
Braille input initialized
INFO - braille.initialize (16:59:45.428) - MainThread (29800):
Using liblouis version 3.34.0
INFO - braille.initialize (16:59:45.429) - MainThread (29800):
Using pySerial version 3.5
INFO - braille.BrailleHandler._setDisplay (16:59:45.444) - MainThread (29800):
Loaded braille display driver 'noBraille', current display has 0 cells.
INFO - core.main (16:59:46.652) - MainThread (29800):
Java Access Bridge support initialized
INFO - UIAHandler.UIAHandler.MTAThreadFunc (16:59:47.563) - UIAHandler.UIAHandler.MTAThread (24788):
UIAutomation: IUIAutomation6
INFO - external:globalPlugins.MathCAT.MathCAT.MathCAT.__init__ (16:59:50.787) - MainThread (29800):
MathCAT 0.7.5 installed. Using rules dir: C:\Users\mstores\AppData\Roaming\nvda\addons\MathCAT\globalPlugins\MathCAT\Rules
INFO - core.main (16:59:51.860) - MainThread (29800):
NVDA initialized
INFO - updateCheck.AutoUpdateChecker._started (16:59:53.617) - MainThread (29800):
Performing automatic update check
ERROR - external:globalPlugins.MathCAT.MathCAT.MathCATInteraction.reportFocus (17:10:12.125) - MainThread (29800):
Internal error: With en/ClearSpeak in Simple mode, can't ZoomIn from expression with id 'Mhlh64ol-2' inside:
Traceback (most recent call last):
File "C:\Users\mstores\AppData\Roaming\nvda\addons\MathCAT\globalPlugins\MathCAT\MathCAT.py", line 260, in reportFocus
text: str = libmathcat.DoNavigateCommand("ZoomIn")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: Internal error: With en/ClearSpeak in Simple mode, can't ZoomIn from expression with id 'Mhlh64ol-2' inside:
No navigation of the expression is possible.
### NVDA 2026.1 beta8 (MathCAT internalized)
- Entering navigation mode and hearing the full expression read aloud works correctly.
- Both rows of the system are announced correctly at the top level.
- Zooming into the column level of either row (row 1 or row 2) only allows access to the first `` (column 1).
- Pressing the right arrow key after column 1 announces **"end of math"** instead of moving to the next column.
- This behavior is consistent across:
- The original web page (MathJax-rendered)
- A minimal standalone HTML5 file containing only the MathML above
- The MathCAT demo tool (tested with both the LaTeX source and the MathML directly)
## Expected Behavior
After zooming into a row of the system of equations, all the columns should be navigable left-to-right. Right-arrowing from column 1 should move to column 2, and so on through all `` elements in the row.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.