[9] HTML の frame
要素は、
枠の内容と見た目を定義します。
frameset
の子供として任意個属性名 | 属性値 | 既定値 | 説明 | 状態 | 出典 |
allowcrossdomainxhr | 非標準 | Air | |||
application | on | off | 非標準 | HTA | ||
bordercolor | %Color | 境界線色 | 非標準 | ||
class | (なし) | 級 | [HTML 4] %coreattrs | ||
datafld | データ欄 | 非標準 | |||
datasrc | %URI | (なし) | データ源 | 非標準 | |
documentroot | 非標準 | Air | |||
frameborder |
| 1 | 枠境界線 | [HTML 4] 枠 | |
framespacing | 枠間隔 | 非標準 | |||
id | ID | (なし) | 固有識別子 | [HTML 4] %coreattrs | |
longdesc | %URI | (なし) | 長い説明の参照 | [HTML 4] 枠 | |
marginheight | %Pixels | 余白高さ | [HTML 4] 枠 | ||
marginwidth | %Pixels | 余白幅 | [HTML 4] 枠 | ||
name | (なし) | 枠名 | [HTML 4] 枠 | ||
noresize | (真偽値属性) | (偽) | 寸法可変性 | [HTML 4] 枠 | |
ondominitialize | 非標準 | Air | |||
sandboxroot | 非標準 | Air | |||
scrolling | auto | [HTML 4] 枠 | |||
security | 安全上の扱い | 非標準 | WinIE | ||
src | %URI | (なし) | 枠内容 | [HTML 4] 枠 | |
style | (なし) | スタイル指定 | [HTML 4] %coreattrs | ||
title | %Text | (なし) | 注釈的題 | [HTML 4] %coreattrs | |
xmlns | http://www.w3.org/1999/xhtml 固定 | W3C 勧告 | XHTML m12n |
[14] フレームの内容を直接画像とすることは望ましくありません。 (非視覚 UA 向けに) 画像の説明を記述できなくなってしまうからです。 HTML 4 16.4.2
例えば、
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <HTML> <HEAD> <TITLE>A poorly-designed frameset document</TITLE> </HEAD> <FRAMESET cols="20%, 80%"> <FRAME src="table_of_contents.html"> <FRAME src="ostrich.gif" longdesc="ostrich-desc.html"> </FRAMESET> </HTML>
のような場合、確かに longdesc
属性を使うことはできますが、 longdesc
は本来フレームの初期内容ではなくフレーム自体を説明するべきものです。
リンクによって他の画像に替えられると、その画像の説明はなくなってしまいます。
[15] という HTML 4 仕様書にある >>14 の考え方は適当ではないと言う人もいます。 曰く、画像が非視覚 UA で表示できないのは代替文を埋め込めない画像形式や画像を表示できない UA の限界で、ありとあらゆる状況で内容を得ることができるようにするのは無理なことです。
また、フレームを使わない場合でも a
を使って画像にリンクすることがありますが、
それも好ましくないと言うのでなければ一貫しません。
そのようなリンクを行うときには、必要で可能であればリンク元に画像の説明があるはずです。
フレーム内であってもそれは同じことでしょう。
また、あるフレームに表示される画像が有限なら、
longdesc
文書にすべての代替文を記述しておくのも一つの方法です。
[16] HTML 4 仕様書は、 回避策として画像を埋め込んだだけのダミー文書を用意することを勧めていますけど、 無駄なだけですよね。
[8] 著者は frame
要素を使ってはなりませんが、
利用者エージェントは frame
要素を実装しなければなりません。
HTMLFrameElement
インターフェイス[6] frame
要素の要素インターフェイスは、
HTMLFrameElement
インターフェイスです。
[7] HTMLFrameElement
インターフェイスには、
次のメンバーがあります。
[4] Netscape Navigator 2.0 で導入されました。
[19] Internet Explorer Linked Pages Are Being Cached in Frame Set ( ( 版)) http://support.microsoft.com/kb/233528/en-us
[20] IE5のお気に入りにクリビツ! ( ( 版)) http://www.tohoho-web.com/lng/199904/99040069.htm
frame
要素 (XFrames)[17] XFrames ( 版) http://www.w3.org/TR/2010/NOTE-xframes-20101216/#s_frame-element
[21] Web Applications 1.0 r8380 Update <frame> requirements to match legacy better ( ( 版)) http://html5.org/tools/web-apps-tracker?from=8379&to=8380
[11] HTML には、特定実装の拡張で、同名別用法の
frame
要素型が存在します (>>8)。
[13] フレームの見た目を指定した例 HTML 4 16.2.2.2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <HTML> <HEAD> <TITLE>A frameset document</TITLE> </HEAD> <FRAMESET cols="33%,33%,33%"> <FRAMESET rows="*,200"> <FRAME src="contents_of_frame1.html" scrolling="no"> <FRAME src="contents_of_frame2.gif" marginwidth="10" marginheight="15" noresize> </FRAMESET> <FRAME src="contents_of_frame3.html" frameborder="0"> <FRAME src="contents_of_frame4.html" frameborder="0"> </FRAMESET> </HTML>
この例では、フレーム1は scroll できなくなります。 フレーム2は画像の周りに余白が付きますし、 大きさを変えることができなくなります。
フレーム3とフレーム4の間には境界線をつけません。 フレーム1とフレーム2とフレーム3の間の境界線は付きます。 (フレーム2とフレーム3の間に境界線が引かれることに注意。)
[23] Be more precise about nested and discarded browsing contexts (domenic著, ) https://github.com/whatwg/html/commit/39118df640ad4a3f03f164fb5ffe0a56316297be
[29] Editorial: Cross-reference DOM "child" where appropriate in rendering (zcorpan著, ) https://github.com/whatwg/html/commit/e8c91c05edc8d6cdb33fdd5452e052359d40490b
[30] Make <frame> fire load synchronously with "completely loaded" (annevk著, ) https://github.com/whatwg/html/commit/16de123059bd4b3660677fb4fdc03e2053815482
[31] frame and iframe have different load-event-firing behaviors · Issue #3492 · whatwg/html () https://github.com/whatwg/html/issues/3492
[32] Make <frame> fire load synchronously with "completely loaded" by annevk · Pull Request #3495 · whatwg/html () https://github.com/whatwg/html/pull/3495
[33] Make the default tabIndex for <frame> 0 (domenic著, ) https://github.com/whatwg/html/commit/7952ba43a9a7c2f0295359f8dbe097e5f1bdbfd5
[34] The default tab index of frame element should be 0 · Issue #4855 · whatwg/html · GitHub () https://github.com/whatwg/html/issues/4855
[35] Make the default tabIndex for <frame> 0 by domenic · Pull Request #4859 · whatwg/html · GitHub () https://github.com/whatwg/html/pull/4859
[36] Editorial: nested browsing context is a member, not a type (annevk, , ) https://github.com/whatwg/html/commit/6b737bbc428facf34ec3728c0912cf9e172d0ea4