Re: [whatwg] Versioning (was: Re: Using the HTML5 DOCTYPE as a new quirksmode switch)

2007-03-14 Thread liorean

On Mon, 12 Mar 2007 01:01:38 +0100, Matthew Ratzloff
[EMAIL PROTECTED] wrote:
 The Web has done great so far without it?  When strict mode was
 introduced, all existing websites didn't suddenly start rendering under
 it.  It was opt-in.  Versioning is just a formalized way of opting into a
 certain rendering method.


On 14/03/07, Anne van Kesteren [EMAIL PROTECTED] wrote:

FWIW: Introducing strict mode has been quite painful and still is. Every
time you encounter a rendering bug on some web page you have to check on
what rendering mode the page relies (quirks, almost standards or
standards) and then figure out what the behavior should be for quirks and
almost standards by reverse engineering other popular browsers. Next time
such a thing comes up we should just fix the specifications instead in
my opinion to keep things predictable for authors and easy for
implementors.


Well, the original question wasn't about versioning in particular as
much as it was Microsoft asking developers (not spec writers) for
something, anything, that they can use to tell whether the author has
written the document for HTML5 and more important the standard DOM,
so they can avoid breaking pages on the web that assume the old iew
tagsoup parser and quirky not-quite-standard DOM. One thing in
particular - I don't think iew can at all change the events model to
follow standard DOM in their compatibility-with-the-web mode. Other
browsers evidently can work with standard DOM, so the spec isn't
broken. It's just that Microsoft have painted themselves into a corner
and need a way for authors to tell iew that their documents don't rely
on their old proprietary DOM-tagsoup-CSS handling.

The HTML5 spec doesn't even need to deal with that. If the spec
provides a way for authors to sing their documents as not relying on
old iew behaviour, all Microsoft needs is a hint from the developers,
or the spec writers, that they can use that to switch. Other browsers
can calmly carry on doing whatever they were doing before.

I don't think Microsoft are asking for a versioning scheme, they don't
intend to make a new locked down mode that needs replacing in the
future. They already have a CSS switch, now they need a DOM switch to
accompany that. With ie7 they proved they weren't afraid of breaking
sites using the standards rendering mode in the name of improving
their standards support on the CSS side, so in all likelyhood the DOM
switch will similarly not require versioning. Microsoft absolutely
REQUIRE this switch however. Without it there is no way for them to
correct their behaviour even if all other browsers are doing just fine
with complying to the standard DOM.

This is a switch out of backwards-compatibility-hell for a single
specific browser they are asking for, not something any other browser
vendor should have to worry about. And I don't see any reason why
!DOCTYPE html shouldn't be the switch seeing as developers are
already used to DOCTYPEs as mode switches.
--
David liorean Andersson


Re: [whatwg] Versioning (was: Re: Using the HTML5 DOCTYPE as a new quirksmode switch)

2007-03-14 Thread Anne van Kesteren

On Wed, 14 Mar 2007 16:16:49 +0100, liorean [EMAIL PROTECTED] wrote:

Well, the original question wasn't about versioning in particular as
much as it was Microsoft asking developers (not spec writers) for
something, anything, that they can use to tell whether the author has
written the document for HTML5 and more important the standard DOM,
so they can avoid breaking pages on the web that assume the old iew
tagsoup parser and quirky not-quite-standard DOM. [...]


Oh, yeah, I think !doctype html would be a good switch for Internet  
Explorer to use if they indeed need such a thing in text/html (besides  
doing the sane thing in XML). I've suggested that to them in the past.



--
Anne van Kesteren
http://annevankesteren.nl/
http://www.opera.com/


Re: [whatwg] Versioning (was: Re: Using the HTML5 DOCTYPE as a new quirksmode switch)

2007-03-14 Thread Robert Brodrecht
Anne van Kesteren Wrote
 IE doesn't have a broken box model in standards mode.

I was under the impression you wanted to throw out different rendering
modes because they are difficult for implementors.  If so, at least for IE
(and presumably quirksmode in other browsers, since they tend to mimmic
IE's quirks), there would be two box models that aren't reconcilable.

 Authors code against implementations, not specifications.

Yeah, authors eventually end up doing browser testing, and, in that way,
code against an implementation.  However, I have to look at the
specification to determine what is valid markup.

It seems, according to implementations, that HTML, HTML-XHTML, and real
XHTML all allow user invented tags.  While they don't validate
(validating is coding against a spec), the browsers I test on all rendered
the content and applied CSS markup.  Except for Safari in real XHTML, the
element was added to the DOM and accessible with JavaScript.  This seems
roughly congruent with HTML specs[2], though I don't know if it is
congruent with CSS specs and DOM specs.   However, if I code against the
implementation, not bothering to code against the specification (e.g. by
validation or by looking at the specification), I can make up my own
elements and have them render on the page.

Since validation is a part of the web standards movement, I would say that
authors worth their salt will code against both implementations and
specifications.

[1] http://whatwg.robertdot.org/files/20070314-invented-tags/
[2] http://www.w3.org/TR/html4/appendix/notes.html#notes-invalid-docs

-- 
Robert http://robertdot.org




Re: [whatwg] Versioning (was: Re: Using the HTML5 DOCTYPE as a new quirksmode switch)

2007-03-14 Thread Geoffrey Sneddon


On 14 Mar 2007, at 15:16, liorean wrote:


This is a switch out of backwards-compatibility-hell for a single
specific browser they are asking for, not something any other browser
vendor should have to worry about.


Other browsers introduced quirks mode to match buggy behaviour of  
others – what's to say that won't happen here, so that other browsers  
have an IE/Win DOM mode, which would therefore require a switch?



- Geoffrey Sneddon




Re: [whatwg] Versioning (was: Re: Using the HTML5 DOCTYPE as a new quirksmode switch)

2007-03-14 Thread Robert Brodrecht
liorean wrote:
 Well, the original question wasn't about versioning in particular as
 much as it was Microsoft asking developers (not spec writers) for
 something, anything, that they can use to tell whether the author has
 written the document for HTML5 and more important the standard DOM, so
 they can avoid breaking pages on the web that assume the old iew tagsoup
 parser and quirky not-quite-standard DOM.

I think that is why they changed the subject of the thread.  That thread
is still available for discussion.  I mentioned some versioning stuff that
happened to strike a vein.

 The HTML5 spec doesn't even need to deal with that.

I wholeheartedly agree.  That is why I proposed an HTTP header that would
be completely proprietary and controlled by Microsoft.  It could be either
a real header or a meta http-equiv tag.  The only advantage to having some
item in the HTML 5 spec is that it would be something authors already use,
thus saving a few extra seconds to create the HTTP header.  The
disadvantage is that I  think the IE team would want something they could
apply to HTML 4 and XHTML documents as well.  So, it'd have to be
something backward compatible.

 I don't think Microsoft are asking for a versioning scheme, they don't
 intend to make a new locked down mode that needs replacing in the
 future.

I don't think they are either.  I was initially hoping to solve two
problems at once (lack of versioning and the IE switch).  After thinking
on it, I came to the same conclusion as you: a IE-only switch shouldn't be
part of any spec.  A quick way to offer the deliverable is with an http
header.  It can be easily added to existing sites with .htaccess files, as
well.

 This is a switch out of backwards-compatibility-hell for a single
 specific browser they are asking for, not something any other browser
 vendor should have to worry about. And I don't see any reason why
 !DOCTYPE html shouldn't be the switch seeing as developers are
 already used to DOCTYPEs as mode switches.

It won't work as a switch if you want Super-Standards Mode in HTML 4 and
XHTML documents.  I know I want that option.

-- 
Robert http://robertdot.org










Re: [whatwg] Versioning (was: Re: Using the HTML5 DOCTYPE as a new quirksmode switch)

2007-03-14 Thread liorean

liorean wrote:
 Well, the original question wasn't about versioning in particular as
 much as it was Microsoft asking developers (not spec writers) for
 something, anything, that they can use to tell whether the author has
 written the document for HTML5


On 14/03/07, Elliotte Harold [EMAIL PROTECTED] wrote:

I could well have missed this, but has Microsoft actually asked for
this? I didn't hear them ask for it, but I haven't read every message in
the thread.


Well, first note something Cris Wilson said on his blog.
http://blogs.msdn.com/cwilso/archive/2007/01/10/you-me-and-the-w3c-aka-reinventing-html.aspx
On error correction standardization – I disagree with this goal of
the WHAT WG because I don't believe it is responsible for Microsoft to
cause any unnecessary compatibility problems (e.g. the problems that
would be caused if we changed error-handling behavior).  If the
WHAT-WG wants to standardize on EXACTLY what IE6 does for any given
error case, no matter how funky it may be, great, but I don't think
that's what they would consider doing.

While not asking for it, that is a strong indication they cannot
change the default handling, that this new handling has to be opt-in.

Second, yeah, they've asked for it. See Chris Wilson's opening statement here:
http://video.yahoo.com/video/play?vid=287660


I'd hate to add something for this purpose if Microsoft hasn't made a
firm commitment to actually use it.


Well, it's not a commitment, just asking for developers giving them
the option. I do think it'd be most sensible to give them a hint
that if they are to do it some way, [x] is the preferred way, even if
the spec doesn't explicitly spell it out.  But then we need to come to
an agreement about what [x] should be.




On 14 Mar 2007, at 15:16, liorean wrote:
 This is a switch out of backwards-compatibility-hell for a single
 specific browser they are asking for, not something any other browser
 vendor should have to worry about.


On 14/03/07, Geoffrey Sneddon [EMAIL PROTECTED] wrote:

Other browsers introduced quirks mode to match buggy behaviour of
others – what's to say that won't happen here, so that other browsers
have an IE/Win DOM mode, which would therefore require a switch?


It won't happen because the situation is actually better on this point
- DOM code either uses only interoperable things, or it already forks
for iew on one side and standards DOM on the other. The competing
browsers have already proven that they don't need that iew
compatibility on the DOM side. The only browser that needs this new
switch is iew, because it's the only browser that has to support both
this proprietary DOM and the standards DOM.




liorean wrote:
 I don't think Microsoft are asking for a versioning scheme, they don't
 intend to make a new locked down mode that needs replacing in the
 future.


On 14/03/07, Robert Brodrecht [EMAIL PROTECTED] wrote:

I don't think they are either.  I was initially hoping to solve two
problems at once (lack of versioning and the IE switch).  After thinking
on it, I came to the same conclusion as you: a IE-only switch shouldn't be
part of any spec.  A quick way to offer the deliverable is with an http
header.  It can be easily added to existing sites with .htaccess files, as
well.


Well, I have several issues with that:
- First of all, that developers have low awareness of the HTTP side of
the web. Most web developers are happily ignorant about HTTP headers,
and even if they know about them, it's mostly limited to some specific
problem, such as cache control headers.
- Second, that we already have MIME type switching (tagsoup/XML
modes), Content-Type: ...;charset=xyz switching (and corresponding
meta element), various cache behaviour switching, and DOCTYPE
switching. Please don't add yet another type of switch, just reuse the
most practical one of those already present.
- Third, it has to work when there's no HTTP headers, e.g. from
network shares or the file system.


liorean wrote:
 This is a switch out of backwards-compatibility-hell for a single
 specific browser they are asking for, not something any other browser
 vendor should have to worry about. And I don't see any reason why
 !DOCTYPE html shouldn't be the switch seeing as developers are
 already used to DOCTYPEs as mode switches.


On 14/03/07, Robert Brodrecht [EMAIL PROTECTED] wrote:

It won't work as a switch if you want Super-Standards Mode in HTML 4 and
XHTML documents.  I know I want that option.


Something I'm very grateful for here, is that XHTML documents don't
have this problem. There is no quirks mode in XML in any XHTML aware
browser. And iew is not an XHTML aware browser. The super-standards
mode will be the only mode available in XHTML douments.

As for HTML 4.01 or XHTML1.0 as text/html, that's an area I disagree.
The text/html media type is tagsoup for all browsers. A certain set of
doctypes act as standards mode switches, but only as token strings,
not by actually meaning the document conforms to 

Re: [whatwg] Versioning (was: Re: Using the HTML5 DOCTYPE as a new quirksmode switch)

2007-03-14 Thread Robert Brodrecht
liorean wrote:
 Well, I have several issues with that:
 - First of all, that developers have low awareness of the HTTP side of
 the web. Most web developers are happily ignorant about HTTP headers,
 and even if they know about them, it's mostly limited to some specific
 problem, such as cache control headers.

To deliver real XHTML, developers are supposed to know about content-type
headers.  I don't think it's asking too much of the upper-eschalon of web
developers to add a header for IE.  Of the ~50% of people (according to
Chris Wilson) that have DOCTYPE, I'm sure there is a good portion that
have it because the WYSIWYG editor put it there.  Since those ship with
the ability to create compatible designs, it's not an issue for them.  For
those that work in quirksmode or just copy/pasted in a doctype from a
tutorial, it is certainly not an issue.  Having the extra standards
support is an issue for those of us who hand-code our sites.  If someone
is purposefully triggering standards mode, I would hope they had a clue
about HTTP headers.

 - Second, that we already have MIME type switching (tagsoup/XML
 modes), Content-Type: ...;charset=xyz switching (and corresponding meta
 element), various cache behaviour switching, and DOCTYPE
 switching. Please don't add yet another type of switch, just reuse the
 most practical one of those already present.

The problem is that there isn't a practical one to reuse.  I would hope
the IE Team would have been smart enough to think of looking for a
complete DOCTYPE first.  They asked for another opt-in (presumably other
than the doctype opt-in).

 - Third, it has to work when there's no HTTP headers, e.g. from
 network shares or the file system.

Real XHTML turns to tag soup when there is no header.  This can have quite
a few unexpected consequences when a real XHTML document is downloaded and
viewed not-over-the-network.  At least with an IE-only header, it would
only affect viewing the page locally in IE (unless the meta http-equiv tag
was present, then it should display properly).

 Something I'm very grateful for here, is that XHTML documents don't have
 this problem. There is no quirks mode in XML in any XHTML aware browser.
 And iew is not an XHTML aware browser. The super-standards mode will be
 the only mode available in XHTML douments.

The fact that IE doesn't support real XHTML is why real XHTML* never
gained critical mass.  I don't think we'd be working on HTML 5 if IE would
have had support for real XHTML, even if it was buggy / semi-quirky
support.

 As for HTML 4.01 or XHTML1.0 as text/html, that's an area I disagree.
 The text/html media type is tagsoup for all browsers. A certain set of
 doctypes act as standards mode switches, but only as token strings, not
 by actually meaning the document conforms to any particular HTML
 specification.

With HTML and fake XHTML, it is the job of the developer to make sure that
code conforms to a particular specification.  There are quite a few people
out there who care about delivering well-formed, quality code, even if
their page will still render when there are syntax errors.  There are
quite a few of us who aren't lazy (even if we make mistakes now and
again).

 There is no meaning in those strings to any of the
 browsers, except for their triggering different rendering modes.
 HTML2.0, HTML4.01 of XHTML1.0 are all the same HTML if you ask the
 browser. This mode is just another one added to the set of modes
 provided by one particular browser.

There is (and ought to be) meaning to the authors.  The spec we are
working on now will have a text/html serialization.  When I start writing
for HTML 5, I will do my best to conform to the spec by writing valid
code, and will write well-formed code because I take pride in the work I
do.  I do the same thing with HTML 4.0 (and would do the same with fake
XHTML if I didn't believe it was ideologically broken... instead I don't
use it at all).  Just because it renders with a tag soup parser doesn't
mean I shouldn't be able to reap the benefits of better standards-based
rendering in IE.  So, it'd be super great if whatever switch the IE Team
decides to use is backwards compatible.

* When I say real XHTML, I mean XHTML served with application/xhtml+xml
Content-type headers.
-- 
Robert http://robertdot.org