How to support IE6 without dying inside
Internet Explorer 8 was unleashed earlier this week, and with it a more voluminous fervor to renounce the much-maligned (at least for web developers) Internet Explorer 6. I see references to Zeldman’s groundbreaking “To Hell With Bad Browsers” article waved around like pitchforks at the fortress gates. In the words of Twisted Sister, “we’re not gonna take it… anymore!”
The sentiment is understandable. We’ve been putting up with the bugs, inconsistencies and security holes of IE6 for nearly eight years. We’ve supported versions 6 and 7 simultaneously since 2006. The choice seems clear: Abandon version 6, or commit to supporting three versions of Internet Explorer simultaneously. Unfortunately, it’s not that simple.
Like it or not, IE6 rivals Firefox with 20% of the browser market share (as of February 2009, according to Wikipedia). Regardless of the cost associated with supporting this productivity vacuum, throwing away one in five potential customers is a hard sell. Even worse is the possibility of crippling your design (and thusly your potential success) to satisfy a dwindling demographic.
Luckily, there are steps you can take to acknowledge IE6 without punishing more capable browsers.
Develop in modern browsersTravel to a blissful place where IE6 never existed! Attempt to develop using the best practices you can in browsers with consistent results, such as Firefox, Safari, Opera and/or Chrome. Test in modern browsers, and get things working like a well-oiled machine. If you develop from the get-go in IE6, there's no telling if your bugs are the result of a bad browser or your own bone-headed mistakes. It happens to the best of us!
Use a conditional stylesheetConditional comments allow you to target markup at specific versions of Internet Explorer in a standards-compliant (only mildly hack-ish) way. This allows you to store your fixes in a separate CSS file where it can't corrupt your otherwise competently-authored rules. If you've never used conditional comments before, I recommend checking out this article. Oftentimes a few extra styles will be enough to correct major bugs.
If all else fails, screw em'Sometimes, it just isn't worth the resources to duplicate every design jewel cross-browser. If you find yourself stumped, accept that IE6 users may have to settle for your next best option; a simple 1-pixel rule will suffice where an alpha-transparent background image fails. Better yet, take this as an opportunity for some unexpected creativity: Stuff & Nonsense shows their IE6 users a mellow, monochromatic layout.
I would love nothing more than for Internet Explorer 6 to be six feet under, but with nearly 20% of the browser market I can no more ignore it than I can Mozilla Firefox. The goal is to remain empathetic to our audience while rewarding those who graduate to more modern solutions. If we create innovations with genuine value, our users will happily come along for the ride.