MathPlayer and MathML Technology
MathML is an industry standard way of encoding mathematics using XML developed under the
auspices of the W3C (World Wide Web
large number of software packages, including browsers, editors, computer
algebra programs and publishing software, support MathML to display mathematical
notation and to enable copying it between applications and websites. Unlike other
ways of putting math in a web page, such as images and PDFs, MathML provides
ways to directly encode various interactivity properties of an equation, which
makes it an ideal choice for dynamic math on the web. Design Science has played
a leading role in developing this important new technology. Consult
About MathML for more
information and related resources.
Internet Explorer (IE) Enterprise mode
The technology that allows MathPlayer to display MathML in IE has
been dropped from newer versions of IE. However, IE 11 introduced a way for
legacy programs to work in IE. They call this new feature "Enterprise Mode". It
forces IE 11 to emulate IE 8, which is a version of IE that supports the technology MathPlayer needs to be able to display math. When MathPlayer
displays math in the page, this also means the math is accessible to assistive
that works with MathPlayer.
When MathPlayer 4 is installed on your computer, it enables you to
turn on Enterprise Mode for any page you visit. This setting is remembered, so you
need to do this only once per page. To turn on Enterprise Mode for a page, use
Internet Explorer's Tools menu and select "Enterprise Mode". This is a toggle,
so selecting it again will turn it off for that page. The keyboard shortcut for
this is Alt+t, Alt+r, enter.
There are a few
things to know about Enterprise Mode:
It forces IE 11 to emulate an older version of IE. This means
that newer features and standards will not be handled properly.
In particular, if a page makes use of newer features of CSS, it
may not display well. Large sites such as Wikipedia currently
avoid making use of these features so for most sites, there
won't be a problem.
You can not turn on Enterprise Mode for local Web pages,
such as those you might generate from Word via MathType's
"Publish to MathPage" feature. Instead, you can directly force
it to emulate IE 8 by adding the line:
http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
to the head of the document.
MathPlayer enhances MSHTML, Microsoft's internal HTML engine on which
Internet Explorer is based. This means that MathPlayer also displays MathML for
any other application that makes use of MSHTML to display formatted content.
This includes email clients, alternative web browsers, weblog (RSS) clients,
instant messaging clients, help engines, and so on. We encourage anyone
interested in this technology to contact us at
email@example.com. We are also
interested in talking with vendors whose products do not use MSHTML.
Equations can be copied to the clipboard as MathML and then pasted into any
application that understands MathML or into a web editor. Drag-and-drop works
similarly. Among the applications that understand MathML are the popular
computer algebra systems, Mathematica and Maple. It is our hope that eventually
all mathematical and scientific software applications will eventually support MathML.
If your favorite software application or website does not support MathML, you should request
it from the vendor and encourage them to
work together with Design Science to make it happen.
One of the advantages of embedding math in a web page using MathML is that it
makes it possible for the math to be spoken. This was always a goal of the W3C in order to make math easier to understand by
the visually impaired. MathPlayer provides the ability to speak the math in a web page. The user can do this by
choosing Speak Expression on MathPlayer's right-click menu or, more
importantly, via a screen reader application such as NVDA, Window-Eyes or JAWS.
This work was partially supported by grants from the National Science Foundation
(NSF). Although we see accessibility as
the main goal of math-to-speech technology, we have also received interest
from educators in teaching normally sighted students how mathematics is spoken.
See our MathPlayer
Accessibility page for more details.
Embedding math in a web page using MathML also makes it possible for web
searches to include the mathematics on pages, not just text. Someday, a
population biologist might be able to do a Google search for pages containing
partial differential equations similar to ones he believes describe the
predator-prey relationship between caribou and wolves in Alberta. One of the
hits could be an astrophysicist's paper where she has actually solved the
equations. Design Science received an NSF grant to hold a math
searching workshop at which interested parties discussed the requirements for
math searching technology. more>
MathML in HTML5: Finally cross-browser
MathML support in web browsers has been spotty until now. MathPlayer
provides good support in Internet Explorer and Firefox has pretty good built-in
support but it is absent from other popular browsers, such as Chrome, Safari, and Opera.
One of the things that has slowed down implementation of MathML in web browsers
is the lack of a proper standard for including MathML within HTML. Happily, the
new HTML5 standard includes MathML and virtually all browser vendors have
promised to support it. HTML5 with MathML will be supported by the latest
versions of Internet Explorer (via MathPlayer) and Firefox. Chrome, Safari, and
other browsers built using WebKit will add HTML5 and MathML support soon. And
for browsers that do not directly support MathML, such as those on smartphones,
tablets, ebook readers, etc., there is MathJax,
story here: MathML in HTML5.
MathML 3 is the latest version of the MathML recommendation. MathML 3 brings
several new big highly requested features to MathML and many smaller ones also.
Because MathML 3 is new, full support for it in browsers will take a few years
to appear. To find out more about MathML 3 and to see some examples of
what MathML 3's new features, see our page on MathML 3.