How do you answer the Internet Explorer 6 question?
- Design for better browsers, then design alternative solutions to handle IE6 bugs?
- Write a remedial IE6 stylesheet to address layout issues?
- Use JavaScript to bootstrap CSS support in IE6?
- Make your site look exactly the same in IE6 as in any other browser?
- Develop to better browsers and spend no development time or testing for IE6?
- Block IE6 users from seeing your site's styles?
All of these different methods for dealing with IE6 demonstrate that there's no one single answer that works for everyone. This isn't a binary issue. There is no Boolean answer. Instead, there's a sliding scale of support:
-
Design for better browsers, then design alternative solutions to handle IE6 bugs
I've often written that designers shouldn't be limited by lowest common denominator browser capabilities. Instead they should design for the best browsers first, then design around issues presented by older, less capable browsers like Internet Explorer 6. The most important element in this approach is that web sites cannot, need not and should not look the same in all browsers.
-
Write a remedial IE6 stylesheet to address layout issues
A common approach to take; feed versions of Internet Explorer, including IE6, style-sheets that are necessary to override styles served to better browsers with the aim of working around Internet Explorer's bugs and hasLayout issues. This Conditional approach has few pitfalls, as long as you keep in mind that web sites cannot, need not and should not look the same in all browsers. Unfortunately many designers and developers use this approach and spend hours or days attempting the cross-browser, pixel-perfection that their clients still mistakenly expect.
-
Use JavaScript to bootstrap CSS support in IE6
This is an approach that I advocated in Transcending CSS, recommending Dean Edwards' ie7-js scripts. Eric Meyer has also written that JavaScript Will Save Us All to “use the browser’s JS to extend its CSS support”. I still think that this is an option worth considering when circumstances demand and the additional weight of browser fixing scripts will not be cumbersome to the user experience.
-
Make your site look exactly the same in IE6 as in any other browser
Not only unnecessary and impractical, but unachievable. You need only look at the different ways that the Windows platform, Webkit browsers and Firefox render text to realize that even the simplest elements will, by definition, look different in various browsers. I'm convinced that professional designers and developers already know that this approach is flawed. Given the choice between spending their money on fixes for a diminishing browser or more design time, more functionality or more features, any client (usually the ones expect cross-browser perfection) will choose the latter. I think this will be particularly true in today's challenging economy.
-
Develop to better browsers and spend no development time or testing for IE6
I fervently believe that by taking a progressive approach and designing for the best browsers first, clients will get an overall better product, faster and for better value for money. That said, ignoring IE6 and its users, will likely result in a product that looks broken at best and is inaccessible at worst. No manager or owner wants a broken web page that reflects badly on their brand.
-
Block IE6 users from seeing your site's styles
Calls to bring down IE or for a death march are popular (if unfortunately named) rallying cries. Some have valid points to make, others are stupidly dishonest. There are several situations that make it difficult or impossible for a person to update their browser, particularly in some business environments and in the developing world. By removing styles altogether so that a user sees only browser defaults will likely make that person think that the site, connection or their browser are broken or that they themselves have done something wrong.
Are these the only options?
No. Because with a little creative thinking, some simple CSS and most importantly the understanding that not all browsers, especially older ones, need not see the same design, there is another way. That is why on all of my sites I will be serving one, standard, universal stylesheet for Internet Explorer 6 from now on.
Universal Internet Explorer 6 CSS
When I asked myself why people visit my sites, and the ones that I make for other people, the answer was always “for the content”. Content that is almost always written words and that means type.
That is why I'm now advocating to my clients (and to you), that where feasible, not to waste hours in time and a client's money on lengthy workarounds in an unnecessary attempt at cross-browser perfection. Instead, you and I should provide simple but effectively designed HTML elements. This means just great typography for headings, paragraphs, quotations, lists, tables and forms and no styling of layout.
More than that, I intend to serve exactly the same Universal Internet Explorer 6 CSS for all sites (give or take a little branding here, or a touch of customization there). This will pay dividends for me, reduce wastage for my clients and give end-users a well-designed, well-presented view of what they come for — content.
You can view the Universal Internet Explorer 6 CSS file or, to save you the trouble of opening IE6, this site's home page as displayed using only the Universal Internet Explorer 6 CSS. If you're wondering how one single CSS file might render other sites, here is an article from Jason Santa Maria and the A List Apart home page.
universal-ie6-css on Google Code
Taking this one stage further, I have added Universal Internet Explorer 6 CSS on Google code and you can serve it from there, as I am doing.
I think that Universal Internet Explorer 6 CSS pushes all the right buttons as a concept, but of course this is only version one. I hope that you'll help me to make it better.
Update log: 0.2
Thanks to @thefella for pointing out on Twitter that I had forgotten to translate the min/max width rules into:
width:[removed]document.body.clientWidth > 120? “120em”: “auto” );
width:[removed]document.body.clientWidth < 640 ? "640px" : "100%" );. I have uploaded version 0.2 to Google code.
Update log: 0.3
Fixes min/max width issues and various typos. Added credit for Cameron Moll. Version 0.3 uploaded to Google code.
Leave your comment
Kyle Weems
May 21 2009 @ 09:24am #
RayM
May 21 2009 @ 09:33am #
craig zheng
May 21 2009 @ 09:41am #
Curvball
May 21 2009 @ 09:42am #
Ryan Wolter
May 21 2009 @ 09:43am #
Andy Clarke
May 21 2009 @ 09:44am #
Stan Grabowski
May 21 2009 @ 09:50am #
Phil Ricketts
May 21 2009 @ 09:51am #
Phil Ricketts
May 21 2009 @ 09:52am #
TheFella
May 21 2009 @ 10:00am #
Isaiah
May 21 2009 @ 10:23am #
John Faulds
May 21 2009 @ 12:14pm #
Zac
May 21 2009 @ 02:19pm #
rmlumley
May 21 2009 @ 03:34pm #
Emil
May 21 2009 @ 04:51pm #
David Smith
May 21 2009 @ 05:55pm #
George Ornbo
May 21 2009 @ 06:48pm #
Steve K
May 21 2009 @ 07:18pm #
prisca
May 21 2009 @ 07:43pm #
Chris Sharp
May 21 2009 @ 07:45pm #
Sean Johnson
May 21 2009 @ 07:59pm #
Molly E. Holzschlag
May 21 2009 @ 08:23pm #
Razvan Pavel
May 21 2009 @ 08:51pm #
Marty
May 21 2009 @ 09:01pm #
victor
May 21 2009 @ 09:10pm #
Nathan Beck
May 21 2009 @ 09:26pm #
Jason Grant
May 21 2009 @ 10:06pm #
Ain Tohvri
May 21 2009 @ 10:29pm #
Kieran Hall
May 21 2009 @ 10:45pm #
Andy Clarke
May 21 2009 @ 10:57pm #
Thomas Jaggi
May 21 2009 @ 11:00pm #
Ain Tohvri
May 21 2009 @ 11:10pm #
Andy Clarke
May 21 2009 @ 11:19pm #
Emily Heath
May 21 2009 @ 11:20pm #
Matt Bee
May 21 2009 @ 11:28pm #
Ain Tohvri
May 21 2009 @ 11:33pm #
Todd Budnikas
May 21 2009 @ 11:42pm #
Scott
May 22 2009 @ 12:34am #
Tim Wright
May 22 2009 @ 12:41am #
Scott
May 22 2009 @ 12:47am #
Rob Kirton
May 22 2009 @ 12:49am #
A. Pedant
May 22 2009 @ 01:22am #
Pingu
May 22 2009 @ 01:26am #
Mau
May 22 2009 @ 01:33am #
Ross Parker
May 22 2009 @ 01:36am #
Andy Clarke
May 22 2009 @ 01:44am #
Redcentaur
May 22 2009 @ 04:10am #
Kilian Valkhof
May 22 2009 @ 05:57am #
Johan
May 22 2009 @ 06:02am #
Evan Byrne
May 22 2009 @ 07:15am #
Phil Ricketts
May 22 2009 @ 07:24am #
Daniel
May 22 2009 @ 07:29am #
Matt Bee
May 22 2009 @ 07:55am #
Y
May 22 2009 @ 08:46am #
Richard Fink
May 22 2009 @ 09:12am #
Robert
May 22 2009 @ 09:25am #
Evan Byrne
May 22 2009 @ 09:57am #
Andy B
May 22 2009 @ 10:37am #
Stephanie
May 22 2009 @ 12:59pm #
Justen Robertson
May 22 2009 @ 02:17pm #
Justen Robertson
May 22 2009 @ 02:25pm #
charlie
May 22 2009 @ 03:09pm #
Rob Cornelius
May 22 2009 @ 05:59pm #
Kerwin Groot
May 22 2009 @ 06:19pm #
Guillermo Rauch
May 22 2009 @ 06:22pm #
Darren J McPherson
May 22 2009 @ 06:27pm #
Ain Tohvri
May 22 2009 @ 06:59pm #
Ben Darlow
May 22 2009 @ 07:20pm #
Marc Alagem
May 22 2009 @ 07:38pm #
Francis
May 22 2009 @ 08:57pm #
Ain Tohvri
May 22 2009 @ 09:06pm #
Bobby jack
May 22 2009 @ 09:15pm #
Darren Taylor
May 22 2009 @ 10:12pm #
Andy Clarke
May 22 2009 @ 10:28pm #
David Smith
May 22 2009 @ 10:32pm #
Nick Toye
May 22 2009 @ 10:47pm #
Bobby jack
May 22 2009 @ 11:07pm #
Neal G
May 22 2009 @ 11:12pm #
Nick Toye
May 22 2009 @ 11:12pm #
Evan Byrne
May 22 2009 @ 11:14pm #
Andy Clarke
May 22 2009 @ 11:18pm #
Evan Byrne
May 22 2009 @ 11:21pm #
Darren Taylor
May 22 2009 @ 11:26pm #
Bobby jack
May 22 2009 @ 11:26pm #
Bobby jack
May 22 2009 @ 11:34pm #
Nick Toye
May 22 2009 @ 11:34pm #
Evan Byrne
May 23 2009 @ 12:02am #
Bobby jack
May 23 2009 @ 12:12am #
Darren Taylor
May 23 2009 @ 12:50am #
Nick Toye
May 23 2009 @ 12:56am #
Whisper
May 23 2009 @ 01:34am #
Andy Clarke
May 23 2009 @ 01:40am #
Bill
May 23 2009 @ 01:41am #
Nick Toye
May 23 2009 @ 01:46am #
Darren Taylor
May 23 2009 @ 01:59am #
Whisper
May 23 2009 @ 02:15am #
Nick Toye
May 23 2009 @ 02:22am #
Matt Cotten
May 23 2009 @ 02:30am #
Jay Robinson
May 23 2009 @ 02:43am #
Darren Taylor
May 23 2009 @ 03:03am #
Jeffrey Friend
May 23 2009 @ 03:13am #
Yura
May 23 2009 @ 03:25am #
Chris Coyier
May 23 2009 @ 03:44am #
Matt Cotten
May 23 2009 @ 04:12am #
Andy Clarke
May 23 2009 @ 04:25am #
Kyle Weems
May 23 2009 @ 04:35am #
Vladimir
May 23 2009 @ 05:28am #
Capital Design
May 23 2009 @ 05:51pm #
Tom
May 24 2009 @ 01:18am #
Chris Sharp
May 24 2009 @ 05:02am #
Darren Taylor
May 24 2009 @ 07:19am #
Matt Bee
May 24 2009 @ 08:07am #
Darren Taylor
May 24 2009 @ 08:14am #
Dan Rubin
May 24 2009 @ 10:56pm #
Ain Tohvri
May 25 2009 @ 01:49am #
Thilo Thamm
May 25 2009 @ 02:35am #
jan
May 25 2009 @ 06:39am #
Justen Robertson
May 25 2009 @ 09:39am #
Justen Robertson
May 25 2009 @ 10:16am #
TJ
May 25 2009 @ 04:22pm #
Jan
May 26 2009 @ 02:02am #
Evan Byrne
May 26 2009 @ 02:34am #
Jan
May 26 2009 @ 02:50am #
Evan Byrne
May 26 2009 @ 03:28am #
Justen Robertson
May 26 2009 @ 08:59am #
Darren Taylor
May 27 2009 @ 06:44am #
Chris Neale
May 27 2009 @ 09:50pm #
Greg Smith
May 28 2009 @ 04:21am #