"David W. Fenton" wrote: > [snip]
> >> If IE had not been designed to render invalid HTML (i.e., > >> guessing what the web page is *supposed* to look like), then > >> there would not be all these load-of-crap HTML editors that > >> produce invalid HTML, since users would discard them when they > >> saw that their browser couldn't render the HTML produced. > >> > > > >Yep, I as a web user somehow care about that. Right, you get the > >job of explaining that to the dozens of Mozilla users. > > I greatly *prefer* a browser that rejects invalid HTML. > Rejects it *how*? By crashing? A message box saying "sorry, this web page has no DTD line: http://www.mozilla.org/index.html"? You know what I much prefer? Something the latest IE6 does: Renders the page to the best of its ability, and puts a little "!" in the bottom-left corner saying "errors on page" or something like that for the six or eight people who actually care. I ask you sir, who loses by doing things that way? > >> No, a browser should render only *valid* HTML. > >> > > > >What should it do when presented with 99.44% valid HTML? Like say > >a missing DTD line? > > That's not required by all versions of HTML. It should choose a DTD > and do its best within that DTD. > On a page which requires it, what should happen? Are you saying it should "choose a DTD and do its best within that DTD", even though it's *required* and therefore the HTML is *invalid*? So ok, you're saying that "well, invalid HTML is ok in certain instances". Please enumerate those instances. > Dealing with a missing DTD is not the same thing as guessing where > a </TABLE> tag should go, as IE does and Netscape never did (very > common scenario -- "I can see it with IE, but the page is blank in > NS!!! What's wrong?"). Answer to "what's wrong": IE does it's level-best to put *something* up in the hopes that the viewer can make some sense out of it, Netscape (and Mozilla?) throw up thier digital hands and don't even say "No </TABLE> tag, I'm too dumb to even make a guess, crapping out". Again, why not render *something* and flag it as "invalid" for the handful that get all bent out of joint over such things? > In the case of the DTD, it's a non-required > element, and there's a definition of what browsers can do with it. You said it's "not required by all versions of HTML", implying that some versions of HTML do indeed require it. But I give you one such page with that DTD missing. What do you do David? What do you do? > With a missing </TABLE> tag, there's really no proper way to guess > what to do with it, and by no stretch of the imagination does any > DTD allow the omission of that tag. > And yet it's missing. Maybe their was only decaf in the webmaster's lunchroom that day, who knows. And what the heck, let's raise the stakes a little - the web page with the missing "</TABLE>" is patient data that an ER doctor needs stat or a man dies (Mozilla *is* used in such life-or-death situations, right? I mean it's everywhere you want to be, isn't it?). So what do you show the doctor: the best you got, or absolutely nothing? I choose life. > >> If that were the case, then there'd be no such thing as an HTML > >> editor that produces invalid HTML. > > > >And who would be producing such magical, perfect software? And > >what if the invalid HTML was written by hand and you had only a > >person to blame? > > It should be rejected as invalid HTML, and the user should be > instructed to run it through a validator to tell them what needs to > be fixed. > The *user*? Why in God's name should the *user* be getting involved in debugging somebody's web page? And tell that to the doctor above. > >> Can you imagine a compiler that would compile invalid code, > > > >I can list a few for you. How about some that *output* invalid > >code too? > > To the same degree that HTML editors do? I don't believe it. > That is why you fail. > >> making > >> a guess as to exactly where you meant to put that END IF? That's > >> just bloody stupid, and the rendering of invalid HTML is just as > >> bloody stupid. > > > >Again I ask, what should this hypothetical "perfect HTML only" > >browser do when confronted with slightly imperfect HTML? Crash? > >Display a MessageBox() saying "I don't understand this HTML, > >sorry"? > > That latter sounds nice. > Well it's customizable with a few hundred lines of JavaScript, right? So in the ER example, how about "I don't understand this HTML, please send my condolences to Mr. [INVALID HTML]'s family." > >Automatically send an email to the webmaster of the site bitching > >at him so much that he finally blocks this mythical perfect > >browser from browsing there? What course of action should be > >taken? > > If browsers wouldn't render it, people wouldn't produce it. > If people wouldn't produce it, IE wouldn't bother to render it. But you see there's just one logical fault there, summed up in a single sentence two thousand years ago: "As it is written, There is none righteous, no, not one" - Romans 3:10
