-
Notifications
You must be signed in to change notification settings - Fork 4
/
633.txt
183 lines (145 loc) · 7.84 KB
/
633.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
[9] [[HTML]] の [DFN[[CODE(HTMLe)[frame]] 要素]]は、
[RUBY[[[枠]]] [フレーム] [frame]]の内容と見た目を定義します。
[FIG(important)[
[5] 本項は過去の [[HTML]] 仕様に関するものです。
現在は代わりに [CODE(HTMLe)@en[[[iframe]]]] [[要素]]を使うことができます。
]FIG]
* 仕様書
[REFS[
- [51] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#active-frame-element>
]REFS]
*
[12]
:[[開始タグ]]:必須
:[[終了タグ]]:禁止 (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]]
[FIG(list members)[
:[[入れ子閲覧文脈]]:
]FIG]
[3] [[文書中]]にある [CODE(HTMLe)@en[[[frame]]]] [[要素]]を、
[DFN[[RUBYB[活性[CODE(HTMLe)@en[frame]]要素]@en[active [CODE(HTMLe)@en[frame]] element]]]]といいます [SRC[>>51]]。
** フレーム内容
[14] フレームの内容を直接画像とすることは望ましくありません。
(非視覚 UA 向けに) 画像の説明を記述できなくなってしまうからです。
[SRC[HTML 4 16.4.2]]
例えば、
[PRE(HTML)[
<!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>
]PRE]
のような場合、確かに [CODE(HTMLa)[[[longdesc]]]]
属性を使うことはできますが、 [CODE(HTMLa)[longdesc]]
は本来フレームの初期内容ではなくフレーム自体を説明するべきものです。
リンクによって他の画像に替えられると、その画像の説明はなくなってしまいます。
[15] という HTML 4 仕様書にある >>14 の考え方は適当ではないと言う人もいます。
曰く、画像が非視覚 UA で表示できないのは代替文を埋め込めない画像形式や画像を表示できない
UA の限界で、ありとあらゆる状況で内容を得ることができるようにするのは無理なことです。
また、フレームを使わない場合でも [CODE(HTMLe)[a]]
を使って画像にリンクすることがありますが、
それも好ましくないと言うのでなければ一貫しません。
そのようなリンクを行うときには、必要で可能であればリンク元に画像の説明があるはずです。
フレーム内であってもそれは同じことでしょう。
また、あるフレームに表示される画像が有限なら、
[CODE(HTMLa)[longdesc]] 文書にすべての代替文を記述しておくのも一つの方法です。
[16]
HTML 4 仕様書は、
回避策として画像を埋め込んだだけのダミー文書を用意することを勧めていますけど、
無駄なだけですよね。
* 処理
[2] [[フレーム]]を参照。
[65] [CODE(HTMLe)@en[[[frame]]]] [[要素]]の[[属性の追加]]/[[属性の設定]]/[[属性の変更]]/[[属性の削除]]は、次のようにしなければ[['''なりません''']] [SRC[>>51]]。
[FIG(steps)[
= [[入れ子閲覧文脈]]を持つなら、
== 対象が [CODE(HTMLa)@en[[[src]]]] [[属性]]なら、
=== [[[CODE(HTMLe)@en[frame]]属性の処理]]を行います。
]FIG]
* 歴史
[4] [[Netscape Navigator 2.0]] で導入されました。
** HTML4
[REFS[
- [10] [[HTML 4]]
-- [CITE[16.2.2 The [CODE(HTMLe)[FRAME]] element]]
<IW:HTML4:"present/frames.html#edef-FRAME">
-- [CITE[16.4.2 Long descriptions of frames]]
<IW:HTML4:"present/frames.html#idx-accessibility-1">
]REFS]
[19] [CITE@en-US[Internet Explorer Linked Pages Are Being Cached in Frame Set]]
( ([TIME[2013-11-05 09:10:47 +09:00]] 版))
<http://support.microsoft.com/kb/233528/en-us>
[20] [CITE[IE5のお気に入りにクリビツ!]]
( ([TIME[2007-12-08 03:32:18 +09:00]] 版))
<http://www.tohoho-web.com/lng/199904/99040069.htm>
** [CODE(XMLe)@en[frame]] 要素 (XFrames)
[17] [CITE@en[XFrames]] ([TIME[2010-12-17 00:45:08 +09:00]] 版) <http://www.w3.org/TR/2010/NOTE-xframes-20101216/#s_frame-element>
[18] [[HTML]] とは違って、 [[URL]] は [CODE(HTMLa)@en[[[src]]]] [[属性]]ではなく、
[CODE(XMLa)@en[[[source]]]] [[属性]]に指定します。
** HTML5
[21] [CITE@en[Web Applications 1.0 r8380 Update <frame> requirements to match legacy better]]
( ([TIME[2014-01-07 08:46:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8379&to=8380>
* 他との関係
[11] HTML には、特定実装の拡張で、同名別用法の
[CODE(HTMLe)[frame]] 要素型が存在します (>>8)。
[[#comment]]
** 例
[13] フレームの見た目を指定した例 [SRC[HTML 4 16.2.2.2]]
[PRE(HTML)[
<!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>
]PRE]
この例では、フレーム1は scroll できなくなります。
フレーム2は画像の周りに余白が付きますし、
大きさを変えることができなくなります。
フレーム3とフレーム4の間には境界線をつけません。
フレーム1とフレーム2とフレーム3の間の境界線は付きます。
(フレーム2とフレーム3の間に境界線が引かれることに注意。)