Microsoft refuses to be W3C compliant, they barely agreed to be somewhat compliant with some CSS2 standards in Internet Explorer 8.
Actually, they ended up being less standardized because developers complained that too many web pages broke (which is why there is a quirks mode). This move towards strictness started with IE7. There is a nice article about it on the developer's blog
. And I would argue that the true standard is that there are no standards. If there were, pages would not render in any browser without correct code.
Sorry, but what is the benifits of having "validated" code, other than the obvious, it conforms to the standards and will therfore work with all browsers?
Because otherwise every time a browser updates it's parsing engine, pages are guaranteed to break. While there is no guarantee that the pages will render the same across all browsers, the pages are guaranteed to render as they were written.
EDIT: This part needs a clarification. Properly written code will always validate properly, and will always run. For too long, browsers have allowed code from sloppy developers to work; they try to guess the intent of the code. For example, Firefox will (sometimes) parse improperly nested tags, or improperly closed tags. IE will almost never do that. What if one day Firefox decides to change their quirks mode so that improperly nested tags do not render properly? Then all of those those developers who didn't take the time and care to write proper code will have pages that do not render.
just because the code is validated, and conforms to the "standards" does not at all mean that it will work with all browsers.
That is not true. Code that adheres to standards will render exactly as it is written. The difference is appearance comes from the way each browser's parse engine handles the code. It is no different than using two different compilers to build an executable. If the code is correct, it will compile every time, although it might not look the same.
There are tons of articles that have been discussing IE8's interoperability issues for months previous to the release of IE8.