I think this is really about the so called html "standard" which allows for different browsers to render the same html and css pages with different results on the screen. so users and web designers do not care about the standards document but about having pages work right. and designers do not want to try and put in different markup / css for each browser...
The reason we have so much problem with standards on the web is because the standard committee made the stupid decision that bad (read: broken) markup is the responsibility of the browser to fix, rather than the responsibility of the programmer to fix.
At the moment, iIf you're writing a browser, not only are you required to parse and render good HTML, but you're required to parse and render utterly, utterly broken HTML. And the web is going to continue to suck until we start swinging the pendulum back the other way.
The world will be better when not only can any idiot write a webpage, but any idiot can write a web-browser. Only then are we going to get real competition in the market.
So anyway, my proposal for HTML6: If your document starts <!doctype html6>, the page should show a generic error page if the HTML is broken. It should be explcitly verboten in the HTML6 spec to "have a guess" at what the developer wanted. And perhaps then, we can start moving towards a better web.