Since the push toward good HTML/CSS/XHTML standards started a few years ago, browsers have gotten better at rendering standards-compliant code correctly and web designers have gotten better at writing standards-compliant code. Safari and Mozilla in particular have made great gains in rendering code correctly and folks like Todd Dominey, Dave Shea, Dan Cederholm, and Doug Bowman (the four Ds?) have built great-looking and usable sites with standards-compliant code and then told us how they did it all.
But what I feel like is being implied in the effort to get more people to embrace standards compliancy is that coding a page in valid XHTML with valid CSS involves improving the semantic meaning of the content…which is just not true. Take the following from an informative site on Standards-compliant XHTML:
Removing presentation from (X)HTML documents and using Cascading Style Sheets (CSS) to control visual design is a revolutionary approach for many. Designers will find good reason to separate style from content and abandon use of <table>, <font> and <center> tags to control visual design. For example, a single CSS document can control the visual design for thousands of (X)HTML pages. Updating a site with redundant, non-standard <table> and <font> tag hacks is a chore. With CSS, a few simple changes to the style sheet can refresh an entire site comprised of thousands of documents.
And from the XHTML basics page on the same site:
Tables: for data only
Back in the glory days of the Web, designers exploited the <table> tag to create grid-based designs. This was out of necessity because browsers simply couldnât understand Cascading Style Sheets. Fast forward to the present; almost every current browser understands most of the first CSS specification and some of the second. Use tables for data only (think spreadsheets). Should you come in contact with someone using tables for presentation, firmly reprimand them and point them to this guide.
The trusty font tag
Absolutely, under no circumstances, should you ever use the <font> tag. It is antiquated, unsupported by the W3C, and makes for very unsexy (X)HTML. Condemn anyone using this tag and immediately contact the authorities.
Last time I checked (about two minutes ago…to see if I was actually correct), both the <table> and <font> tags are valid XHTML 1.0 Transitional tags and the <table> tag is a valid XHTML 1.1 tag. Documents with <table> and <font> tags are standards-compliant. And yet, we’re advised not to use them. Rightly so, but not because they aren’t standards compliant, but because using alternative methods (defining styles with CSS, making sure tags are semantically relevent to the text they enclose, etc.) is preferable for the reasons outlined above (among others).
Coding web documents in valid XHTML doesn’t make them semantically useful nor does coding semantically correct documents mean the documents are standards-compliant; they are two distinct things but a powerful combination. As web designers, we need to be aware of what we’re getting with standards compliancy and semantically rich documents and that one does not necessarily lead to the other. More importantly, we need evangelize effectively to clients and budding XHTML coders & web designers, telling them *precisely* what’s so great about making sites standards-compliant and semantically useful and therefore worth spending money to redesign a site or time to learn valid XHTML/CSS.