Re: The argument for |bugmode|

On Apr 20, 2007, at 1:03 AM, Terje Bless wrote:

> (Maciej Stachowiak) wrote:
>> If the comment was a syntactically valid comment then I believe it  
>> would
>> affect conformance status. And this should be so; otherwise, an
>> implementation that has any arbitrary behavior in the presence of  
>> at least
>> one comment would remain conformant.
> If the standard leaves undefined how to detect that the document  
> instance is “HTML 5” — as opposed to “HTML 4.01” or “HTML 6” — then  
> an implementation using syntactically valid, but undefined,  
> mechanisms to determine this can be argued to be conforming.

The current WHATWG spec does not define how to process documents  
detected as "HTML 5", it defines how to process HTML documents. Or if  
you want to be picky, at the very least it requires processing of  
documents with the HTML5 doctype as HTML5. I would not expect HTML 6  
to have any contradictory conformance criteria, but if it did, a UA  
would have to choose to conform to either HTML6 or HTML5. It couldn't  
claim conformance to both and choose randomly.

> In either case, if an UA implementation has multiple processors for  
> “HTML 5” — assume for the sake of argument that they are all  
> conforming — then the mechanism used to determine which specific  
> processor to employ — be it by local application setting,  
> interactive user choice, or a “magic comment” (aka. a Processing  
> Instruction) — does not in itself affect the implementation's  
> conformance status.

Sure, selecting from multiple conforming implementations in an  
arbitrary way would be conforming. However, using a comment (or lack  
thereof) to sometimes select a nonconforming implementation would be  

> Given the goals given for WHATWG HTML5, it's even arguable — not  
> that I would — whether treating a conforming HTML5 document  
> instance as tagsoup would render the implementation non-conforming  
> as such.

I don't know what you mean by "as tag soup". In what way would this  
differ from treating it as a conforming HTML5 document? That being  
said, yes, it would indeed render the implementation non-conforming  
because it would not meet the implementation conformance requirements.

I don't understand why you think an implementation can violate  
conformance requirements and still be conforming. That is against the  
very definition of "conforming implementation."

> Particularly, IIRC, when faced with the text/html MIME type there  
> is only one specified default DTD — HTML 2.0 — associated with the  
> “html” document type name. In the absence of a specific FPI or SI  
> (or Internal Subset, but I digress), this would historically have  
> been the only available option.

Your recollection is not correct. See 

"The text/html media type is now defined by W3C Recommendations; the  
latest published version is [HTML401].  In addition, [XHTML1] defines  
a profile of use of XHTML which is compatible with HTML 4.01 and  
which may also be labeled as text/html."

When/if this group publishes HTML5, we would update the RFC.

WHATWG HTML5 currently suggests that conforming UAs interpret all  
versions of HTML in accordance with its conformance criteria (though  
I could imagine making this a SHOULD or MAY for doctypes other than  
the HTML5 doctype).

> Thus an UA attempting to conform with the wide variety of documents  
> served as “text/html”, when presented with only the document type  
> name “html” and no other versioning information, would need some  
> such mechanism in order to be compliant with all the relevant  
> standards.

Or it could choose to be compliant with only the latest standard,  
which is allowed/encouraged.

> If the higher level language is SGML or XML, then a “magic comment”  
> in the form of a Processing Instruction would be an entirely  
> appropriate way to achieve this.

But the HTML serialization of HTML5 is neither XML nor SGML.

> In considering the question of versioning, it would be a good idea  
> to consider previous relevant standards, and not just the proposed  
> “HTML5” in isolation.

In any case, none of this is relevant to whether an implementation  
using version information to trigger deliberate nonconformance would  
be conformant. Clearly, it would not, at least with the older spec if  
not the new one.

>> However, embedding a comment that some UAs treat specially would  
>> not affect
>> conformance status of the document.
> I believe this was Chris' salient point.

I agree that Matthew Raymond's objection to this was incorrect - I do  
not believe it to be the case that a "switch, by being proprietary,  
would be non-conformant" for the document if it were hidden in  
comment syntax. But your rejoinder was also incorrect.

Using such a switch to turn implementation conformance on or off  
would render the implementation nonconformant. I do not see how we  
could allow that without watering the spec down to meaninglessness,  
especially if nonconformance occurs in the *absence* of the switch.


Received on Friday, 20 April 2007 08:34:02 UTC