Re: request for comments HTML WG comments to MathML WG

On Thu, Nov 5, 2009 at 3:29 AM, Simon Pieters <simonp@opera.com> wrote:
> On Thu, 05 Nov 2009 02:34:48 +0100, Shelley Powers <shelley.just@gmail.com>
> wrote:
>
>> Following are the comments to the MathML WG in response to the group's
>> request for comments for MathML 3.0. Due to time constraints and size
>> of the MathML standard, the comments focus on those areas of change
>> from MathML 2.0 to MathML 3.0 [1]. As such, others are encouraged to
>> add to the comments in this email.
>>
>> If you have any comments to add, or corrections, or recommendations,
>> please respond to this email and I'll make a second draft
>> incorporating comments before sending to the MathML Working group.
>>
>> In addition, if you're familiar with directionality could you review
>> the new change to MathML for directionality [2]? It's not a subject I
>> or Joe are familiar with, but want to make sure there's nothing in the
>> section that could cause problems with MathML embedded in HTML5.
>>
>> There are a lot of major changes with MathML 3.0, including removing
>> the entities to a separate document, and including the removal of the
>> DOM to a separate document.  Note, though, that the group only
>> references previous XHTML and HTML specifications, not HTML5. All of
>> the comments I've made are in relation to HTML5, and most are
>> reflecting MathML in HTML, not XHTML. Not sure what to do in this
>> regard.
>>
>> Comments:
>>
>> Comment one:
>>
>> The attribute href has been added for use with several MathML
>> elements, rather than using xlink:href, from MathML 2.0[3]. However,
>> the document states that because of compound document requirements,
>> xlink:href can still be used.
>
> Is the plan to drop support for xlink:href in MathML UAs at some point? If
> not, why introduce another attribute to do the same thing?
>
> If the UA supports both, what should happen when both are specified on one
> element?
>
> Why does href take a URI rather than IRI?
>
>
>> 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.
>>
>> (HTML5 folks: verify please that xlink:href does not have to be used
>> with MathML 3.0 embedding in HTML5)
>
> I don't follow.
>
>
>> Comment two:
>>
>> MathML entities have now been moved to a separate document. These
>> entities will not be available with MathML embedded in HTML, served as
>> either HTML or XHTML, because there is no doctype.
>
> They will work in HTML because the HTML5 parser supports them regardless of
> doctype.
>

These are not part of the HTML4 specification, which is what MathML
references. And I don't see them as part of the HTML5 specification.

> They work in XHTML if you have a special doctype and your browser knows
> about that doctype (which Firefox does but Safari and Opera don't
> currently).
>

Again, I was focused on XHTML5, not previous versions of XHTML. Yes,
there is a doctype that will work with MathML, but I don't believe it
references all of the MathML 3.0 entities.

>
>> A warning to this
>> effect, and to use the equivalent Unicode or numeric character
>> reference, would be a useful addition to the MathML in HTML section.
>>
>> Comment three:
>>
>> The specification includes a section discussing MathML and HTML[4].
>> 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, as noted
>> in other comments. 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. 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 are silently ignored. 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 are included within the MathML annotation-xml
>> element.
>>
>> Again, the validator warnings might be surprising to folks who paste
>> properly formatted XML into HTML.
>>
>> Lastly, just an FYI for this section: the closing math element tag
>> isn't mandatory with HTML;
>
> Yes it is.
>

Yes, I'll incorporate Philip's note.

>
>> the appearance of any element in the HTML
>> namespace will trigger an end to the Math markup.
>
> The appearance if certain tags in certain places will trigger an end to the
> Math markup.
>
>
>> end comments
>>
>> There is a bug on HTML5 and MathML, and which MathML document is
>> referenced in the HTML5 spec[4]. I don't think the MathML group will
>> be overrun by weird crazy people, but MathML in HTML is a different
>> beast than MathML in an XML document, such as XHTML. There could be
>> changes in MathML in future versions that could adversely impact on
>> MathML embedded in HTML, where it wouldn't be an issue with an
>> XML-based format such as XHTML.
>>
>> Shelley Powers
>> Joe Williams
>>
>> [1] http://www.w3.org/TR/2009/WD-MathML3-20090924/appendixf.html
>> [2] http://www.w3.org/TR/2009/WD-MathML3-20090924/chapter3.html#presm.bidi
>> [3]
>> http://www.w3.org/TR/2009/WD-MathML3-20090924/chapter2.html#fund.globatt
>> [4]
>> http://www.w3.org/TR/2009/WD-MathML3-20090924/chapter6.html#interf.html
>
> This says:
>
> "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?
>
> 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.
>
> I think it would be good if MathML allowed at least what is expressible in
> text/html.
>

I'll add this as comment. Note, though, that the MathML 3.0 document
references HTML4 and older XHTML versions, but not HTML5.

I'll most likely add the lack of reference to HTML5 as another comment.

> --
> Simon Pieters
> Opera Software
>

Shelley

Received on Thursday, 5 November 2009 13:15:52 UTC