Journal
Time To Drop IE6
4 September 2008 › 17 comments
Feeling inspired by Dan Rubin’s recent post, entitled The Final Word on IE6, I just finished writing this email to coworkers, reiterating why I think it’s time to drop support for Internet Explorer 6. Realistically, we have already stopped doing anything with IE6 in mind, we’re just talking through making it our “official” stance not to support it. Anyway, I thought it would make for a good blog post, since I’ve been neglecting to write as of late.
As requested, here’s a run down of what it takes to support IE6. First off, here are a few lists of IE6 bugs, not all of which are major (totaling over 120)…
Just off the top of my head though, here are 8 bugs that I have repeatedly dealt with in the past…
#1 — A CSS filter fix for every single PNG file, including foreground and background images. That means, anything with slight transparency needs it. In so doing, links within those areas cease to work, if that element has both the PNG filter and absolute positioning. We could use a GIF instead, in which case the presentation looks like 8-bit Nintendo. More here:
#2 — No using min-width, max-width, min-height, or max-height. Meaning, we can’t define semi-fluid layouts for views, that disallow themselves from going too small or too large. We’d have to substitute a filter, doing JS within CSS. It’s possible to do, just time consuming. Plus, by using these CSS expressions, we have to make sure we’re doing it right, because IE6 and IE7 understand them, but IE8 drops support for them (in standards mode, but retains in quirks mode). That means coding things three times, once for all good browsers, once for IE6, and another time for IE7 & IE8, to make sure they’re not incorrectly applying what is only meant for IE6. More here:
#3 — IE6 is notorious for not making block-level links click-able. Meaning, it’s more tedious to create buttons that have more than just their text click-able. To fix it, you have to go in and set either width:1% and/or height:1%, or know the exact pixel dimensions of a link beforehand, and set it verbatim.
#4 — IE6 will not allow the re-definition of a style using a combination of an ID, selector, class name, added to another class name. It’s a bit wordy to explain, but basically #my_id.class_name will render the same as #my_id, completely ignoring the fact that an extra class has been added. I documented this particular bug a few years ago…
#5 — IE6 doubles the margin of any element that is floated. Meaning, if I have a row of 4 boxes, each one 200 pixels wide, with 10px of margin-right, then in good browsers, the total width would be (200 * 4) + (10 * 4) = 840. IE6, however, would double that margin, giving each element 20px margin-right, for a total of 880 pixels, causing the right-most element to drop to the next line. This is remedied by setting display:inline to the floated elements, but some times you really do need them to be display:block. For instance, transforming a normally inline element such as a link or span.
#6 — IE6 doesn’t support the :hover pseudo-class on anything but links. This means that many of the techniques I have employed such as hovering over label or span to create interface changes would all need to be either re-coded into dead links (href="#") so that we can style them with CSS, or re-coded with mouseover + mouseout events to handle via JavaScript.
#7 — IE6 adds inexplicable width to italicized text. Meaning, if you have a content area with a block quote set in italics, this will cause your content area to be wider, pushing your sidebar below the content, because the floats get too big to fit side-by-side. One way around it is to set overflow:hidden to every single text element that could possibly contain italicized text.
#8 — IE6 mis-interprets height to mean min-height. So, if you set something to be 500px tall, and want it to stay that way, if your content happens to be taller than that, it will expand to accommodate, whereas other browsers take the height literally, and simply let the content spill over. This isn’t a huge issue, but does make it more tedious, having to re-define a separate height for everything that needs min-height, in a separate CSS file.
#9 — IE6 lacks support for the :first-child selector, meaning you cannot grab the first element of a particular tag name, and instead have to resort to giving it a class name in the markup. Not a huge deal, but being able to reliably use this selector makes coding navigation lists go so much smoother.
#10 — IE6 misinterprets position:fixed, making it impossible to have elements stay in a particular area as a page is scrolled, without some serious hacking. It can be done, with considerable re-working of the html and body tags are handled. I did a demo of how this this works a few years ago.
Basically, it’s not impossible to support IE6. Heck, front-end developers have all had to do so for the past few years. It does, however, add another 1/3 to 1/2 development time, depending on how many fancy graphics are in a page. If I had to estimate, I’d say if something takes 6 weeks to complete for good browsers, that project will take 8 to 9 weeks total, to support IE6.
Or, we could design very plainly with IE6 in mind, but that would just make our site look like Basecamp does now. Yet, even 37signals wants to move forward, which is why (in my opinion) they’re dropping IE6 support on October 1st.
Discussion + Dissension
Comments closed after 2 weeks.



#1 Robert Spangler
Amen!
I always get hit with the great “Duplicate Character Bug” that pops up when you’re trying to float multiple elements. – IE6 Duplicate Characters
Most of our clients have a larger-than-normal IE6 customer-base, so we probably won’t be able to drop support just yet, but I certainly will consider it on my personal projects.
#2 Erik Sagen
Hoo-hah! #3 is the worst offender for me as well as #5 and all of the above. I can’t tell you how much time we spend at AOL debugging for IE6 support, since the AOL client uses it; seriously, countless amounts of man hours wasted.
Now with Chrome amongst the ranks of Firefox, Safari, Opera and Camino I honestly can’t wait until IE-anything fades away.
#3 Jonathan
Wow, what a relief it would be to drop IE6. Is it feasible yet? For 37Signals, certainly (I’m almost surprised they’ve waited this long). I’ll be taking a look at our percentages in analytics for sure—even if it’s just wishful thinking yet for us.
#4 Jonathan
Ack! 28% of our visitors use IE6! I’ll just go cry.
Still, thanks to all who are starting to say this out loud and hasten the day when our web design work gets oh-so-much more productive.
#5 Chris Griego
What really concerns me about the recent rash IE6 chatter and the IE6 Death March is it all reads as what the developers want, instead our primary charge of what is best for the users. I agree that using IE6, an outdated, incapable and insecure browser, is not what is best for the user; however, serving them a site without testing it in the browser they’re still using isn’t the answer.
We also have to think about the business and weigh the costs of support against the revenue brought in my users of IE6. Your support cost estimates are overstated. I recently spent two solid days testing and fixing CSS and JavaScript issues with IE6, but that was 10% of my overall effort. Far from 25-50% additional. Add in opportunity cost by holding yourself back from doing things that you knew wouldn’t work in IE6 in the first place, but also consider that the support cost primarily affects the front-end developer’s time and not others’, and weigh that against mainstream sites still seeing 15-30% IE6 usage, and the math doesn’t add up. Dropping support would be ridiculous.
Granted that this math isn’t the same everywhere. Let’s take Viewzi as an example. First, Viewzi is still an early adopter tech product, an audience that already has very low IE6 usage. Second, Viewzi is still in startup mode and most focused on building a product and less focused on revenue. By the time Viewzi does start to draw significant revenues from its site, IE6 usage will already have faded. Spending time now to support IE6 would lay a heavy opportunity cost on you without adding any significant benefit. Viewzi supporting IE6 would be just as ridiculous as mainstream sites dropping IE6 support today. (My small personal site sees a low number of IE6 usage, so the decision I made when developing was to not design for IE6, but test it after the fact and tweak enough to degrade gracefully. My site makes use of position:fixed.)
All that I ask is that you consider the following:
1. Not everyone has the same situation, and not everyone should drop IE6 just yet. Really, I’m jealous of your situation.
2. Think of the users first.
3. While we’ve bumped heads recently, I do still have a lot of respect for your talents and opinions.
4. I don’t speak for those who employ me. :)
#6 Andy Knight
I definitely wish I could drop IE support. The site I maintain is that of a non-profit religious organization, and we have an across the board audience. Last month 30% of our visitors were using IE6. So the beat goes on.
#7 NatalieMac
Your list should be enough of a reason for anyone to want to drop development support for IE6, and yet, it’s far from exhaustive.
For those doubting your estimates of how much extra time it takes to support IE6 on a web site, I’d like to say that it greatly depends on the site, graphics, and layout being used. I’ve worked on sites where support for IE6 easily doubled or even tripled front-end development time. The increase in development time for back-end developers is often negligible, but it still has to be considered.
Of course, the problem that those of us who live life on the web often overlook is how so many users have no real concept of what a “browser” is, what it does, or why the one they’re using might not be ideal. And asking these people who think of the little blue ‘e’ that sits on their desktop as ‘the internet’ to upgrade to ie7 with such a radically different UI is like asking for the world.
#8 Nathan Ford
Very nice post! The list will be helpful those of us who still slog through hours of taming IE6.
As for #1, I have been working on a small js called Unit PNG Fix to correct this issue, especially focusing on the interactivity problems caused by the MS filter attribute (not being able to click links, etc.), but this and other scripts like it only serve micro solutions to the macro problem: people are still using IE6.
On this point, though, I agree with Mr. Griego: ignoring IE6 is not serving the user, only ourselves as developers. This will be a precarious attitude for many web professionals to hastily adopt.
#9 Jin
heh must be a trend. I’ve read many designers writing about dropping IE6 recently, myself included:
http://www.8164.org/dear-ie6/
#10 David Sutoyo
I’m with you on dropping IE6 support. But one question I’d like to see answered is: who exactly are these users who are still using IE6? I only know half an IE6 user — my wife is forced to use it at work. I’d really like to know the reasons why people use IE6 when a better browser is a free upgrade away. And with that information, perhaps we can target those users properly, meet them where they are, and find better ways and reasons to help them upgrade.
I support the call for dropping iE6 support, but the truth is that the users who need to upgrade don’t come to our blogs and most likely don’t know any better.
#11 Gill
Wouldn’t that be beautiful – to drop it completely – you give plenty of reasons to why – and also my GA stats are showing that less and less people have it – but I really like to push this back onto Microsofts inability to manage IE well – rather than pushing the upgrade through service packs – it should push the upgrade separate from the operating system and just within the browser itself. I’m sure there was talk about this at some point – but come on. I also hear that IE8 will be able to handle sites that was designed for IE6 – which i think is a fantastic feature – how many times does a small business company redesign their websites. MS finally thinking about the lil people!
#12 Marshall Grant
Ha, Ha! Great write up Nate.
I argued this a while back in the EE forums. Some guy asked the same exact question as was asked of Dan Rubin, preaching he had no IE6 issues. I think he just coded sites for IE6 so long, his brain became “IE6 standardized”. Poor fella’.
I think if we first stopped supporting IE6 PNG fixes, folk will get the point. Can you imagine going to hundreds of sites with grey boxes around all of the images.
LOL!
#13 Ricky Foyle
I only wish I could drop support now but a recent customer of mine was still using ie 5.5!!! Approaching his first million but still using a Packard Bell breeze block laptop from nearly a decade ago! There’s no hope!
I’m glad people are posting about it more and more though, hopefully it will raise awareness to the issues it causes. Fingers crossed ‘Chrome’ might catch the attention of the masses in future and assist Firefox and Safari in the decline of IE.
#14 David Brooks
I’ve had an article for the past two or three months about dropping IE6 that I can’t bring myself to post. I don’t think a client visiting my site is going to appreciate it if I just tell them “I’m dropping your browser”, but I think if framed correctly they’ll understand that we really can give them a better experience on the web by dropping IE6.
That’s not to say that there’s anything wrong with this article, personally I think it’s really well written and dead-on. But my own issue is with how I explain to people why IE6 is bad and how I can make their life easier (or deliver a less expensive product) without it. I think that people who haven’t actively chosen a side in the browser wars typically will only care about their experience, and not necessarily what version of a browser they are on. To me it seems that given the reasons in a way that they understand and a quick explanation of how to upgrade/switch that they would gladly abandon it for something newer.
#15 Bruno Miranda
Great post. We linked from here: http://idroppedie6.com
#16 Jon
Just reading those ten points makes me shudder, my company still supports IE6 and I am the lucky person who is responsible for all CSS cross browser debugging… kill me… please…
#17 brandonrichards
I wish IE6 were a car that way people would trade it every few years for an upgrade.