非推奨

非推奨 (適合性)

[17] 非推奨 (deprecated) とは、好ましくないことを表します。 それが具体的にどのような意味を持つかは、文脈によって異なります。

非推奨であることの意味

[18] 非推奨であることがどのような意味であるかは、しばしば曖昧にされています。 非推奨というからには、仕様書編集者はその対象を好ましくないと考えているのですが、 その考えが常に正しく伝わるとは限りません。

[19] HTML4表現と構造の分離の大原則に反する機能の多くを非推奨とし、 Strict DTD からは排除しました。しかし Transitional DTD には含めていました。非推奨であるが使えないわけではない、 との位置付けは、使ってほしくないとの意志を希薄にしてしまいました。 厳しすぎる Strict DTD よりも緩い Transitional DTD を選んだ方が良いと捉える人や、 非推奨の機能を Strict DTD で使うのは好ましくないが Transitional DTD を正しく選びさえすれば使っても問題ないと捉える人もいました。

[20] HTML5 (現在の HTML Standard) は適合性との関係性が不透明な非推奨の概念は好ましくないとして、 そのような中間段階を設けていません。

関連

[16] SHOULDdiscouraged も参照。

歴史

HTML4

[1] 新しい構造体によって古くなってしまった要素属性を、 非推奨の (deprecated) 要素・属性といいます。 非推奨の要素は将来の版の HTML で廃止されるかもしれません。 IW:HTML4:conform.html#deprecated 参照。

非推奨の要素・属性は、依然としてその版の HTML の一部ではありますが、使用するべきではありません。 場合によっては使用することもできません。 例えば HTML 4 で Strict DTD を使うときには非推奨の要素・属性は使えません。

しかも、 HTML 4 仕様書 IW:HTML4:conform.html#deprecated によれば、利用者エージェントは後方互換性のために非推奨な要素に対応し続けるべきです。 これは逆に言うと、非推奨な要素には (対応したほうがいいけど) 別に対応しなくても良いということです。

[2] フレーム系の要素型 frameset, frame, iframe は、厳密DTDに含まれないのでしばしば非推奨と言われますが、 Deprecated elements ... are clearly marked as deprecatedHTML 4 は述べているので、非推奨と明記されていないこれらの要素型非推奨ではないということになります。 (名無しさん)

[3] applet非推奨ですが、 すべての属性と共にと明記されています。 (特に除外もされていないので、共通属性も含めて) applet 要素で定義された属性はすべて非推奨です。

このような要素型HTML 4 では applet だけです。

(名無しさん)

[4] HTML 4 で定義されている DTD の説明

によれば、厳密DTD非推奨でなく、フレーム集合文書に現れない要素型属性をすべて含み、 移行用DTD厳密DTDに加えて非推奨要素型属性を含むとしています。

この説明は >>2 と矛盾しています。

厳密DTDの説明の後半、フレーム集合文書しか現れない要素型を除く、とするのが正しい?

(名無しさん)

[5] blockquote字下げに使うのは非推奨です。ただしこの説明は参考です。

(名無しさん)

[6] 13.7 Visual presentation of images, objects, and applets の直下に、 imgobjectconcern visual alignment and presentation属性はすべて非推奨、とあります。

この節に属する 13.7.2 White space around images and objects 内で定義された hspace など、ほとんどの属性非推奨と明記されています。

しかし、 13.7.1 Width and height で定義されている widthheight だけは、非推奨と明記されていません。

>>2 に従えば、明記されていない以上この2つは非推奨ではありません。 しかし、13.7節の冒頭で強調 (em) された説明と矛盾します。

2つの属性concern visual alignment and presentation でない可能性もありますが、そうなると13.7節の見出しと矛盾します。

(名無しさん)

[7] table 要素width 属性は、非推奨ではないが、スタイル・シートを使うのを勧める、とされています。ただし、参考です。

15.2 Fonts の節の直下の強調 (em) された文には、 以下 (following) の要素型はすべてが非推奨ではないが、 使わないことを勧める、とあります。以下の範囲が明確ではありませんが、 普通に考えれば15.2節全体でしょう。15.2節で定義されている非推奨でない要素型は、tt, b, i, big, small です。

(名無しさん)

[8] >>2 索引でもこれら3つの要素型には非推奨の印がついていません。

[9] 非推奨 / 廃止要素や属性の使用を防ぐ CSS | ヨモツネット ( 版) http://www.yomotsu.net/lab/css/misc_debug

XHTML2

[11] XHTML™ 2.0 - Terms and Definitions ( 版) http://www.w3.org/TR/2010/NOTE-xhtml2-20101216/terms.html#deprecated

deprecated

a feature marked as deprecated is in the process of being removed from this recommendation. Portable documents should not use features marked as deprecated.

CSS 2.1

[12] CSS 2.1 における非推奨 (deprecated) は、推奨されていないことを表します。

[14] 非推奨であるかどうかと適合性は関係ありません >>13

[15] CSS 2.1 では次の2つが「非推奨」、または「CSS3 で非推奨になる」とされています。

メモ

[10] W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures ( ( 版)) http://www.w3.org/TR/2012/REC-xmlschema11-1-20120405/#key-deprecated

[21] Should console.debug() be deprecated? · Issue #67 · whatwg/console () https://github.com/whatwg/console/issues/67#issuecomment-255165594

Deprecation for web features isn't really an interesting concept. Sometimes we deprecate features that are hamful to the platform, such as appcache or showModalDialog, as a prelude to removing them a few years down the line. But we don't deprecate things just because they're redundant; if we did that half of all web APIs would be deprecated. Instead we codify them into the standard to make it clear what is usable by developers and should be implemented by browsers.

[22] XSL Transformations (XSLT) Version 3.0 () https://www.w3.org/TR/2017/REC-xslt-30-20170608/#dt-deprecated

[23] Accessible Rich Internet Applications (WAI-ARIA) 1.1 () https://w3c.github.io/aria/aria/aria.html#deprecated

[24] UAX #44: Unicode Character Database (, ) https://www.unicode.org/reports/tr44/#Deprecation