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.
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
IIRC, Opera 9 is not the only compliant browser. I believe Safari 2 is also compliant.
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.
This very topic is the source of a constant argument between me and my boss. I work to make our product adhere to the standard, even if it means leaving out some nifty interface tweak. My boss wants me to *strive* for IE-only.
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.
The article's webpage breaks if you change the text size in your browser.
Ok, so maybe not so much "ironic", but considering the topic, that is pretty damned funny... or sad, depending on your perspective.
The latest release of Konqueror (3.5.2) does not incorrectly show scrollbars, so it "actually" passes.
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
No, I don't care. The validator is a mechanical tool. It's inherently flawed, understanding nothing of semantics, easily tricked into validating things which never should validate, and in a number of cases throwing incorrect warnings and errors. Having your website validate is a first step. A guideline to doing things the right way. It's not completely necessary. The <canvas> element (as specified by the WHATWG, and implemented by Opera, Mozilla/Firefox/SeaMonkey and Safari (I'm reasonably certain)) will cause errors to be thrown, yet one can imagine cases where its use is already perfectly acceptable. (Just as long as you don't use it on a client website, or at least not without full understanding of the implications by the people there of using something which can change out from under them at any moment, and their responsibility to track those changes.)
Yes, I care. I'm a professional web developer. Of course my website validates, besides also being completely accessible and being as semantically meaningful as it can possibly be. It's just a little showcase of my technical expertise. And yes, I care, as in: if you as a fledging web developer come to me on IRC or on some mailinglist for help with your website, you'd better be damned certain that your website validates before bothering with me, as I'm not going to spend any time on what would otherwise almost certainly turn out to be a problem caused by your invalid code.
Those two points made: wow, what's with the harping on ACID 2? Yes, it's a nice test to spur browser makers on to come closer to being perfectly interoperable, but it tests a pretty arbitrary range of rendering bugs, and all browsers save for IE are pretty much interoperale on it at this point. (Firefox only on the reflow branch, to be sure, but that's set to land Real Soon Now, and as has been explained often, ACID 2 came at the worst possible time in the Mozilla development cycle.
nope.
What people need to stop doing is comparing how a browser renders the Acid2 test to its compliance with web standards. If you bother to read the Acid2 page, you'll see that its purpose is to see how a browser renders INCORRECT code.
To me, compliance is very important. Not only can you be sure that it will render properly in every proper, compliant browser, but it will also be easy to add on to and change stuff.
Besides, as long as you aren't trying to jump through IE css-fix hoops, compliance is usually as easy as encasing all of your variables with quotes.
mattdev@server$ touch
cannot touch `/dev/genitals': Permission denied
Reposted from something I wrote a while ago
There are very few good reasons these days to write invalid code. Mostly it's just ignorance and apathy that causes people to write invalid code.
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
Is a fool who doesn't deserve to be involved in web development.
The Web would never have been much more than an academic experiment without web standards. Anything that has a sufficiently large group of people that use it at various levels needs standards. Think road traffic is bad now? Imagine if there were no lines on the roads, no standardised street signs, or even pavement. Getting anywhere would be total chaos, and most of us would be doing it on foot.
Sure, Opera 9 is the only browser released for public use that passes acid2, but the Gecko codebase achieved this a few weeks ago. Unfortunately, we'll likely have to wait for Firefox 3 in order to experience it.
IE7b2 is complete as far as standards compliance is concerned, so you might as well go ahead and test it now. It still has the worst compliance compared to all other non-MS browsers.
The distance between any W3C recommendation and the browsers is a result of 2 things: vagueness in the document, and how any browser vendor decides to interpret it (if at all).
The biggest threats to web standards aren't MS, WHATWG, Motorola, or any other entity.
Number one: Quirks Mode. As long as browsers try to correct invalid documents, there is not real incentive for valid documents to be produced. Interoperability can't be fully achieved, and machine-to-machine exchange of data remains tenuous.
Number two: Nomenclature and Authority. Part of the W3C's problem is the terms they use to identify the stages of a standard. "Draft" is understandable, but labeling a final document "Recommendation" almost begs people to ignore it at will. Furthermore, the W3C just produces documents, and there is no body anywhere to monitor and enforce standards compliance among browser vendors. I believe the W3C should be absorbed into an existing technical organization which people actually respect, probably IEEE.
Anyone who doesn't care about web standards might as well go back to 1998-99 and try to keep riding the bubble.
I would like to ask a follow-up question: Do the replacement of tables with div-elements really help anybody (besides giving job security to web developers)?
Note that I am not at all against css. But I just find the table-tag very usefull for layout. If you need to do a three-column layout it will be much easier and give cleaner code to just use a table, than to use one of the many css "hacks" needed to give the wanted result in most browsers. If you want the layout to do something "extra" (eg. "make the center column 400px wide, but allow it to grow if the cell contains a wide image, pushing the right column") it will (probably) be impossible using divs, but trivial using tables.
One reason to not use tables, that is usally given, is that tables should only be used to tabular data and not for layout, as to not create problems for blind users. But just an empty alt-attribte on an image signals to the user-agent that the image is for layout only, a empty summary -attribute on a table could for example be used to signal that the table is for layout only. My guess is that, that convension would be much easier for user agent implementors to use that to parse through all of the css hacks. I also feel that it would be semanticly much cleaner to have a table with one row and three cells than to have three or four divs nested and floated in strange ways.
Aside from the all-important issue of "does it look right?", there is the professional issue of what sort of standards you should apply to your work. It's difficult to come close to a more extensive (and yet simple to implement) baseline metric of quality control with HTML/CSS than the W3C parser. Sure, I could go through and decide how I am going to do everything, but that's time-intensive and inflexible. Running something through the parser gives me a fast and consistent report. I can do whatever I want with the results, but they are there.
It does not solve problems for you or guarantee much of anything, but it allows you to see your formatting code in a more objective way. As a bonus, it can help you spot potential problems, mistakes, and open your eyes to some of the structure you are relying upon.
I always use the Tidy Firefox extension. It is a little friendlier than the online W3C parser interface. Disclaimer: not a professional web designer.
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."
So, I had to try this out and see it for myself. And, sure enough it rendered correctly. Then I started noticing the problems.
Here is a screenshot after "scrolling" using either the scroll wheel or up/down keys (despite the fact — as you point out — that there are no scroll bars).
And another one after a resize of the window. I restarted konq before doing the resize, so the issues aren't left over from the scrolling.
Also, note in the resized screenshot that the progress bar is stuck at 37%.
So, IMO, close, but not quite. However, close is better than most of the other browsers out there.
This is a Yogi Berra quote. "In theory there's no difference between theory and practice. In practice there is." ;)
Chaos is Divine *
Sure that makes sense in theory, but in practice it probably doesn't.
Changing the size of the window has similar effects. Konqueror is exhibiting correct behavior; the test wasn't designed to keep the face constant after scrolling or forcing the browser to adjust the positioning by resizing the window. It's just supposed to display correctly after you click on the link that jumps you down to the face.
I've come for the woman, and your head.
On a more serious note, the only way to solve the problem is to have browsers shame non-complient pages. Specifically, if IE7 displayed a dialog that said, "This web site is constructed improperly and might not work as expected" every time it hit an invalid page, things would change VERY FAST.
No, I will not work for your startup
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'm working with xml and client-side xslt to render xhtml output on the client browser
it's almost impossible to make nonstandard code this way
the irony is that firefox and ie have no problems with this, while opera doesn't support xslt transforms at all
so the most compliant standard browser isn't up to snuff with the most compliant type of code methodology
(which, in a way, makes sense, because by avoiding xslt work, opera can continue to be the extremely lightweight browser it is... you can't support everything if your biggest selling point is how lightweight you are)
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
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.
Anyhoo, the ACID2-compliant versions of Opera and Safari are beta releases and not displayed on their main download pages. Opera's download page displays Opera 8.5.4. Safari's download page displays Safari 1.2. IMO, I don't think ACID2 compliance is something to brag about if your compliant browser isn't stable enough for release.
TO START
PRESS ANY KEY
Where's the 'ANY' key? I see Esk, Kitarl, and Pig-Up...
When theory and practice disagree, the theory is wrong.
You've got it backwards. Historically, especially in medicine, but
in other fields as well, practice never matches theory until the
generation that was practicing before the theory was developed is
replaced by the generation that was learning to practice once the
theory was mature.
Generally speaking, then theory and practice disagree, it's because
the practitioners are resistant to re-learning how to apply their craft.
If a theory is in fact wrong, it generally gets replaced by a new
theory before the practitioners get a chance to adopt it.
*sigh* back to work...
I think the big problem in web development, is that there's a much different mindset from other programmers. I'll admit to it, I first got into computers by making webpages, and doing some Javascript work. The way web developers think and work is much different from how, say, a C developer would work. In C if you have a syntax error, your code won't compile. You must fix it. With HTML/CSS, if you have invalid syntax it won't get fixed because some sort of hacky browser behaviour might compensate. There is no impetus to fix anything. Javascript errors are all over the place. When I open up Firefox's JS Console to work on a web app, it's filled with countless errors from many websites, many mainstream websites. How a webpage is developed is a lot different as well. Webpages are hacked together, haphazardly. Little thought or concern goes into the elements and attributes used. C developers (and other programmers) are so concerned with code as to have design patterns. There are no Javascript design patterns. Few care that it is better to use to emphasize text than to throw in a to italicize it. I have to say, when I started programming, it was quite the leap.
And that, my liege, is how we know the Earth to be bannana-shaped.
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.
Yes I care about W3C standards compliance. I take pride in my work and do not settle for bodges. There are also benefits to producing clean code, in bandwidth and processing savings. More sites and publishers should be making the effort to ensure that the pages they present are in compliance to accepted standards. My site http://slashboot.org/ is standards compliant and I take pride in that. I prefer XHTML Strict, as I see this becoming a future standard of choice for the majority of people who also take pride in their work
Those are 8 proofs that the "standards" are not the standards.
Microsoft has yet to release a browser that comes close to supporting standards
This is often shouted and an easy way to bash MS. It's also completely wrong.
Every web browser released by Microsoft from IE3 onwards has been more standards-compliant than any Netscape browser released around the same time. IE3 was the first major browser (outside of W3C testbeds) with CSS support. IE4 brought CSS-P support, while NS4 introduced the totally non-standard LAYER tag, then made a bad stab at implementing CSS-P under sufferance. IE5/Mac was easily the most standards-compliant browser on the Mac for years. The Mozilla project had been going for a while when IE6 came out, and Mozilla might be considered the better browser of the two if you rate standards compliance several miles above stability and speed.
The reason IE6 is bashed so hard by designers these days is not that IE6 was a particularly bad release. It's that it's bad by today's standards, and nothing's been done to fix it. This is a different issue, and one that the IE7 team has been loudly busting a gut to address. (There is also the utterly shameful issue of IE6's many security problems, which is a different argument, but it's one of the main reasons I've been using Mozilla-based browsers since 1.0)
And if you're still not convinced of anything other than Firefox's total superiority over IE in all standards-related matters, how about we dig up an issue of HTML4 compliance which IE's had right for years, and Mozilla/Firefox never has.
It's a wee bit disingenuous to blame browsers for the lack of strictly validating web pages out there. I'd venture that upwards of 90% of the issues you see when you validate pages against the HTML 4.0 schema are not there because the author had to violate the standard in order to achieve the effect in some non-compliant browser. They are there because the author achieved the effect he wanted and did bother to check whether he had, or could, achieve it in a standards-compliant way. From the beginning, browsers tried to degrade gracefully in the face of invalid input, and as long they do that there will continue to be a lot of invalid input out there.
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
I'm afraid it doesn't really matter if I care about W3C standard or not... all the people that matter do already.
At work, I keep up the websites for a public government entity. It's been legally required since 1997 that any government agency web site (at least in NY, I'm a little fuzzy on the legislative aspects) is accessible to those with disabilities, and the first step to that is W3C compliance. It makes sense; have you ever seen a government building without a wheelchair ramp? Why should the web sites be any different?
On my own time, all of my sites comply because of Google. They have a tendency to give a much higher pagerank if your site is W3C compliant, or even if it follows the spirit of the standards. Search engine love the barebones HTML of a standards-compliant page.
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.
I've read many of the comments on here, and man am I feeling like a heel. I know I'm not the only web developer that doesn't give a hoot about that little W3C compliant icon. As long as the site operates properly in Firefox, Safari, Opera, and IE ( as I've designed it to operate ), then that suites me fine. After 5 years of developing the same site, the only complaints I receive on it are ones about my poor design.
This brings to mind the software developers that howl about their Interface Standards ( I can't even remember the acronym they use for these standards ) I've supported the development of software for the past 3 years, and have yet to look at these Interface Standards.
I focus on the end-users eyeballs. If some developer comes along and wants to complain about my syntatical correctness - they can either copy/past my HTML to make it better - or provide a patch for my software. The regular users are quite satisfied.
My Thoughts, Kyndig
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.
our company has a specialist of html (a girl:) who spends tons of time ensuring our projects' web pages work properly across multiple major browsers/versions and pass the w3c html/css check.
we believe that it's a good habit to make web pages w3c compliant, that ensures your web pages work properly with w3c compliant browsers. meanwhile, we will take care of browsers such as IE which has buggy html/css support by using some tricks/workarounds to make it render properly too.
twitter.com/xuyihua
"Acid2 Goes on Safari
...
...and... BTW this version(of safari) was released shortly after this...
Yesterday Dave Hyatt posted news that Safari now passes the Acid2 test, making it the first browser to do so. Patches to enable Acid2 related support have been made available in Hyatts announce post, linked above. Under the circumstances, I thought it would be unfair to simply announce the news, so I
By Ben Henick | April 28th, 2005"
Please, please *don't* write HTML as if it's XHTML. Self-closing tags in HTML is totally invalid and screws up the parsers. Pretend you're a HTML (not XML) parser and parse:
<html><body><script src="..."/>Lots of stuff</body></html>
Your <script> tag never gets closed (remember, this is *not* XML!). Wee, no content....
If you are actually sending it with some sort of XML MIME type, yes, go ahead and do self-closing tags. Just don't pretend it works when you're being HTML.
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
+1 Insightful
Oh wait..
"Where is the wisdom we have lost in knowledge, and where is the knowledge we have lost in information?"-T.S.Eliot
I attempt to follow standards as much as possible, however because IE is so hideously broken, it almost doesn't matter. I recently developed a site, ran the validator on it, it passes fine, it all works in firefox and opera, displays how its supposed to, everything's great right? Open it in IE, totally broken, things don't line up, the spacing is wrong, everything looks like crap... go through everything to fix it, get it so it displays "right" in IE, run the validator again.... oops errors all over the place...
In short I don't think its possible to write a standards compliant page and have it display in IE properly, as long as this situation persists, it will be impossible to push "standards" on the internet. If the standards don't display correctly on 90% of the computers, what are you supposed to do?
The problem isn't HTML vs. XHTML and passing self-closing tags as HTML, the problem is that 99.999% of people using XHTML content in their pages, are not sending the proper XHTML Content-type for those pages.
There is ONLY ONE valid Content-type for XHTML content, and that is application/xml+xhtml, not text/html.
Thankfully, MSIE doesn't even support XHTML at all, so we're safe there... for now.
This writeup is very clear on the matter.
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
Actually, most tags can be closed in that way in HTML without problems. The script tag for some reason demands itself to be closed with an explicit end tag. img, object, br, hr all work fine with the XHTML style in HTML (they even validate). meta and link require exactly no end tag in HTML, and are invalid if you add it in.
FireBug is a good Firefox extension to catch evil tings in your page.It has a builtin validator as well.
This is simply not true. RFC 2854, the definition of text/html, explicitly permits XHTML 1.0 documents that follow Appendix C to be transmitted as text/html.
Doing so causes Mozilla and Opera to parse it as HTML and not XHTML, but that doesn't mean it's "invalid" or non-standard in any way.
Bogtha Bogtha Bogtha
The W3C initiative started out as a concern that geeky sites were fine for, well, geeks but there are a lot of people out there from blind and sight-limited users to more people who just can't stand or get their heads around the shoddy interfaces of poorly designed sites... Thee is nothing on this thread so far about how you address this. Yes many badly designed sites are popular but that doesn't make it right that a substantial proportion of users, or potential users, are effectively locked out because good, accessible design was never thought about at the beginning or, at best, was just a few tweaks bolted on at runtime. The big advantage for Microsoft over OSS is precisely that they can act as a single interlocutor with blind and disabled associations, something the OSS community cannot provide: to paraphrase Kissinger: I'll work with the OSS community if you can give me their phone number... Microsoft does actually test much of its software with such groups but I've yet to see anyone promoting OSS solutions to take that trouble. Call it a market grab if you will, but it seems to make good business sense as well as being "politically correct".