Do You Care if Your Website is W3C Compliant?
eldavojohn wonders: " Do W3C standards hold any importance to anyone and if so, why? When you finish a website, do you run it to the validator to laugh and take bets, or do you e-mail the results to the office intern and tell him/her to get to work? Since Opera 9 is the only browser to pass the ACID2 test, is strict compliance really necessary?" We all know that standards are important, but there has always been a distance between what is put forth by the W3C and what we get from our browsers. Microsoft has yet to release a browser that comes close to supporting standards (and it remains to be seen if IE7 will change this). Mozilla, although supportive, is still a ways from ACID2 compliance. Web developers are therefore faced with a difficult decision: do they develop their content to the standards, or to the browsers that will render it? As web developers (or the manager of web developers), what decisions did you made on your projects?
Update: 05/20 by C : rgmisra provides a minor correction to the information provided. It is stated above that Opera9 is the only browser to pass the ACID2 test, however "This is not true - Safari was the first released publicly released browser to pass the ACID2 tests." -- Sorry about the mistake.
In theory, whatever works in theory works in practice. In practice, this is not always the case.
Moderator hint: a comment is neither "Flamebait" nor "Troll" if it is true.
For commercial sites, it's all about ROI. So your PHB is unlikely to approve any spending unless you can prove significant loss of sales as a result of non-compliance.
On the other hand, if I'm building a site in my spare time, and it's targetted at Slashdot audience, I would be very careful with all the standards because (1) I can approve my own time and (2) I am more concerned about peers' feedback than ROI.
I guess it's the humanization of the site that makes you care about compliance.
Please stop entering code 2,2,7,6,6,4
I validate every page.
When you write a program, your compiler or interperter will tell you when you fuck up. When you write a website, your browser tries its best not to tell you when a page is fucked up.
It's a supremely bad idea to rely on whether a browser can display your site to determine whether it is designed correctly or not. Even the next version of the same browser might do something unpredictably different with your tag soup.
I've had enough abrasive sigs. Kittens are cute and fuzzy.
If it's my own personal site, I want it compliant. Must be the OCD in my family, but I also feel like if you "compile" the site it should return with no errors.
If it's for work, I'll get it done so it works in IE and Firefox. I'm not getting paid for adhering to the standards, and writing a standards-based site that will look right in freaking IE takes longer than it's worth.
I [may] disapprove of what you say, but I will defend to the death your right to say it.
A standard compliant website more or less guarantees that your website will work atleast decently now, tomorrow and in the far future. A non-standard with hacks might just aswell not render at all in 4 years.
I'm not religious about it, but I try to make it as compliant as possible as I go, run your pages thru the validator a couple of times and you'll pick up your errors quite quickly.
Nowadays, about 60-70% of my pages validates automaticlly on the first try.
I do. However, neither my employer nor the guy who has a long-term contract to develop our website have any idea what web standards are. For them, if it works in IE then it's "standards compliant." Thankfully I've been making progress (in teensy tiny little chunks) with my boss over the past two years...
This guy's the limit!
Because the W3C validator doubles as a good error-checker. If the W3C validator rejects my page, then chances are I will have display problems of some sort on some browser I haven't tested yet.
Unfortunately the contrapositive is not true, if the W3C validator accepts my page then there is no guarantee I will avoid display problems. But it's a good first step.
When I design and code a site, I do it by hand (usually vim or kate) and when I'm done, I always run it through the W3C validator to make sure I didn't leave out a closing or some syntactical error somewhere.
Some people are obsessive about being W3C compliant and do it pretty much just so they can 'show off' the w3c comliant badge. I do it to make sure I didn't make any coding mistakes.
This validation happens to have the nice side effect of making a site render correctly in most decent browsers.
"I filter at +6, and have yet to miss out on an important comment." (#822545)
As long as every browser shows it properly. There are quite a few times that being W3C compliant doesn't display properly in every browser (Hello Microsoft, you reading this? Please pay attention as there will be a quiz on this later).
Overall, I don't think W3C is the end all of web design, however. Even firefox was having a hard time rendering the W3C test page properly. However it does help make sure everything works, and then you can hack the code to fix bugs for broken (ie) browsers. The closer you can be to W3C the better you are over all for long term.
I suspect that most people write for their favorite browser, then test with alternatives and hack the code to make it work.
Pretty poor practice, but likely the norm.
I'm overseeing a web site redesign right now for client whose members are largely Mac users.
The coding crew hired by the designers are working with Internet Explorer though, so nearly every feature and many design choices need to be fixed so that the site will work for our Safari users. Or even non-current versions of Safari.
We specified from the beginning that everything on the site be platform and browser neutral, and are becoming somewhat unpopular for continually saying "But it doesn't work in Safari..."
Ulitmately what is needed is for clients of web design firms to demand that all work be compatible with at least Safari, IE, Mozilla, and Opera. Only then will designers create sites that are cross compatible from the beginning, instead of "fixing" thinsgs after the fact.
Three Squirrels
Last time I looked, there was no way of embedding Flash in a page that validates and actually works in most browsers. Therefore, I gave up on validation.
(oh and just because lots of sites and ads do annoying things with Flash, please don't assume that I do... like any tool it can be used or misused.)
A pizza of radius z and thickness a has a volume of pi z z a
More specifically, if you run the article page through the validator it fails with 60 errors. The truth is that the vast majority of pages out there will fail. It's a catch-22: as long as browsers are not compliant, web-pages won't be compliant... and as long as web-pages are not compliant, what's the point in standards-compliant browsers?
but I don't think W3C qualifies as a "standard" - it's simply a guideline at this point, and as much as we all might like it to evolve into a true standard, it doesn't qualify when only one or two obscure browsers properly support it. Granted, IE's marketshare has fallen in recent years, but it still boasts a claim to well over 80% of the browser market, and as long as it maintains such a vast lead, IE compliance IS the standard whether we like it or not.
;).
Flame on, but remember that I am on your side here - just more of a realist
"Make it idiot proof, and someone will make a better idiot."
Isn't Acid2 a test on how a browser handles errors? If all browsers handled errors the same way, then couldn't some errors end up turning into standards?
Acid2 feels like a step in the right and wrong direction at the same time.
I not only validate my pages, but I also don't use any HTML or CSS "hacks". Sometimes this means using tables for non-tabular data. Sorry to trample on current web dogma, but users won't notice "semantic code" - they will notice a site that doesn't render properly in their browser due to CSS hacks. I didn't have to change a thing to make my sites work in IE7. If you use hacks, you probably can't say the same.
Besides, if you truly want a semantic web, you should code your pages in OWL! It's the logical conclusion of the current trend. I specialized in knowledge representation and reasoning and I could never understand what that language was getting at.
W3C compliance doesn't really translate to a net gain or loss of income if you're running a commercial site, nor a loss of traffic if a non-commercial site, nor does it provide you any legal protection no matter what kind of site you're running.
But if you're selling something, especially selling something to government entities in the US, or you're developing educational and informational sites for the public, compliance with web accessibility standards is of the utmost importance and trumps W3C any day of the week.
Of course, good W3C compliance makes it easier to retrofit non-508-compliant pages. And 508-compliant pages are much easier to make W3C compliant, conversely.
But at the end of the day, it's whether the site is accessible to everyone, not the coding standard, that really matters to the bottom line or the lawyers.
It's posts like this that are the reason Slashdot needs a +6 moderation, even if it costs 10 moderators worth of points to push it the final bit.
Anyone who answers "YES" to this headline without a "but..." isn't doing this for a living where making it work and look correctly is more important than standards compliance.
I follow the standards to the best of my ability and test in all major browsers until something breaks (thanks IE, thanks a lot) which is when I break out the hacks until the page works correctly for everyone.
So do I follow standards? Well, when you get right down to it, no, I don't. I follow them up until the point that they prevent me from doing my job, then they get tossed out the window.
This is not a sig.
Nuts. This is as bad as counting "security patches" as if all bug were equally important.
You link to the fact that Mozilla renders one character incorrectly, while ignoring things like the fact that MSIE fails to render large chunks of standard compliant pages at all. They just vanish, poof. If these were the only two bugs, I suspect you'd say that they were "equally standards compliant" wouldn't you? After all, they only have one bug each, right?
Bah I say.
--MarkusQ
no, when i *start* a website, i'm running it through the validator. producing valid html and css isn't some kind of bonus afterthought. it's something you do from line 1.
No, that makes your code useless. The point of an attribute is to describe the behavior of a tag. If the attribute is unknown, then the tag does not behave the way in which you told it to. That makes that attribute, a part of your code, completely useless.
This useless string takes up bandwidth. Now, granted, one attribute isn't going to change much, but 1000 will. I don't see how you can blame someone else's code when it is your code that is wrong.
Congratulations. You're spending your life slaving away to make a moron rich.
I have developed sites both using tag soup AND strict HTML and XHTML. It takes no longer to do things the standards way, and using standards will almost ALWAYS make maintenance easier and therefore faster. That's ROI.
Finally, I use Firefox's tidy validator. It takes no time to validate your code (literally, it gives you a status bar icon indicating success or failure) and I have found that more often that not, checking for validation errors helps you find logical errors in your scripting code (e.g. incorrect criteria with a loop over a recordset).
It pays to use standards. I speak from experience. That doesn't mean that you have to slavishly adhere to them in certain situations. 99% of the time, though, there is no real excuse to ignore them.
blah blah blah
There are several types of them:
Validation fanatics:
They believe that they should unconditionally comply with the W3C (and the other) validators and this means they did a good page.
They compare the validators to the compiler syntax checks other languages do before compilation. Of course, no compilator in the world will stop you from writing buggy crappy useless programs, but they don't like to talk about that.
Another thing many of them don't assess, is that validators are just a guide, not God, and like any software tool, they have bugs and can miss plenty of code flaw types, or print code warnings or even code errors where there are none.
An advice to validation fanatics: your web page won't be seen in a validator, it'll be seen in a browser.
XHTML fanatics:
Anything less than XHTML 1.1 Strict is crap. In certain cases they might do a great compromise and go for 1.0.
XHTML is just a rehash of HTML4 as an XML dialect. Unless you need to take advantage of your code being XML, there's no big advantage to using XHTML now* . All of the talk about future compatibility or how HTML 4 is obsolete is nonsense. Browsers will render HTML 1 for ages to come, same can be said for HTML 4.1, which still a nice, valid standard.
*exception: mobile browsers strictly requiring XHTML Mobile Profile this is still no XHTML 1.1 support, like many XHTML fanatics believe.
What XHTML fanatics forget is, it's not easy to write a real XHTML page nowadays, that would run in both existing and old HTML browsers (that actually includes IE6: over 85% market dominance) and XHTML browsers.
XHTML fanatics sometimes make basic mistakes, like putting contents of [style] or [script] blocks in comments, or forgetting to put them in CDATA blocks, in both cases, the resulting code is a broken XHTML page if it runs in strict mode. The reason they don't see it, is that XHTML browsers interpret XHTML like HTML, since it's served with the HTML MIME Type (if served with Application/XML, it'll break IE).
"No tables for layout" fanatics
So yes, W3C said it's not recommended to use tables for layout. And it's indeed not nice: the classic usage of tables for layot is a huge mess of plenty of table cells, 4-5 nested tables in one another, the code is unreadable and unmanagable without a WYSIWYG editor (and that in itself, spells trouble if the web dev/designer has no clue).
However, fanatics go further: they open the source of most site they visit, looking for "clues": if you do use tables for layout the site is marked invalid, the site author an idiot, and the site's actual contents discarded.
If you ask a "No tables for layot" fanatic for help and he sees you use a table, you can be laughed at, insulted, bashed on and so on.
The funny reality: CSS is still defficient as a layout tool for some pretty basic layout schemes. The workarounds include laughable stunts like 4-5 nested [div]-s or more (i.e. table tag mess in its new form), 3000px wide bitmaps with transparent areas and so on and so on.
So these types of fanatics will advise you to either go for display-type:table (not working in IE), go for the ugly hacks, or change your layout. The irony you need display-type:table in CSS is worth a separate post on its own.
Truth is, there's no drawback to using very simple tables styled with CSS for your layout, if there's no simple way to do it with CSS. No modern search engine or browser in the world has a problem with tables. No modern screen reader has problems with tables. No modern mobile browser has problems with tables. Try it in Opera (SHIFT+F11) and see how horizontal layouts made in tables are properly broken up vertically to allow for easy reading on a mobile device.
"Don't use crappy browser" fanatics
These guys believe it's their mission to talk, enforce, advice and so on their visitors to switch from their "crappy" browser (usually IE), to a better browser like Firefox. They also don't mind l
The thing is, it's not easier or cleaner. In fact, it's usually the opposite. With CSS, you develop the layout code once, and apply it to all the pages on your site simultaneously. With tables, you have to hack up stupid s and s for each and every page you do. Mindless, boring, repetitive work.
Anyone with any moderately serious website would chuck the top of the table into a header and the bottom into a footer file and just #include it. I'm not saying you should use tables, but trust me, it IS a lot easier to do a 3 column layout with them.
This is a joke. I am joking. Joke joke joke.
When I assisted in developing phpWebsite the project leader stressed that the entire site be w3c and bobby compliant. Web developers forget that there are people who need a text-to-speech reader or braille pad to browse the internet. It may be a small part of your audience but it is something to consider. Alternative human interfaces depend on standards.
Bobby:
-------------------
http://webxact.watchfire.com/