Post Archive
› June 5, 2002
& problem
Bob Sawyer sent me a kind note pointing out that the webgraphics XML file was out of sorts due to a typo for & where the semicolon was missing (&). I fixed the error, but noticed beforehand that an ampersand was still displayed even though the semicolon was missing (at least in IE 5.1 for Mac Classic) and the code was invalid. This seems like sort of a big problem, especially in terms of invalidation. And it raises another question - which is where does one register IE bugs?
Comments
1. June 5, 2002 10:32 PM
2. June 5, 2002 11:04 PM
Bob Posted…
It could be just that, Nate. However, I got the address for bug submissions from Owen Briggs, and submitted it just a few moments ago. I cc’d you on it as an FYI. Whether or not it’s a bug, how the browser treats it is, as you stated, no one’s friend. Interestingly enough, I just tried it under IE/Win, and it does it there, too. Which makes me think now that it’s just IE accepting bad code and rendering it “anyway,” nevermind the consequences. If nothing else, it should be cleaned up. IMHO. :-)3. June 5, 2002 11:51 PM
Nate Posted…
Yikes! This is much worse than I thought. For kicks and giggles I took the handy charachter entity table from aardvark’s evolt article and removed the semicolon from all of the entities (both numeric and otherwise). Here is the test page, it looks like IE 5.1 on Mac Classic is reading nearly all of them. That’s an unpleasant reality. If nothing else, I suppose this is a reminder of how important code validators can be.4. June 5, 2002 11:55 PM
Nate Posted…
Note: on the test page I linked to in the last comment, all four columns have the actual entities with semi-colon removed, the evolt article showed the entity as it is typed in in the first two columns but I did not retain this when doing my search/replace.5. June 6, 2002 08:37 AM
Bob Posted…
Yeesh! IE6/Win reads them all, too. This, I believe, is a clear case of releasing “forgiving” browsers. Owen Briggs (www.thenoodleincident.com) said it best to me this morning: “I understand their reasoning, but disagree because it encourages junk code that will fail elsewhere. this might have something to do with it, might not.” “No reason not to tell them it’s a bug though. It is.” We’ll see what happens.6. June 6, 2002 02:13 PM
Dave Posted…
This issue begs the question: Why did browser manufacturers not create user agents that refused to render invalid markup or markup without a DTD? The answer seem (to me at least) to be that it would have prevented rapid adoption, as it would have made learning proper HTML that much harder for people. The fact that browsers still do this to a degree (Mozilla 1.0 also renders Nate’s test page) is evidence of this legacy. Think of what would happen if Mozilla did the Right Thing and released a browser that only rendered well-formed and valid HTML. No one would use it. Millions of URLs would present blank screens or a litany of error messages.
I think this issue was inevitable. Even if Mosaic or Netscape 1.0 were to have been strict about markup in the beginning, Microsoft surely would have come along and touted the laxness of IE as a great new “feature,” allowing you to “Learn HTML in 24 Hours!” and still produce a legible, if not poorly coded, web page. Bad markup would have ensued and proliferated anyway. That is why the fight for web standards has to begin and end with the developers.
If browser makers could have instilled in users and developers the importance of proper syntax from the get-go, Jeffrey Zeldman et al over at webstandards.org would have had to find something else to rant about all these years. The fact that they didn’t, and even encouraged bad markup with forgiving browsers, means that we are stuck with these kinds of issues for some time to come.
[end sleep-deprived rant]
Nate Posted…
It occured to me that this might not be a bug, but rather another measure used to coverup common typos. I believe many versions of IE will render tables as (perhaps) intended even if they are missing key closing tags. This behavior might have the desired effect of making the browser seem “easier to please”, but invalid markup–especially hard to detect invalid markup is no one’s friend. I’m just wondering if this behavior would be classified under “a bug is in the eye of the beholder”.