Dynamic MathML

Andrii Zui

Abstract

Among other features, MathML has the maction element, which provides various dynamic capabilities to the math formulas. However, for now it is only partially implemented in the Mozilla Firefox, and there are opened bugs which involve dynamic MathML. During GSoC 2012 I intend to implement the missing features of maction and to fix known bugs, related to maction and Javascript.

Additional Information

Project Summary

The ability for Web authors to make dynamic pages is important and was requested by many users. In the case of MathML it allows such things as writing interactive pages, i.e. math quiz or similar. For the simplest interactions, the MathML specification provides the maction element, which is partially implemented in Mozilla's MathML engine.

However, Mozilla's maction implementation has several bugs/spec violations and some features asked by users such as the tooltip actiontype are not still implemented. Similarly, the rendering of MathML formulas created by Javascript is not always updated correctly. This is problematic, for example to render the MathML code generated by the MathJax library.

In this project I intend to do several things. Firstly, I intend to develop a full maction support (for example, to implement the tooltip actiontype) and to fix known maction bugs. I intend to write tests for maction and dynamic MathML rendering in general to reveal previously unknown bugs and make the implementation more reliable. Also Mozilla's MathML demo pages are incomplete and out of date, so I want to update them to follow our current maction implementation and to use MathML syntax instead of HTML+CSS.

Finally, there are some things in MathML REC that are not clear and cases when Mozilla's implementation differs from the REC, e.g. bug 749044. During this summer I plan to discuss these issues with MathML WG, fix them in Mozilla's MathML engine and possibly implement more features from the MathML spec.

Project Goals