Having been in the web development life cycle for many years, I have learned the reality of trying to stick to HTML/XHTML best coding practices, which include being as much W3C compliant as possible, but in the real world, not all web browsers are created equal, that we can only wish!
It is still most beneficial as a programmer to follow a standard flow of key decision choices, that is to keep future modifications and improvements easier and leads to quicker maintenance of your current website’s needs. It can also be easier for people new to your project or site to get acquainted with how its setup in both the front-end and back-end aspects of it.
While being able to have a nice shiny W3C compliant badge, may be cool, it surely does not mean that your site is going to just simply look the exact same in the currently most used web browsers by your visitors, let alone any really older or non-common web browsers.
In fact, having such a badge, and forgetting to check the compliance results from W3C’s online tools, may lead to a negative effect, where the visitor clicks on it, and because you didn’t confirm every page is complaint, one single html, xhtml or css level error will display a nasty non-compliance screen.
That is something you want to avoid, as it makes your site seem as if it was poorly put together, which is most likely not the case at all. As you can see above, even big name sites, do not follow compliance, and may even have hundreds of erroneous reports from online compliance validation tools, while their website looks and functions without any issue.
The best recommendations I have for people is to keep your code as clean and human readable as possible, along with attempting to follow standards as much as you can, and if you need to utilize some non standard, or non compliance code, its fine, go ahead.
Truly, as long as your website fully functions properly for your audiences needs, you are actually ahead of the curve. A lot of sites still to this day have things that do not work in Firefox or Chrome, and only work properly in Internet Explorer, sometimes even specific older version of it.
Another thing to consider is switching your document type, as typically I utilize XHTML with Transitional, meaning some “older” style HTML is allowed, such a table-specific items, this may allow what you were trying to accomplish and might put you that much closer to compliance validation.
Also keep in mind to always cross browser test not just in each web browser, but also in many different (most commonly used/recent) versions, and on different computers, as things like font sizes and generic style sheet rules may surprise you on a certain combination of browser, version and operating system.
Bonus Tip: Different sites will attract different user types, meaning even further potential browser support that you must maintain, you should utilize tools like Google Analytic’s to identify which browsers your visitors are using.
If you have any questions or comments, feel free to reply. Thanks!