I’ve almost completely dropped support for old Internet Explorer in my most recent projects despite the fact that they should be accessible to a wide and non-technical audience. Call me crazy but I have more reasons than simple insanity for doing so. Internet Explorer usage (for versions I’m not targeting) has dropped to single digits and progressive enhancement is something that should be applied in a generalized way that targets all browsers. I won’t advocate for dropping IE wholesale but if you’re thinking of moving that way, maybe this will ease some of your concerns.
I started writing this in January of 2015. It’s contents have only become even more true and reliable since.
Six years ago when I started my first company, every bit of my front end code was littered with Internet Explorer specific hacks. Everything from my markup to CSS, and styles. Nothing was left untouched. Back then it made sense. Internet Explorer 9 was just starting to be used and even that can’t be considered a truly modern browser although it was the first version I didn’t have to care so much about. Now we have companies like Salesforce dropping support for IE7 and and IE8. When these large companies start dropping older versions of IE you know that this time we really are on the verge of no longer having to worry about IE specific hacks.
I still do vendor prefixing. I use LESS as my preferred CSS transpiler and have a library full of mixins that do the prefixing for me. If pure CSS is your thing then you can use a tool like Autoprefixer at build time or manually to add vendor prefixes. Vendor prefixes are likely going to be in common usage for quite some time to come. You’ll always have some user using older versions of what we once considered modern browsers and as new features are added to CSS the browsers we know will begin implementing them using vendor prefixes.
As of December of 2015, Chrome and Firefox combined have about 90% of the browser market sewn up with Chrome leading Firefox by about 50%. All versions of IE come in at 6% with Safari and Opera trailing even lower than IE. With Safari, just about anything that works in webkit works in Safari but Chrome is much much better at implementing new features as they’re available while Safari gets a big update once a year.
What this tells us is that all things being equal 90% of your visitors will be using Firefox or Chrome.
Know your audience
Different categories of sites will attract different browser demographics. It’s easy for me to brag and be a dick about IE because just about every site I build is for younger and/or technical audiences. My IE stats in Google Analytics show less than 1% of my visitors using IE for any given site. 1% may seem like a lot but many of those sites aren’t really getting all that much traffic. When you’re getting 10,000 page views a month that means 100 users came in using IE and of those most are using IE9 or higher which are the best versions of Internet Explorer to have to deal with.
Your mileage may vary though so you have to make a choice about whether you’re going to go out of your way to support IE.
Dropping support doesn’t mean rendering broken pages
One of the first things I mentioned at the start of this article is that we should all be developing sites with progressive enhancement in mind. That means that when a browser doesn’t support some new CSS3 animation or an ES5 method like
Real world example
Drop it like its hot
Because it is hot. Drop IE and free yourself from code bloat, debugging, and maintenance hell. I originally started to write this over a year ago so maybe this is all obvious to you now but I just wanted to get it out there.