- From: Doug Schepers <schepers@w3.org>
- Date: Sun, 20 Sep 2009 15:08:34 -0400
- To: www-dom@w3.org
Hi, Folks- Maciej Stachowiak wrote (on 9/20/09 6:31 AM): > > http://www.w3.org/TR/html4/conform.html#deprecated > "User agents should continue to support deprecated elements for reasons > of backward compatibility." Anne van Kesteren wrote (on 9/20/09 6:29 AM): > > Regardless, due to the HTML4 Transitional profile that is how many > authors perceive it too. I just checked HTML4 and it says this about > deprecated: "User agents should continue to support deprecated elements > for reasons of backward compatibility." That does not seem to match what > you want. I think I see the source of confusion. Deprecation itself is not a conformance criterion. Deprecation is a strategy for future development, and individual specs define the tactics (behavior in difference conformance categories) used to accomplish that strategy. [1] Deprecation can mean different things under different circumstances. The fact that HTML defines a conformance criteria related to deprecation, which happens to be that UAs SHOULD continue to support deprecated elements, does define the meaning of deprecation, it is a particular application of deprecation. DOM3 Events defines a different deprecation strategy [2], because the technology, circumstances behind the spec, and development market are different than they were for HTML4.01 a decade ago. Many things have changed about the way we define specs at W3C in the intervening years. I'm not using HTML4.01 as an exemplar in any other way, I'm not sure why we should treat its particular deprecation tactics as canonical. But even assuming we do, neither do I want to use its definition of "obsolete": [[ Deprecated A deprecated element or attribute is one that has been outdated by newer constructs. Deprecated elements are defined in the reference manual in appropriate locations, but are clearly marked as deprecated. Deprecated elements may become obsolete in future versions of HTML. ... ]] [3] [[ Obsolete 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. ]] [4] So, deprecation is a warning that features may become obsolete, but are nevertheless defined; obsolete means that they are no longer defined. The phrase "no guarantee of support by a user agent" in "obsolete" does matches part of our intent (though it's pretty weak, as you can't count on support for many non-obsolete features of HTML4.01, either)... but in fact, we still do have to define them in the spec, so that UAs that continue to support them do so in an interoperable way. In the case of DOM3 Events, we are also defining legacy features that were never standardized before, so leaving them out leaves them undefined, which is not good for authors. I'm not particularly concerned about which word we use, except for one thing: we're going to keep hitting this issue again and again for each spec, every few years... what is the appropriate transition strategy right now, for this technology, in this landscape, with this set of implementers...? We don't need terminology proliferation, we simply need to use the right term --deprecation-- and explicitly and clearly define the specific implications for it in the context of that spec. Or are you suggesting we deprecate "deprecate"? :) [1] http://www.w3.org/TR/qaframe-spec/#deprecation [2] http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#glossary-deprecated [3] http://www.w3.org/TR/html4/conform.html#deprecated [4] http://www.w3.org/TR/html4/conform.html#didx-obsolete Regards- -Doug Schepers W3C Team Contact, SVG and WebApps WGs
Received on Sunday, 20 September 2009 19:08:45 UTC