- ベストアンサー
HTML5でのframe要素廃止について
- HTML5ではframe要素は廃止されていますが、一部の情報ではまだ残っているようにも読めます。
- marquee要素についてはHTML5では廃止されることが伺える記述はありませんが、CSSでバインドした実装方法を説明しているだけのようにも読めます。
- 質問内容は「15 Obsolete features」で言及されている機能が廃止された機能かどうかについての確認と、廃止された機能と廃止されなかった機能の境目についての指針を求めています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
"obsolete" と言えば、通常は「廃止」の意味です。 e.g. http://www.w3.org/TR/html401/conform.html#didx-obsolete | "obsolete" な要素・属性とは、利用者エージェントがサポートする保証のないものである。"obsolete" な要素は、もはや当規定では定義されないが、歴史的目的のために当参考マニュアルの「変更点」に一覧を載せておく。 しかし、HTML(5) の "obsolete" は、少しだけ意味が変わっています。用語として定義されていないので、実際にどう使われているかを確認して下さい。 --- ところで、2 つの用語、適合(conformance)要件(requirements)を覚えて下さい。これらの意味は HTML: 2.2.1 にズラズラと書かれています。 ・適合文書 ・適合ウェブブラウザ(インタラクティブ UA)、非インタラクティブ UA、視覚系 UA、非スクリプティング UA、適合性チェッカ、データ発掘ツール、制作ツール・マークアップ生成器 ページ制作者は「適合する文書」を、UA 開発者は「適合する UA」を目指さねばなりません。立場によって要求されるもの(要件)が違うのです。 ウェブブラウザがうまく解釈してくれるものであっても、ページ制作者がやって良いことであるとは限りません。そのことは HTML: 1.11 および WHATWG FAQ: 4.16 にクドクド注意されています。 思い返せば、Authoring 要件と User Agent 要件の分離というのは、これまでも HTML 4.0(1) Strict と Transitional の分離として暗黙に行われてきたことです。さらに言えば、インターネットの設計原則を述べた RFC 1958 にも「送るときは厳密に、受け取るときは寛容に」と書かれています。 HTML(5) は、普通に文書を作ればそれなりに後方互換性を保てるよう配慮されています。もし、それ以上に古いものが必要ならば UA にのみそれを許可し、ページ制作者には許可しない、というやり方になりました。それは、古い文書の解釈をブラウザ間で(それなりに)統一し、かつ、ページ制作者に古いページを作らせないためです。 -- 閑話休題。HTML: 15 をざっと追ってみます。 15.1 節は「廃止されたが適合する諸特徴」です。これらは適合違反ではないものの、これからのページ制作者が使うべきではなく(should not)、適合性チェッカが警告を出さねばならないものです。HTML 4.01/XHTML 1.0 Strict、XHTML 1.1 の文書型宣言もこれに含まれます。 15.2 節は「非適合な諸特徴」です。ページ制作者がこれらを用いてはなりません(must not)。フレームおよび marquee はここに含まれます。 15.3 節は「実装要件」です。UA が非適合な諸特徴をサポートするときの要件が書かれています。document.all が false に変換され、typeof all が "undefined" を返す件もここに書かれています。 --- 仕様書に載っていることは、全てが等しく重要、ではありません。少なくとも normative と non-normative の差があり、ものによっては今回のように適合要件がいくつかある場合もあります。重要度に大きな差があるのです。必ず用語法および文脈を確認して下さい。 なお、余力があれば WHATWG FAQ を翻訳してみて下さい。更新が早いので管理は大変ですが。 http://wiki.whatwg.org/wiki/FAQ
その他の回答 (1)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
15 Obsolete features ( http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#frames ) は、古い仕様について、説明している項目で、WHAT WG(Web Hypertext Application Technology Working Group)やW3CのHTML5に、著者が使えるものとして残っているわけじゃありません。 それは、要素のインデックスをごらんになればわかります。 ※Elements ( http://www.whatwg.org/specs/web-apps/current-work/multipage/section-index.html#elements-1 ) ※Elements ( http://www.w3.org/TR/html5/index.html#elements-1 ) ★HTML5で、なぜこの古い要素や属性が言及されているかと言うと、HTML5では、 A)著者が使える要素・属性 b)ブラウザが対応すべき要素 と明確に定められているから、古い要素や属性をブラウザがどう対処すべきかまで定める必要があるからです。 ※1.2. 後方互換性 ( http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/#backwards-compatible ) をお読みください。 忘れないでください。HTML4.01でも、 【引用】____________ここから 【著者】 HTML文書を作る場合には、この仕様における、他のDTDセットではなく strict DTD に適合する文書を作るよう推奨する。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Conformance: requirements and recommendations (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/conform.html#h-4.1 )]より 【引用】____________ここから 【ユーザーエージェント】 過去との互換性のため、HTML 4 を解釈するツールについては、HTML 3.2 ([HTML32]参照)並びにHTML 2.0 ([RFC1866]参照)をもサポートすることを推奨する。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Conformance: requirements and recommendations (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/conform.html#h-4.1 )]より と書かれていました。ところが、残念ながら、他のDTDは使い続けられました。 ただ、HTML5が策定され始めるまでの成り行きもあり、 ・プレゼンテーションに関わる要素が、文書構造上の意味を持たされて残りました。 変更された要素をご覧ください。 frameやmarqueeは、ブラウザはサポートすべきで、その解釈は定めますが、著者は使うことが出来ません。
お礼
ありがとうございます。 日本語訳でかなりの部分が説明されていたのですね。 「ブラウザのサポート範囲」と「著者(Webページ制作者)の使用可能範囲」は異なると理解しました。
お礼
詳しい解説ありがとうございます。 "obsolete" が廃止を指すのは完全に私の誤訳ですね…。 (しかし、HTML5 ではやや意味が異なるとのことでこの質問が無駄にならずに済んで少しほっとしてます) "15 Obsolete features" の各節の解説までありがとうございました。 廃止されるものにも should not や must not の違いがあるのですね。