* frame 要素型 (HTML, XHTML 1)
[9] [[HTML]] の [DFN[[CODE(HTMLe)[frame]] 要素]]は、
[RUBY[[[枠]]] [フレーム] [frame]]の内容と見た目を定義します。
[10] 仕様書:
- [[HTML 4]]
-- [CITE[16.2.2 The [CODE(HTMLe)[FRAME]] element]]
-- [CITE[16.4.2 Long descriptions of frames]]
[12]
:[[局所名]]:[CODE(HTMLe)[frame]]
:[[名前空間名]]:[CODE(URI)[[[http://www.w3.org/1999/xhtml]]]]
:[[開始タグ]]:必須
:[[終了タグ]]:禁止 (HTML 4), 必須 (XHTML 1)
:出現できる文脈:[CODE(HTMLe)[[[frameset]]]] の子供として任意個
:[[内容模型]]:空 ([[強制空要素]])
:[[属性]]:
,属性名 ,属性値 ,既定値 ,説明 ,状態 ,出典
,[CODE(HTMLa)@en[[[allowcrossdomainxhr]]]],,,非標準,[[Air]]
,[CODE(HTMLa)@en[[[application]]]],[CODE(HTML)@en[[[on]]]] | [CODE(HTMLe)@en[[[off]]]],,,非標準,[[HTA]]
,[CODE(HTMLa)[[[bordercolor]]]] ,[CODE(SGML)[%[[Color]]]] , ,境界線色 ,非標準
,[CODE(HTMLa)[[[class]]]] , ,(なし) ,級 ,[HTML 4] [CODE(SGML)[%[[coreattrs]]]]
,[CODE(HTMLa)[[[datafld]]]] , , ,データ欄 ,非標準
,[CODE(HTMLa)[[[datasrc]]]] ,[CODE(SGML)[%[[URI]]]] ,(なし) ,データ源 ,非標準
,[CODE(HTMLa)@en[[[documentroot]]]],,,非標準,[[Air]]
,[CODE(HTMLa)[[[frameborder]]]] ,[CODE(SGML)[[CODE(HTML)[1]] | [CODE(HTML)[0]]]] ,[CODE(HTML)[1]] ,枠境界線 ,[HTML 4] 枠
,[CODE(HTMLa)[[[framespacing]]]] , , ,枠間隔 ,非標準
,[CODE(HTMLa)[[[id]]]] ,[CODE(SGML)[[[ID]]]] ,(なし) ,固有識別子 ,[HTML 4] [CODE(SGML)[%[[coreattrs]]]]
,[CODE(HTMLa)[[[longdesc]]]] ,[CODE(SGML)[%[[URI]]]] ,(なし) ,長い説明の参照 ,[HTML 4] 枠
,[CODE(HTMLa)[[[marginheight]]]] ,[CODE(SGML)[%[[Pixels]]]] , ,余白高さ ,[HTML 4] 枠
,[CODE(HTMLa)[[[marginwidth]]]] ,[CODE(SGML)[%[[Pixels]]]] , ,余白幅 ,[HTML 4] 枠
,[CODE(HTMLa)[[[name]]]] , ,(なし) ,枠名 ,[HTML 4] 枠
,[CODE(HTMLa)[[[noresize]]]] ,([[真偽値属性]]) ,([[偽]]) ,寸法可変性 ,[HTML 4] 枠
,[CODE(HTMLa)@en[[[ondominitialize]]]],,,非標準,[[Air]]
,[CODE(HTMLa)@en[[[sandboxroot]]]],,,非標準,[[Air]]
,[CODE(HTMLa)[[[scrolling]]]] , ,[CODE(HTML)[[[auto]]]] , ,[HTML 4] 枠
,[CODE(HTMLa)[[[security]]]],,,安全上の扱い,非標準,[[WinIE]]
,[CODE(HTMLa)[[[src]]]] ,[CODE(SGML)[%[[URI]]]] ,(なし) ,枠内容 ,[HTML 4] 枠
,[CODE(HTMLa)[[[style]]]] , ,(なし) ,スタイル指定 ,[HTML 4] [CODE(SGML)[%[[coreattrs]]]]
,[CODE(HTMLa)[[[title]]]] ,[CODE(SGML)[%[[Text]]]] ,(なし) ,注釈的題 ,[HTML 4] [CODE(SGML)[%[[coreattrs]]]]
,[CODE(XMLa)[[[xmlns]]]] ,[CODE(URI)[[[http://www.w3.org/1999/xhtml]]]] 固定 ,== ,W3C 勧告 ,[[XHTML m12n]]
[[#comment]]
** フレーム内容
[14] フレームの内容を直接画像とすることは望ましくありません。
(非視覚 UA 向けに) 画像の説明を記述できなくなってしまうからです。
[SRC[HTML 4 16.4.2]]
例えば、
[PRE(HTML)[
A poorly-designed frameset document
]PRE]
のような場合、確かに [CODE(HTMLa)[[[longdesc]]]]
属性を使うことはできますが、 [CODE(HTMLa)[longdesc]]
は本来フレームの初期内容ではなくフレーム自体を説明するべきものです。
リンクによって他の画像に替えられると、その画像の説明はなくなってしまいます。
[15] という HTML 4 仕様書にある >>14 の考え方は適当ではないと言う人もいます。
曰く、画像が非視覚 UA で表示できないのは代替文を埋め込めない画像形式や画像を表示できない
UA の限界で、ありとあらゆる状況で内容を得ることができるようにするのは無理なことです。
また、フレームを使わない場合でも [CODE(HTMLe)[a]]
を使って画像にリンクすることがありますが、
それも好ましくないと言うのでなければ一貫しません。
そのようなリンクを行うときには、必要で可能であればリンク元に画像の説明があるはずです。
フレーム内であってもそれは同じことでしょう。
また、あるフレームに表示される画像が有限なら、
[CODE(HTMLa)[longdesc]] 文書にすべての代替文を記述しておくのも一つの方法です。
[16]
HTML 4 仕様書は、
回避策として画像を埋め込んだだけのダミー文書を用意することを勧めていますけど、
無駄なだけですよね。
[[#comment]]
** 他との関係
[11] HTML には、特定実装の拡張で、同名別用法の
[CODE(HTMLe)[frame]] 要素型が存在します (>>8)。
[[#comment]]
** 例
[13] フレームの見た目を指定した例 [SRC[HTML 4 16.2.2.2]]
[PRE(HTML)[
A frameset document
]PRE]
この例では、フレーム1は scroll できなくなります。
フレーム2は画像の周りに余白が付きますし、
大きさを変えることができなくなります。
フレーム3とフレーム4の間には境界線をつけません。
フレーム1とフレーム2とフレーム3の間の境界線は付きます。
(フレーム2とフレーム3の間に境界線が引かれることに注意。)
* [CODE(XMLe)@en[frame]] 要素 (XFrames)
[17] [CITE@en[XFrames]] ([TIME[2010-12-17 00:45:08 +09:00]] 版)
[18] [[HTML]] とは違って、 [[URL]] は [CODE(HTMLa)@en[[[src]]]] [[属性]]ではなく、
[CODE(XMLa)@en[[[source]]]] [[属性]]に指定します。
[19] [CITE@en-US[Internet Explorer Linked Pages Are Being Cached in Frame Set]]
( ([TIME[2013-11-05 09:10:47 +09:00]] 版))
[20] [CITE[IE5のお気に入りにクリビツ!]]
( ([TIME[2007-12-08 03:32:18 +09:00]] 版))