MathML in HTML5: Problems with IE9

One of the strengths of MathJax is that is provides high-quality display of MathML in all modern browsers. Firefox and and Internet Explorer with MathPlayer have had MathML support for years, but HTML files had to be prepared differently for each browser, and publishers often required yet a third version for other browsers. MathJax solves that problem!

However, browser support for MathML is still important, particularly for accessibility. Most screen readers work by communicating with the browser via natively-implemented accessibility APIs. This is why MathJax passes MathML through to MathML-capable browsers as described in Accessible Pages with MathJax. We are particularly excited about reports of people using MathJax, Internet Explorer, MathPlayer and the screen reader JAWS to read equations in context in a web page. Unfortunately, Internet Explorer 9 Platform Preview introduces a bug that prevents this from working!

Internet Explorer 9 is putting a lot of emphasis on HTML5 support, and the good news is that MathML is part of HTML5. All the browser manufacturers, including Microsoft, have pledged to support HTML5, and while this doesn’t automatically lead to universal MathML support, it is still important since whenever MathML is support implemented, it will be done in a standard way. Nonetheless, at the moment, the MathML in HTML5 support MathJax will need to rely on using MathPlayer + IE9 is broken, which is serious step backward.

We have written up details of the bug and are hoping you will help us let Microsoft know how important this is for accessible scientific communication on the web. We have reported the bug, but now we need your help finding ways to tell them it is something people care about.

Posted in News | 2 Comments

GitHub Chooses MathJax For Math Support

Software development project hosting sevice GitHub announced last week that its new wiki system uses MathJax to provide math support. The new wiki is called gollum and you can read their post for more information on the release.

GitHub’s adoption of MathJax is a strong vote of confidence. GitHub has a vibrant developer community, and we expect the exposure MathJax receives as part of gollum will lead to its use in other significant web applications.

MathJax has previous been integrated with a variety of wiki platforms, but only as a modification to an individual installation. By contrast, gollum incorporates MathJax support directly, so anyone setting up a gollum instance will automatically have math support. To do this efficiently, the GitHub team has made use of a MathJax feature that allows all gollum installations to share a single copy of the MathJax fonts, in this case, hosted on Amazon’s S3 cloud storage service.

Posted in News | Leave a comment

MathJax 1.0 is Now Available

The MathJax project reached a major milestone today with the release of MathJax 1.0. To get the new distribution, visit the download page.

MathJax 1.0 contains a number of improvements over earlier beta versions of the software:

  • Accessibility features enable magnifying all equations in a page or by zooming in on individual equations. MathJax 1.0 also works together with Design Science’s MathPlayer to interface with other assistive technology such as screen readers, braille displays, and learning disability software.
  • A new context menu enables readers to cut and paste math formulas in standard formats into Word and LaTeX documents, computational software such as SAGE, Maple and Mathematica, and many science-related blogs and wikis, including Wikipedia.
  • The documentation has been rewritten and much expanded, including information on using MathJax with popular web platforms such as WordPress, Moodle, MediaWiki, and Drupal.
  • The MathJax code has been compressed and optimized for faster download and start up times.
Posted in News | 2 Comments

Developers: Source Control Changes Coming Thursday July 29

The MathJax 1.0 release will be taking place the first week in August, and in preparation, we will be making some changes to the MathJax source control layout on Thursday, July 29.  Developers that obtain MathJax directly from source control using svn should be aware they may to need to make changes to paths and directories on their own systems as a result.

There will be two significant changes taking place.  First, we will be introducing three top-level directories to separate the main development line from the released code base, and future side development lines.  Thus, the current repository structure of

/mathjax/...

will become

/trunk/mathjax/...
/tags
/branches

after the change.  Similarly, when 1.0 is available, the released code will be placed in a /tags/mathjax-1.0 directory in the repository.

The second significant change will accommodate both compressed (or ‘minified’) and uncompressed versions of the JavaScript files. The compressed versions will be located in their present locations, while “unpacked” versions of the files in a given directory will be located in an “unpacked” subdirectory.  Thus

/trunk/mathjax/MathJax.js

will be a compressed file with whitespace removed and so on, while the uncompressed version will be located at

/trunk/mathjax/unpacked/MathJax.js

For convenience during development, the code will also be modified so compressed versions of files refer to compressed versions, while the unpacked versions refer to other unpacked files.

Note: Because the font.zip archive also contains some JavaScript files, the changes to accommodate packed and unpacked JavaScript mean that developers will also have to refetch and unzip font.zip to install MathJax 1.0.

Questions should be directed to the MathJax Forums.

Posted in Headline, News | Leave a comment

Job: MathJax API Designer/Developer Wanted

A robust JavaScript API has always been envisioned as an important part of  MathJax. It will enable script in a web page to control equation features, allow dynamic interactive pages to be built using MathJax, and provide hooks for accessibility tools such as screen readers. We would also like to make this API an expandable standard that will allow other notations to be supported in future. ChemJax anyone?

We are looking for a highly skilled JavaScript programmer to lead this effort. Requirements include experience with JavaScript API design, JavaScript frameworks, general web technology, and a strong interest in mathematical notation. Knowledge of MathML and accessibility technology are definite plusses.

This is a paid contract position, part-time or full-time. We are also flexible on the length of the commitment. If you are interested, email jobs@mathjax.org.

Posted in News | Leave a comment