views:

708

answers:

9

Everything is in the title : Should a web developer use CSS3 when IE6 has still near 15% of market share?

CSS3 has some impressive features that will make everything better. If you don't know about it, look up the latest smashing magazine post regarding the subject. The issue is that almost all these new features are not supported by IE6... so if you want a website accessible by all, you can't use CSS 3.

So... what now?

Wait for IE6 to disappear using CSS 2? Use CSS 3 and use hacks for IE6? Learn CSS 3 but not use it on "real life" projects?

+5  A: 

I got a specific IE6 exemption for my last project after mentioning that supporting it would probably increase the cost.

I support ignoring IE6 if you possibly can.

The sooner it stops working on a critical mass of sites, the sooner it will go away.

recursive
+6  A: 

For public websites: Don't use CSS3

Most browsers don't support it well enough, as with most things just test on all browsers and look at what the results are.

But the safe bet is just don't use it yet and don't care too much about it till most browsers actually support things well enough.

Then hack around for browsers that don't. And remember even 1% browsershare is still stupid to alienate in most cases.

Mischa Kroon
+1  A: 

CSS 3.0 isn't a recommendation yet. It's still mostly in Last Call, Working Draft, or other statuses that indicate it's going to change. I suggest sticking with CSS 1.0 or CSS 2.1 with specific exemptions that clearly work on all browsers.

Additionally IE 7 and 8 don't have great CSS 3.0 support either. And they have way more than 15% market share.

Orion Adrian
Opera (~2%) supports only CSS3 selectors at the moment. Firefox 3 and Safari only support a few CSS3 rules, and only with vendor hacks (`-moz-border-radius`, for example).
DisgruntledGoat
+7  A: 

This is strictly a product market question. You need to research not the overall usage of IE6 but usage within your target audience. Odds are it will not be 6% but meaningfully higher or lower.

Recursive's suggestion about looking at the costs are truly the right way to go. If you can deliver more functionality at the same cost, or the same functionality for less cost using CSS3 then the right answer is to not support IE6. You do need legitimate numbers. If you have an existing service, you need to use those numbers. Don't forget the often significant costs of transitioning to a new technology.

Of course, all of this is predicated on the notion that CSS3 support is implemented correctly and sufficiently in the browsers that claim compliance.

caskey
+1 foul statistics trying to trick us!
willcodejavaforfood
I doubt that a company will want a website that will not work in IE6...
marcgg
@marcgg - it might if it's an internal only website at a company where all user's PCs have long since been upgraded to IE7. There's no point supporting IE6 if none of your users will use it. Similarly, there's no point supporting IE6 if it will cost more to support it than you will lose by not supporting it.
Dominic Rodger
@marcgg It depends on the company's market. Not all corporate products serve non-technical consumers or corporate drones (assuming that's where Ie6 still has the biggest foothold.. E.g., if I was developing a site for a product targeted at Vista or Win7 users, I might not bother with IE6 support. Of course transitioning to CSS3 is probably the biggest risk.@willcodejavaforfood Lies, damn lies, and statistics!
caskey
A: 

If you really feel that it is that important to still support the IE6 users then you can always have a loader page that will load one of two different CSS files depending on the browser they are using.

However, I tend to agree with recursive in that the more people that stop supporting IE6, the sooner it will go away and we won't have to worry about issues like this anymore.

amischiefr
Yes, but if you work for a company releasing websites for clients, you most likely will have to support IE6...
marcgg
+12  A: 

If you find a feature compelling, use it.

But when you do, you have a choice to make for users of older browsers:

  1. Simulate the same effect using Javascript, alternate CSS, etc.
  2. Degrade gracefully, i.e., just make sure the site doesn't break in the older browsers, even if it looks a little different.
richardtallent
Degrade gracefully ftw!
Tom
+1 for degrading gracefully/progressive inhancement: http://www.alistapart.com/articles/understandingprogressiveenhancement
Rob Allen
is there something simulating css 3 using javascript? I know that IE-7.js is pretty cool but I don't think it supports CSS3
marcgg
@marcgg- there is an update for that script called, appropriately or not - ie8.js
Rob Allen
+1  A: 

IMHO it really depends on the project and the aim of it. If you are producing a consumer application for example - most users on Personal PC's have strayed away from IE6 as part of Windows/Mac Upgrades to either at least IE7 (if not IE8) and Safari 3 (now 4). Of course, FF has huge market share and the up and coming Chrome etc crowd.

The problem is - if you application is broadly audience - such as a news site - most enterprise legacy applications still run on IE6 and require it - inferring that the corporate/enterprise IT crowd will still run IE6.

The best way maybe to structure your site (if you really want to use CSS3) is to idealistically build it entirely in CSS 3 - and have a separate style sheet for IE6 elements if you are getting a lot of traffic from IE6 (use JS to detect browser). Then, you can always toss away the IE6 when its no longer needed without having to recode the entire site.

Alternatively, stick to CCS 2 if you feel your traffic is going to incorporate IE6. I don't see, personally, the point for restricting your application - its tough enough to promote a web app so I dont see why you would want to make it tougher by reducing a (still large) % of the browser market.

P.S - Either way you go, pop a "best viewed in Chrome etc" on your site - always helps :D

+1  A: 

Treat this the same way you would the option of having a Flash-only web site, or a Javascript-rich web site, or any type of site that would make life easier for a select group of users and be annoying or downright unusable for the rest. Make use of CSS3, by all means, but if you can provide an alternate, usable, accessible version for any browsers (not just IE6) that don't support CSS3, that would be ideal. Being specifically worried about IE6, you fortunately have IE conditional comments which you could use to include a specific CSS2 stylesheet for IE6-and-older users. Then, you can harness the awesomeness of the latest technologies, but not exclude users just because they haven't updated.

e.g.

<link rel="stylesheet" type="text/css" media="screen" href="css3.css" />
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" media="screen" href="css2.css" />
<![endif]-->
Sarah Vessels
+1  A: 

It is important to know your audience. Government of Canada websites must be accessible to all but Stackoverflow or something targeted at web developers or techno enthusiasts can get by using more cutting edge technologies.

Can always detect for IE6 and serve up a page asking users to upgrade.

Corban Brook