-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Issue Summary
In MathJax v4.1.0, some MathML constructs are announced incorrectly when MathJax speech output is enabled.
The same expressions are read correctly when AssistiveMML is enabled, indicating a regression or inconsistency between speech generation and Assistive MathML.
This affects screen reader users relying on MathJax speech (mjx-speech / aria-label) and results in incorrect or missing mathematical meaning.
Environment
- MathJax version: 4.1.0
- Browser: Firefix
- OS: Windows 10
- Screen reader: NVDA (also reproducible via aria-label inspection)
Steps to Reproduce:
- Load the sample HTML attached below using MathJax 4.1.0
- Enable MathJax speech output (default behavior)
- Listen to the spoken output or inspect mjx-speech aria-label
- Compare with output when AssistiveMML is enabled
Expected Behavior
- MathJax speech output should match the semantic meaning conveyed by AssistiveMML.
- Common mathematical concepts (Delta, greatest integer, hat, given, frown above) should be announced correctly.
Issue 1: Delta announced incorrectly
- Problem: Δ announced as “normal triangle”
- Expected: “Delta”
- AssistiveMML reading (correct): fraction with numerator Delta d and denominator Delta t end fraction equals …
Issue 2: Greatest Integer not announced
- Problem: White square brackets ⟦ ⟧ are not announced as “greatest integer”
- Expected: “greatest integer of negative 1.7”
- AssistiveMML reading (correct): h of negative 1.7 equals left white square bracket negative 1.7 right white square bracket equals negative 2
Issue 3: Hat not announced
- Problem: f̂ is read as just “f”
- Expected: “f hat”
- AssistiveMML reading (correct): f hat of c
Issue 4: “Given” announced as “divides”
- Problem: | announced as “divides”
- Expected: “given”
- AssistiveMML reading (correct): p of open paren b given a close paren
Issue 5: Frown above not announced
- Problem: Accent ⌢ not announced
- Expected: “frown above”
- AssistiveMML reading (correct): quantity p a with frown above
Technical details:
MathJax Version: 4.1.0
Client OS: Windows 10
Browser: Firefox
Screen reader: NVDA
Speech Mode: MathJax speech (mjx-speech)
I am using the following default MathJax configuration
and loading MathJax via
<script src="https://cdn.jsdelivr.net/npm/mathjax@4.1.0/tex-mml-chtml.js"></script>Supporting information:
- Minimal reproducible example: Included below
- No console errors
- Issue appears limited to MathJax speech generation
- AssistiveMML consistently produces correct output
Why This Is a Bug
- AssistiveMML and speech output should be semantically consistent
- Incorrect speech output results in loss of mathematical meaning
Sample HTML (Minimal Reproducible Example)
Mathjax-4.1.0-math-symbols-speech-output.html
