I mentioned a while back how I would post a blog on my loss of faith in Internet Explorer. I’ve been asked to elaborate, so… here’s why. This is a draft (for now) because I’m realizing that a lot of the code and other tags I’m attempting to put in haven’t been styled properly. Thus are the perils of learning and creating one’s own WordPress site style. ![]()
Ground Rules
First, a few ground rules for this discourse:
- I’m not going to comment on the term “standards-based browser.”
It’s a foolish buzz-phrase used by people who (mostly through bias) prefer one browser to another. The fact is, no browser (in production) is fully compliant with the W3C guidelines… yet. Take a look at the Acid2 test and a few test results. I concede that of all browsers, IE is the least-compliant, but I’m not framing my discussion on this point. - I’m not going to comment on security.
Again… dead horse. I stipulate that IE is “not safe.” Point of fact, however, is that I, nor any of my colleagues, have been struck down by an IE flaw or loophole. At both the office and my home, I take precautions– I don’t surf the darker corners of the web, I have excellent virus and firewall protections, and I update regularly. Am I immune? Of course not… but I’m not impressed enough by this argument to “switch.” - I don’t care about tabbed-based browing, plug-ins, and the like.
As a developer of industrial, web-based solutions that are meant to transcend browser and machine, I can’t depend on proprietary technologies particular to one browser to exist. I am forced to shoot for the lowest common denominator to hit the maximum number of users, so by force of habit, I surf that way. - I use both Internet Explorer 6 and Firefox, nearly 50/50.
I’ve installed Opera and I use IE7 and Safari on a VMWare emulator, each for testing and compatibility purposes only. I thought this disclaimer would be important. I prefer IE6 for debugging scripts and Firefox for personal browsing, (though I sometimes click IE6 out of habit… and I’m never put out by that).
So… with all of that said, what straw broke the camel’s back and ruined any faith I had that Internet Explorer could function as the populist, mainstay (even if poorly implemented) browser?
Prerequisites for a severe, stabbing ache near the seat of my pants
My latest web solution at work has been subscribing to Web Standards since its inception. What do I mean by that?
- Semantic markup;
- CSS layouts;
- Appropriate doctype usage; <- I bold this purposefully.
- W3C validation;
- Accessibility (where appropriate for our user landscape);
- Agnostic browser consideration.
Wait… why did I bold #3? Because Internet Explorer screwed us.
As many website and content developers have been testing their sites in IE7, we have as well. Our web techniques are tested in each beta as it is released. But we were noticing a severe rendering problem: IFRAMES were all screwed up. Why?
Wow… does that ever suck
We’ve been using XHTML 1.0 Strict as our doctype, unless we needed an IFRAME on the page. Since this iis rare, most of our pages begin with the following code:
<?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> <title>Start Test</title> ...
Looks pretty innocuous, right? Well, take a look at this article, specifically the following section (empasis added):
XML Prolog Bug Affecting the CSS Box Model
The XML prolog is intended to specify the version of XML being used and is mostly seen on the Web in conjunction with XHTML. As explained above, in IE6 we introduced a method to switch between quirks and strict mode. This switch had to be the first line of a page. Sadly the XML prolog required the same and most authors using the XML prolog would add it before the strict type switch. This caused IE6 to ignore the author’s intention and IE6 would render the page in quirks mode rather than strict. We fixed this issue in IE7. Now, you can have the XML prolog and immediately follow the strict mode switch to render XHTML properly. Sadly some pages build their content with the assumption that IE is not in strict mode (even though IE should according to the HTML spec). Rendering issues caused by the XML prolog fix can easily be identified: Open the view-source looking at the first two lines of the page. If you see the XML prolog and a strict doctype and the page has rendering issues, it is most likely that the page author needs to update the content.
So, what does that mean? It means that, although we’ve taken great pains to ensure conformity to a strict doctype, we’ve been rendering in “quirks” mode.
As I read this I feel lucky that I can understand about half of what you discuss