mattur - 7:29 pm on Apr 2, 2013 (gmt 0)
If there is no standard, what does a "conforming user-agent" conform to?
There is a standard for HTML, but it's a "Living Standard" [wiki.whatwg.org] so it's updated regularly instead of once every 15 years or so [w3.org]. :)
There's a world of difference between This browser does everything that CSS 2.1 says a browser is supposed to do and This browser does everything that was posted in such-and-such location on such-and-such date, but we make no promises about rules from the day before or the day after.
Implementers use the most up-to-date versions of standards i.e. the specs with the fewest bugs. Using old, superseded specs, would mean baking-in old bugs that have been fixed in newer versions of the specs.
For example, imagine there was some heinous security bug in CSS2.1: no implementer would deliberately release a browser with a security hole just to conform with CSS2.1.
See also: Does that mean the specification can change at any time? [wiki.whatwg.org]
It helps to think of Web "standards" as more of an ongoing, collaborative process for implementers, developers and anoraks to develop patent-free web tech, rather than set-in-stone Standards, like how long a standard unit of length is.
But things are falling off the far end too. One day you wake up and discover that <tt> and <u> are gone. And next week your browser says They're no longer in the standard, so I don't have to recognize them.
The HTML spec defines two things: actual technical stuff that needs to be implemented by browsers to browse the web (e.g. <font> tags, to correctly display old pages), and conformance/validation/ideology stuff for authors (e.g. use CSS instead of obsolete <font> tags). It's quite rare for browsers to actually remove stuff.
So just because a feature becomes deprecated/obsolete doesn't mean that browsers will remove it. e.g. <font> will show as an error in the validator, but is still supported in browsers.
IF everyone stopped using the <font> tag, and an army of volunteers went back and re-wrote the bazillion unmaintained pages currently using it, THEN browsers (and specs) could remove it.