Ask any web designer or web developer what the most troubling part of their job is, and they might tell you, “making sure everything works in IE6.” Internet Explorer 6 is an outdated browser that renders CSS terribly; normally requiring several hacks to get it to do so correctly. Yet many people still use it. About 36% of users according to TheCounter.com. And why is that? Maybe because we continue to make sure sites work and look good for them. Or because they’re just too lazy to upgrade. Or maybe don’t know how.
I’m starting to share in the opinion that we should stop hacking for IE6 and persuade those who still use it to upgrade to version 7 (or at least something which supports CSS2) by letting them see just how bad a browser it can be.
A typical website build for any of us at MF involves first hashing out basic XHTML structure, writing our main CSS styles, breaking sections out into PHP includes, saving out all the pages we need, then adding all the content. We try to adhere to web standards as close as possible, and generally don’t have to do much testing in the most up-to-date browsers. Maybe the occasional float issue here and there, or letter-spacing and font-size tweaks. And then someone asks, “did you check it in IE6?”
That’s when we all sigh in unison, move to the only PC with IE6, and stare angrily at broken layouts, doubled margins, and massive spacing between list elements. We then proceed to diagnose the problems, which are often the same each time around, and write specific CSS just for the misbehaving browser.
It’s not very time-consuming, unless you’re constructing a large site, in which case can take up to an hour or two. It’s just a pain. I’d much rather stick to just the methods I’ve worked so hard to learn and perfect, and that work in every other browser—including IE7—than to have to babysit IE6 with slightly different styles.
So my solution would be this: Build as usual until the time comes for browser testing, and check everything in IE7, FireFox 2+, and yeah Safari too. Then drop in a hidden
<div> with a message that reads, “You’re using an out-dated version of Internet Explorer. Please upgrade to IE7 to view this site correctly.” If the browser being used is IE6, we’ll tell this normally hidden content (
display: none;) to display our message (
display: block;). So now anyone coming to the site with Internet Explorer 6 will be asked politely to upgrade.
My suggestion may not be semantically correct, or it may be the case that a client needs to accommodate as broad an audience as possible and we have to make things work properly. And I agree that backward compatibility is as important as forward compatibility, but when a browser is just overall outdated and bad at rendering even basic CSS, it’s time to phase it out. Take IE5 for Mac as an example. That was okay to use at one point in time, but eventually revealed its shortcomings and has been all but wiped from existence. And it’s abandonment was also partly due to Safari being developed.
So in short, Internet Explorer 6 needs to go already. It probably isn’t going to happen anytime soon, but maybe if we stop hacking for it, those who are still using it will continue to see broken layouts, and realize what a bad browser it is, only to then perform the free upgrade to IE7. That would make my day.
(Note: If you happen to be looking at this blog in IE6, you should see the message I mentioned above.)