- From: Jonas Sicking <jonas@sicking.cc>
- Date: Fri, 12 Jun 2009 15:59:05 -0700
- To: John Foliot <jfoliot@stanford.edu>
- Cc: Shelley Powers <shelley.just@gmail.com>, Rob Sayre <rsayre@mozilla.com>, Sam Ruby <rubys@intertwingly.net>, public-html@w3.org
On Fri, Jun 12, 2009 at 3:46 PM, John Foliot<jfoliot@stanford.edu> wrote: >> For what it's worth, I can't think of a way that the spec *could* >> mandate a specific behavior for non-conforming vs. conforming markup >> in a productive manner. Even the XML spec is very vague on what to do >> with non-conforming documents. Do you display as much as you've loaded >> to that point. Do you only retain what you've displayed so far (which >> could be slightly less than you've parsed. Do you replace what's >> currently being displayed with an error message? Are you not allowed >> to display anything until you know the document is conforming? > > Jonas, do you remember what happened, way back when, if you opened a > <table> but forgot to close your </table> in, say, Netscape 3? At that > time I was teaching civil servants how to write HTML in Notepad, and trust > me, they only made that mistake once... they learned quickly what a > critical failure looked like (which of course was a blank page). But today > the browsers are smarter, which allows for dumber HTML I guess... Do you also remember what happened after? When web authors complained enough that one browser stopped rendering blank pages (don't remember who was first). This quickly resulted in pages with wrongly nested tables being authored since authors only checked against that one browser, eventually forcing every other browser to have to follow suite and accept broken behavior since users complained to the other browsers when they couldn't see all the pages that worked fine in that first browser. Not only that, but when that one browser on their own decided to stop rendering blank pages, they decided on an error handling strategy that was easiest in their implementation. They decided to render misplaced content before the table, which is why we are today forced to put the "foster parenting" and "tainting" algorithms in the HTML 5 parsing spec. Something I think we're all very unhappy about since it means that we can't support streaming parsers as well. So yes, I do remember, and I don't think it was a success story. / Jonas
Received on Friday, 12 June 2009 23:00:03 UTC