- From: Shelley Powers <shelley.just@gmail.com>
- Date: Fri, 6 Nov 2009 09:18:04 -0600
- To: www-math@w3.org
- Cc: HTMLWG WG <public-html@w3.org>

Following are some general comments about the MathML 3.0 draft from the HTML WG, particularly as the MathML specification relates to current effort with HTML5. First, though, we wish to extend to the Math WG congratulations for reaching this important milestone. Related to the addition of the new href attribute[1]: 1. The attribute href has been added for use with several MathML elements, rather than using xlink:href, from MathML 2.0. However, the document states that because of compound document requirements, xlink:href can still be used. This could cause confusion when viewing the documentation for MathML as foreign object in HTML5. In the HTML5 specification, if the href attribute is associated with the XLink namespace, it must be given as xlink:href in the document. The MathML href attribute is now, by default, associated with the MathML namespace. But this isn't specifically stated in the document, and someone reading both may become confused, and assume they have to use xlink:href with MathML embedded in HTML5. The document may want to demonstrate how href can be used with embedded MathML in the document section detailing MathML embedded in HTML. 2. Is the plan to drop support for xlink:href in MathML UAs at some point? If not, we're curious as to why the Math WG introduced the new attribute? 3. If the UA supports both, what should happen when both are specified on one element? 4. We're also curious as to why the new href attribute takes a URI rather than IRI? Related to the Chapter 6.4, Combining MathML and Other Formats, and specific to 6.4.1, Mixing MathML and HTML: 5. The specification includes a section discussing MathML and HTML. However, the section only references MathML in XHTML. With HTML5, MathML can be used in HTML, and there are additional constraints on using MathML in HTML, including the fact that the outer math element is specified without a prefix (such as m:math, as shown in the example), though the use of a namespace and prefix can work with XHTML. There are other constraints associated with MathML in HTML. Could this one section be split in two, with one section detailing MathML in XHTML, and one in HTML? In particular, HTML allows unquoted attributes, and elements without closing tags (if such are given in the list of allowed elements without closing tags). These looser specifications also apply to foreign objects such as SVG and MathML (though user agents are encouraged to provide an export facility providing properly formatted XML). However, people can paste properly formatted XML into HTML, and it will be supported. Pasting MathML into HTML does lead to another issue: the use of namespaced attributes. Namespaced attributes can be included in MathML, but, currently, the validator does provide a warning for namespaced attributes in SVG or MathML when embedded in HTML. The same applies to properly formatted XML entities and attributes that might be included within the MathML annotation-xml element. In addition, there are also, currently, DOM namespace handling differences associated with MathML pasted into HTML, as compared to MathML pasted into XHTML. Both the DOM differences and the validator warnings, in addition to the syntax differences, such as unquoted attribute values, might be surprising and confusing to folks who expect properly formatted XML in HTML. 6. The section contains the following passage: "To fully integrate MathML into XHTML, it should be possible not only to embed MathML in XHTML, as described in Section 6.2.1 Recognizing MathML in XML, but also to embed XHTML in MathML. However, the problem of supporting XHTML in MathML presents many difficulties. Therefore, at present, the MathML specification does not allow XHTML elements within a MathML expression, although this situation may be subject to change in a future revision of MathML." What are the difficulties referenced in the document? In particular, the HTML5 parser supports HTML and SVG in <mi>, <mo>, <mn>, <ms>, <mtext> and SVG in <annotation-xml>. XHTML and SVG in MathML in these places works fine in Firefox and Opera today when using application/xhtml+xml. We're curious as to why MathML doesn't allow what is, at a minimum, expressible in text/html? Other, general comments: 7. In the element listing [2] you show an element labeled td, but the link associated with it leads to a section describing an element labeled mtd. Possible typo? 8. In the section describing color[3] you reference color names from HTML4. Is there a reason MathML doesn't use css3-color SVG color keywords instead of HTML4 color keywords? 9. The index lists two values, my:background and my:color, which are also demonstrated in the section to which they're linked. These would seem to be from demonstrations of bringing in color or background from another namespace. Including them in the index could generate confusion. Shelley Powers HTML WG [1] http://www.w3.org/TR/2009/WD-MathML3-20090924/chapter2.html#fund.globatt [2] http://www.w3.org/TR/2009/WD-MathML3-20090924/appendixh.html#index.elem [3] http://www.w3.org/TR/2009/WD-MathML3-20090924/chapter2.html#type.color

Received on Friday, 6 November 2009 15:18:39 UTC