Jukka K. Korpela said:
And the definition "An obsolete element or attribute is one for which
there is no guarantee of support by a user agent" logically postulates
that there are elements or attributes for which there _is_ guarantee of
support by a user agent. The concept of guarantee is not defined, so I
guess we need to imply an everyday meaning. Anyway, where is the
guarantee?
Unless you can point out some statement of guarantee of support by user
agents for some elements or attributes, we can deduce that the W3C
definition of "obsolete" leads us to the conclusion that _all_ elements
and attributes are obsolete.
The full definition of 'obsolete' from the HTML 4.01 recommendation -- the
second sentence of which you conveniently omitted -- is:
"An obsolete element or attribute is one for which
there is no guarantee of support by a user agent.
Obsolete elements are no longer defined in the
specification, but are listed for historical purposes
in the changes section of the reference manual."
It is clear from this definition -- and from the definition of 'deprecated',
also from the HTML 4.01 recommendation -- is that 'deprecated' and
'obsolete' are not synonymous. Deprecated elements are defined in the
specification as elements which may become obsolete in some later
recommendation; whereas obsolete elements are not defined in the
recommendation at all. So it would be fallacious to conclude, as you have
done, that "all_ elements and attributes are obsolete": only those not
defined in the recommendation are obsolete.