This is mainly a bug fix release that resolves a number of issues from v4.1.0. The key fixes include:
-
In v4.1.0 we introduced movable and sizable dialog boxes (e.g., for "About MathJax" or "Show Math As..." dialogs), but the CSS for the positioning was incorrect and could cause the page to scroll to the top or to position the dialog outside the of the visible portion of the page when a dialog is opened. That CSS is fixed in this version.
-
Version 4.1.0 introduced a dark-mode color scheme for MathJax when the system dark-mode is selected by the user. This caused two issue:
- If the page doesn't itself have dark-mode coloring, then selecting an expression for exploration could cause the background and foreground colors to not have enough contrast.
- When a dialog was opened, the link colors for the rest of the page could be altered accidentally.
In order to resolve the first of these issues, v4.1.1 includes a new
ui/no-dark-modeextension that can be added to theloader.loadarray in your page's Mathjax configuration; this will prevent the dark-mode color scheme from being used for the explorer and dialog boxes (thought he MathJax contextual menu will still use dark mode colors).The second issue is resolved in 4.1.1 by adding proper prefixes to the CSS for the links used in dark-mode dialogs.
-
The expression explorer in v4 can be started by clicking on a term in an expression. If the expression includes HTML elements like text input areas, checkboxes, drop-down menus, etc., this feature interfered with the user's ability to interact with those items. Version 4.1.1 allows clicks and keystrokes to pass through to those HTML elements, and allows the user to tab to focusable elements within the expression. When exploring an expression that contains focusable elements, pressing the enter or tab key will focus the first item focusable within the currently selected sub-expression.
A similar issue was that mouse clicks were being stopped but the explorer, so were not bubbling up to elements containing math expressions. For example, a
<button>or<label>tag would not receive mouse clicks if they were on math contained within the tag. Version 4.1.1 now passes mouse events on to the containing elements. -
V4.1.1 contains a number of improvements to accessibility and speech output. For full details see SRE release notes for beta.4 and beta.5. In summary
- Clearer semantic distinction of fences with reduced omissions in clearspeak and explicit handling of floor and ceiling functions (English only for the moment).
- Improved handling of stacked expressions with better speech output for
aboveandbelowexpressions, as well as explicit output of empty bases, where appropriate, and collapsing of scripts where they are visually indistinguishable. - Unwrapping of singleton lines into their contained expressions. A single line makes sense if tagged or in the context of a matrix or case statement but not on its own.
- Label prefixes for clearspeak are now spoken according to the actual multi-line preference.
- Distinguishe between simple empty elements and
phantomelements that lead to spaces. (This could be improved in the future.) - Fix issues with missing
phantomelements inmfencedelements. - Improves semantic treatment of empty script elements.
-
Speech was not being properly added to in-line expression that include potential line breaks (for automatic in-line breaking) in SVG output. This is fixed in v4.1.1.
Additional fixes and the details for the various changes are described in the links below.
User Interface Changes
-
Fix position for dialogs. (mathjax/MathJax#3480) (#1403)
-
Restrict anchor color changes to dialogs. (#1414)
-
Update color for self-voicing explorer (#1416)
-
Fix speech for SVG inline expressions with line breaks. (mathjax/MathJax#3511) (#1425)
-
Handle clicking and tabbing to focusable HTML elements within expressions. (mathjax/MathJax#3493) (#1410, #1421)
-
Have explorer properly handle the tab order menu preference. (mathjax/MathJax#3493) (#1411)
-
Implement a no-dark-mode component. (mathjax/MathJax#3502) (#1422)
-
Fix speech attachment for SVG inline expressions with line breaks. (mathjax/MathJax#3511) (#1425)
-
Make sure output renderer settings are transferred when the menu selects a new renderer. (#1435)
Output
-
Fix operator spacing regression from #1367. (mathjax/MathJax#3498) (#1417)
-
Use proper scaling for vertical shift of bevelled fractions. (mathjax/MathJax#3506) (#1419)
-
Make sure
\surdis symmetric vertically. (mathjax/MathJax#3468) (#1409) -
Make sure columns get new width if contents stretch more than original width. (mathjax/MathJax#3423) (#1427)
-
Make sure
|hasstretchy=falsewhen needed. (mathjax/MathJax#3515) (#1426) -
Better testing for empty mathop (so as to not add invisible function application). (#1428)
-
Use proper scaling for vertical shift of bevelled fractions. (mathjax/MathJax#3506) (#1419)
-
Fix inline line-breaking issues with SVG output. (mathjax/MathJax#3526) (#1436)
Miscellaneous
-
Update windows paths to include
file://in node applications and fix tests. (mathjax/MathJax#3481) (#1404, #1418) -
Add version number to default font URLs on jsdelivr. (#1423)
-
Use
serializeXML()rather thanouterHTML()in README example code. (#1405) -
Simplify component copy configuration blocks. (#1406)
-
Update components compilation to use
pnpm. (#1413) -
Update handling of CSS border parts like
border-colorand add tests for that. (mathjax/MathJax#3490) (#1408)