W3C home > Mailing lists > Public > public-html@w3.org > April 2007

Re: The argument for |bugmode|

From: Matthew Raymond <mattraymond@earthlink.net>
Date: Fri, 20 Apr 2007 23:40:58 -0400
Message-ID: <462987CA.1000109@earthlink.net>
To: Terje Bless <link@pobox.com>
CC: W3C HTML WG <public-html@w3.org>

Terje Bless wrote:
> mattraymond@earthlink.net (Matthew Raymond) wrote:
> 
>>> Ah, but you fail to follow his logic. If the spec says that, by
>>> default, you can be non-conforming unless you opt into conformance, you
>>> are in fact conforming! Thus we eliminate non-conformance by redefining
>>> what conformance is.
> 
> I'm saying that the mere presence of a switch does not alter the 
> conformance status. Given two alternate processors in one UA who 
> are both conforming, a switch to choose between them does not 
> suddenly make one of them non-conforming.

   Correct. Assuming that both processors are conformant with _ALL_ W3C
standards they use, the switch does not cause non-conformance unless the
switch markup itself is non-conformant.

> If a particular UA's default mode is to use a non-conforming 
> processor then by default it is non-conforming. If the 
> specification's conformance criteria says that one must use the 
> conforming processor by default then that UA will strictly 
> speaking never be conforming.
> 
> I suspect MSFT can live with this distinction.

   If Microsoft chooses to NEVER be conforming, there's little we can do
about it.

> If the standard says «This is how you identify a given document 
> as HTML5 if you are a conforming HTML5 UA.» then there 
> will be no need for one UA to encourage its users to say «If 
> you are the UA from Vendor Foo, but no other UA, I want 
> you to use this particular, proprietary, optional behavior.»

    False. Even if you assume non-conformance if a specific switch is
not set, you have no way of knowing how to render the content because
you have nothing to tell you what non-conformant behavior the page
depends on. Markup that specifies a particular mode that allows user
agents to identify the what non-conforming feature/behavior the page
depends on can be used as a switch itself, so you don't need a version
switch in that scenario. Thus, the version switch serves no useful
purpose on a conforming browser other than to bloat the page size.

> You may not have need of a way to unambiguously identify the 
> author's intent to utilize HTML5, but one member of the WG 
> has expressed a need for this functionality and it behooves us 
> to listen very carefully and attempt to accommodate this need.

   Tying bugs to a version number doesn't make them go away, nor does it
change the fact that when you force people to opt into standards instead
of opting out of them, you're giving a real bandwidth penalty simply for
being standards compliant.

   If you have a page that doesn't opt into standards mode, that doesn't
mean that it uses the bugs of a specific version of a specific user
agent. If that user agent is identified in markup, it eliminates the
need for a mode switch in the first place, because you can switch on the
identifying markup.

> Lets reference the Proposed Design Principles: "Solve Real 
> Problems",

   Versioning doesn't solve any real problem, because new version
numbers don't make user agents compliant, and because it encourages the
proliferation of new modes in user agents that increase code complexity.

> "Priority of Constituencies",

   Although Microsoft has considerable marketshare, they are the only
browser vendor I know of that is currently asking for this.

> and "Well-Defined Behavior"

   What's defined? All you've done is stick a number in the markup that
can be used by the user agent in an UNDEFINED manner.

> If such a significant actor needs this functionality, and it 
> causes no direct harm to the rest of the community, then it 
> would be -- by far -- preferable for the standard to 
> accommodate him rather then force him to invent a proprietary 
> extension (over which the WG has no say and no control).

1) There is real harm:

   a) Switching on the version encourages Microsoft to leave bugs
      unfixed for a specific version.

   b) The version number increases bandwidth.

   c) Different modes for each version increases code complexity.

2) My |bugmode| attribute works just fine for selecting the proper mode,
and can even be use preemptively so long as the UA identifier is known.

3) If Microsoft intends to make releases of IE more frequently that the
W3C releases HTML versions, then they're going to need a switch
unrelated to the version anyways.
Received on Saturday, 21 April 2007 03:38:46 UTC

This archive was generated by hypermail 2.3.1 : Monday, 29 September 2014 09:38:43 UTC