I think this is a pretty basic point, but I often see people throwing terms around in inappropriate ways (which I’ve also been guilty of), so I thought I would clear this up.
As fallible humans we tend to lean towards making excuses, blaming others, or trying to justify our mistakes or shortcomings. This is why you’ll often read comments from people discussing CSS and web standards, and they’ll say “I don’t use Internet Explorer; I use a standards-compliant browser”. Well, no you don’t. Nobody does.
Every Browser Has Bugs
If you’ve read my stuff here or on other sites, then you know that I spend a lot of time on SitePoint’s CSS Reference, and I also own the hard copy book, which I read cover to cover when I got it. If you browse through that reference, you’ll see that every browser has significant bugs in the way it interprets or parses CSS code.
Some Browsers Are Just Cutting-Edge
Just because WebKit-based browsers support stuff like transitions and transforms, does not mean they are more “standards-compliant”. In fact, the opposite is true. If you want to get all technical about it (well, maybe you don’t, but you know I do!), supporting vendor-specific
syntax properties and values makes a browser less standards-compliant.
Update: As shown in the comments, people are misunderstanding my point here. I’m not saying that supporting vendor syntax is wrong. My point is that since it doesn’t validate, then in the strictest sense of the word, it’s “not standard”. This is not a criticism of browsers that use vendor syntax, but just further evidence that no browser can be called “standards-compliant”.
But obviously that kind of cutting-edge technology is not a hindrance to our workflow, whereas the bugs that plague IE6 and IE7 can be great hindrances at times, requiring hacks (in the case of IE6) and workarounds (in the case of IE7).
The point is: If Google added a feature to Chrome that made it do your laundry, would that make Firefox 4 “not standards-compliant”? Obviously not. And it certainly wouldn’t make Chrome any more standards-compliant (unless the spec said that browsers were required to do your laundry).
Standards Are in the Hands of the Developer
I’ve said this before, and I’ll say it again: You can code a perfectly valid CSS layout with very few hacks that works well in IE6 and IE7 (assuming a significant percentage of your visitors are in those browsers, which would require you to support them).
Standards are the responsibility of the web designer, and not just the browser. The browser (or user agent) does lay the groundwork, but it cannot decide what code you’re going to use to create your layout. That’s up to you and me, the designers/developers.
If we blame our lack of understanding of CSS on a browser that’s not “standards-compliant”, then we’re not only making a false statement (no browser even comes close to being “standards-compliant”), but we’re also shifting the blame for our own inadequacies.
So let’s get busy studying CSS concepts a little better, and make our websites standards-compliant and accessible — no matter what browser they’re viewed in.