Re: HTML version issue summary?

In the "bugmode" thread, Lachlan stated that

"I will draw the line at requiring authors to use non-conforming
attributes just to get the latest standards mode.  As a web developer,
I certainly do not want to forced to use such an opt-in." [1]

But, Microsoft has taken the hard line that an opt-in WILL be required
in IE.next regardless of what web developers think they want.  What
this means is that for HTML5 to get a deployment footprint on the web,
web developers and tools will need to author HTML with an opt-in in
the short term.

The question seems to be whether the opt-in should be spec-mandated or
something proprietary.  My proposal is that this should be defined by
the specification, but I do NOT think it should be called "bugmode" or
specific to a particular set of browser bugs or dates.  I propose to
use the version="5" attribute on the <html> element as some others
have suggested.

To reiterate what my proposal in an earlier email in this thread:

1) user agents MUST process standards-mode HTML content that has <html
version="5"> as HTML 5.0
2) user agents MAY process other HTML standards-mode content that does
not contain a version attribute as HTML 5.0

In this proposal, some browsers (maybe only IE.next?) will only render
content as HTML 5.0 if version="5" is present.  However, other
browsers may choose to effectively ignore the version specifier and
always render HTML content in their best "standards mode" as HTML 5.0
(even existing content that was written as HTML 4.01 with that
DOCTYPE).

Here are some of the use cases in the above scenario:

Content Type A) Pages served without the DOCTYPE:
- will continue to be considered "quirks mode" into the future by all browsers

Content Type B) Pages served with any valid DOCTYPE and <html version="5" >:
- all conforming browsers must render the content using "HTML 5.0
standards mode"

Content Type C) Pages served with any valid DOCTYPE but without a
version specifier on the <html> element:
- this is a browser choice:  Browsers can choose to render this
content using either "HTML 4.01 standards mode" or its "best standards
mode"

I believe this will actually give browsers time to bring their
implementation up to spec and we don't need to worry about "specific
bug releases".

As time goes on and the HTML 5.0 spec becomes mature, we will see
real-world examples of it, and more HTML 5.0 browsers will be
released.  A chunk of web content will have version="5" and it will
have been tested out on all browsers.  Additionally, other "more
adventurous" browsers may already be rendering HTML 4.01 content in
"HTML 5 standards mode" and not having any problems.  Over time, less
and less people will rely on IE's "HTML 4.01 standards mode" so that,
at some point, Microsoft will feel comfortable in defaulting existing
HTML content to the "latest standards mode" as the other browsers do.
Of course if browser market share changes drastically in a few years,
that will also have some favourable impact for HTML 5.

After HTML5 there are two paths:

- either all future HTML specifications stay backwards compatible with
HTML5 (in which case we have HTML 5.01, 5.02, etc).  In this scenario,
we can continue to use version="5" to indicate any flavor of HTML 5.x
(since they are all compatible).  That is, browsers that support HTML
5.01 will render all HTML content just as browsers that support HTML
5.0 do.

OR

- some future HTML specification will need to introduce some
incompatibility that will break some portion of the web.  This is an
unlikely and unwanted scenario, but if it happens, we can use
version="6" to trigger new behavior on browsers.

[1] http://lists.w3.org/Archives/Public/public-html/2007Apr/1186.html

Received on Thursday, 26 April 2007 13:30:57 UTC