last modified 9th/Nov. 2000
Frameset DTD に則った文書( FRAMESET 文書)は、複数の HTML 文書を組み合わせ、ブラウザのウィンドウを分割して表示します。しかし、 Frameset 文書をサポートしないブラウザも多くあります。非視覚系ブラウザは Frameset 文書は全く閲覧できません。 NOFRAMES 要素は、Frameset 文書の代替テキストを提供します。
Frameset DTD による NOFRAMES の定義;
<!ENTITY % noframes.content "(BODY) -(NOFRAMES)"> <!ELEMENT NOFRAMES - - %noframes.content; -- alternate content container for non frame-based rendering --> <!ATTLIST NOFRAMES %attrs; -- %coreattrs, %i18n, %events -- >
NOFRAMES 要素は、 Frameset 文書をサポートしていないブラウザや、表示しないように設定している場合にだけ表示されます。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <title>a frameset document with noframes</title> </head> <frameset cols="50%, 50%"> <frame src="./main.html"> <frame src="./toc.html"> <noframes> <body> <p> <a href="./main-noframes.html">非フレーム文書</a>も用意されています。 </p> </body> </noframes> </frameset> </html>
BODY 要素の開始タグ、終了タグは省略可能ですが、ここでは省略しませんでした。 Frameset 文書を表示しないブラウザの場合には、この文書は次のように解釈されます;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <title>a frameset document with noframes</title> </head> <body> <p> <a href="./main-noframes.html">非フレーム文書</a>も用意されています。 </p> </body> </html>
NOFRAMES 要素を与えれば十分というわけでは有りません。フレームを表示しないブラウザでも閲覧できるように、適切にナビゲートして下さい。例えば、次の例は全く意味が有りません;
意味が無い例;
<noframes> <body> <p>フレーム・サポートブラウザで見て下さい。</p> </body> </noframes>
NOFRAMES 要素は Transitional DTD でも定義されています。 通常の HTML 文書中の NOFRAMES 要素も、 フレーム非サポート・ブラウザか、フレームを表示しないように設定している場合に限り表示されます。これによって、本来は FRAME の内容として読まれることを意図した文書の意図や、ナビゲーションを与える事が可能です。
Transitional DTD における NOFRAMES 要素の定義は、 Frameset DTD の場合と同様ですが、内容モデルが %flow;
になります。
FRAME の内容として意図された文書には、ナビゲーション用のリンクが不足している事が多いので、 Transitinal の文書にも NOFRAMES 要素が非常に有用である事を覚えておいて下さい。