-
Notifications
You must be signed in to change notification settings - Fork 4
/
705.txt
258 lines (180 loc) · 11.1 KB
/
705.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
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
* img 要素、input 要素 ismap 属性 (HTML, XHTML 1)
[4] [[HTML]] の [CODE(HTMLe)[[[img]]]] 要素および [CODE(HTMLe)[[[input]]]]
要素の [DFN[[CODE(HTMLa)[ismap]] 属性]]は、
[[画像]]が[[鯖側画像写像]]であることを示します。
[CODE(HTMLe)[input]] の場合は、 [CODE(HTMLa)[[[type]]]]
属性が [CODE(HTML)[[[image]]]] の時に使います。
[5] 仕様書:
- [[HTML 4]]
-- [CITE[13.6.2 Server-side image maps]]
<IW:HTML4:"struct/objects.html#adef-ismap">
-- [CITE[HTML 4 Changes]]
<IW:HTML4:"appendix/changes.html">
** 属性値
[8] この属性は[[真偽値属性]]です。
指定すれば[[真]] (鯖側画像写像)、指定しなければ[[偽]]
(非鯖側画像写像) になります。
[[#comment]]
** 提出
[9] 利用者が画像を[[かちっ]]ることで[[リンク]]を活性化した場合、
画面上の座標を鯖に直接送ります。座標は画像に対する画素値で、
画素とその計測法の定義は [[CSS 1]] によります。 [SRC[HTML 4]]
[11] かちった座標は、次の方法で鯖に送られます。 [SRC[HTML 4]]
= 元になる URI を用意 ([CODE(HTMLe)[[[a]]]] [CODE(HTMLa)[[[href]]]] から)。
= [CODE(URI)[?]] を付け足す
= [VAR[x]] 座標、[CODE(URI)[,]]、[VAR[y]] 座標を付け足す
= できた新しい URI によりリンクをたどる
(この定義の仕方だと、 [CODE(HTMLa)[href]] にもとから [CODE(ABNF)[[[query]]]]
がついていたら困ります。つけてはいけないのでしょうか。
それとも UA はとらないといけないのでしょうか。)
[18]
[CODE(HTMLe)[input]] の場合のことがちゃんと書かれていません。
フォームの章には書いてあるのでしょうが。。。
と思ったら書いてありません。
[CODE(HTMLa)[type]] が [CODE(HTML)[[[image]]]]
なのは画像提出ボタンで、元々フォームを提出するための鯖側画像写像としての機能を持っています。
[CODE(HTMLa)[ismap]] 属性を指定すると何が起こるのかは不明です。
[20]
ところで、座標は 0 から始まるのでしょうか、
1 からでしょうか。
[[#comment]]
*** リンク先 URI について
[23] リンク先の URI について、 HTML 4 は >>11 のようにしか述べていませんが、
1996年に発表された W3C [[NOTE]] >>22 は、 [CODE(ABNF)[query]] の使用を禁じていました。
そして、 UA には誤り処理として [CODE(ABNF)[query]] を削った URI
に座標を付け加えることと、 (情報の劣化が起こるので) 利用者に報告することを求めていました。
なお、[[素片識別子]]の使用は認めており、 (当然) 座標は [CODE(ABNF)[[[path]]]]
と素片識別子の間に挿入されることが述べられています。
[24] しかし、 HTML 4 も >>22 の NOTE も、 [CODE(URI)[[[http]]:]] 以外の
[[URI scheme]] には触れていません。
[25]
但し、 >>22 の NOTE は当時のほとんどの UA が素片識別子付きに対応していないと注意しています。
([[名無しさん]])
[[#comment]]
*** 座標を選択しない場合
[12] 利用者が座標を選択する手段を有しない UA
では、座標 [SAMP(URI)[0,0]] を送るべきです。 [SRC[HTML 4]]
[21] HTML 4 より少し前、 1996年に発表された W3C [[NOTE]] >>22
は、画像を表示しない・できない UA は
[SAMP(URI)[http://some.domain.example/path/resource]] のように [CODE(ABNF)[query]]
のまったくない URI を使うべきであるとし、 [[Lynx]] など既存の UA
は座標 [CODE(math)[(0, 0)]] を送るので、鯖側はそれにも対応することをすすめていました。
[22] [CITE[Imagemapped Images and Image-Incapable User Agents]],
<http://www.w3.org/TR/NOTE-imagemap>, 発表当時の URI は
<http://www.w3.org/pub/WWW/TR/NOTE-imagemap-961127>。
[Q[Status of this document]] によれば現在の W3C [[WD]] のような位置付けだったらしいのですが、
2004年現在、 <http://www.w3.org/TR/> によれば [[Working Group Note]]
に分類されています。同時期の他の HTML 系 WD とは異なり、
直接 HTML 4 仕様書に取込まれてはいないようです。
[[#comment]]
** input 要素の ismap 属性
[19] [[HTML 4.0]] には [CODE(HTMLe)[input]] 要素に [CODE(HTMLa)[ismap]]
属性がありませんでしたが、なぜか [[HTML 4.01]] で追加されました。
HTML 4 13.6.2 の説明は、 HTML 4.0 [[FE]] の時には、 [CODE(HTMLe)[img]]
でも [CODE(HTMLe)[input]] でも鯖側画像写像を使う時には
[CODE(HTMLa)[ismap]] が要るようなことが書かれていましたが、
[[SE]] で [CODE(HTMLe)[img]] の時だけ要ると修正されました。
HTML 4.01 で追加したのはこの間違った文章との後方互換性のため(藁)
かもしれませんが、全然説明がありません。不親切だなあ。
** 歴史
*** 大域属性としての使用
[32] [[XHTML2]] では [CODE(HTMLa)@en[[[src]]]] の[[大域属性]]化に伴い
[CODE(HTMLa)@en[[[ismap]]]] [[属性]]も[[大域属性]]となりました。
;; [CITE@en[- XHTML Attribute Collections]] ([TIME[2002-12-12 23:58:38 +09:00]] 版) <http://www.w3.org/TR/2002/WD-xhtml2-20021211/mod-attribute-collections.html#adef_attribute-collections_ismap>
** 他との関係
[7] [CODE(HTMLa)[ismap]] 属性が定義されている要素型は
[CODE(HTMLe)[img]] と [CODE(HTMLe)[input]] だけです。
鯖側画像写像はあまりすすめられないという事情からか、
[CODE(HTMLe)[[[object]]]] 要素には定義されていません
([CODE(HTMLa)[[[usemap]]]] はあるのに)。
なお、 [CODE(HTMLe)[input]] で [CODE(HTMLa)[ismap]]
にできるのは [CODE(HTMLa)[[[type]]]] が [CODE(HTML)[[[image]]]]
のときのみです。
[13] [CODE(HTMLe)[img]] の先祖に [CODE(HTMLe)[a]]
がない場合どうなるのかは HTML 4 仕様書に書かれていません。
[14]
HTML 4 仕様書は触れていませんが、
クライアント側画像写像ができてすぐの頃には [CODE(HTMLa)[usemap]] と [CODE(HTMLa)[ismap]] の両方を指定することがありました。
(が、面倒だし、多くの WWW
ブラウザはクライアント側に対応したので習慣にはなりませんでした。)
[16]
>>14 と書いたけど検索してみると両方併用した説明が一杯出てきます。意外とあったのかも。
[[#comment]]
** 不思議解釈
[17]
[CODE(HTMLe)[ismap]] を[Q[とにかく画像写像のときはつけるべし]]
の意味だと勘違いしている人も沢山いる悪寒。
参考:
''TAG index/過去ログ/ クリッカブルマップ'' <http://www.tagindex.com/kakolog/q1bbs/401/575.html>
[[#comment]]
** 例
[10]
[PRE(HTML)[
<P><A href="http://www.acme.example/cgi-bin/competition">
<IMG src="game" ismap alt="target"></A>
]PRE]
[WEAK[(HTML 4 仕様書より、改)]]
この例で、利用者が座標 [CODE(math)[([VAR[x]], [VAR[y]]) = (10, 27)]]
をかちったとすると、終点 URI は
[SAMP(URI)[http://www.acme.example/cgi-bin/competition?10,27]]
になります。
[[#comment]]
** メモ
[6] 鯖側画像写像は、[[クライアント側画像写像]]よりも先に開発・実装されましたが、
access 性に関する問題点がある上、
鯖側での設定が必要である面倒臭さからほとんど用いられなくなっています。
1999年の HTML 4 勧告もクライアント側画像写像をすすめています。
ただし、 [CODE(HTMLa)[ismap]] は'''非推奨'''とまではされていません。
[Q[鯖側画像写像は画像写像がクライアント側画像写像にするには複雑すぎる場合には使えるかも]]と言っています。
[1] こんなの見かけました:
[SAMP(HTML)[<[CODE(HTMLe)[a]] [CODE(HTMLa)[href]]="[[javascript]]:foo();"><[CODE(HTMLe)[img]] [CODE(HTMLa)[ismap]]/></[CODE(HTMLe)[a]]>]]。
う〜ん。。。
[2] そこいらの [[WWWブラウザ]]では >>1 はもちろん動かないわけだ。
(ていうかそもそも [CODE(ABNF)[[[query]]]] が存在する [[URI]] [[scheme]]
じゃないと話にならんよね。)
[3] でも [CODE(ABNF)[query]] があるからといって [CODE(URI)[[[mailto]]:]]
なんかで使えたりしたらたまらんわな。
[15]
[CODE(HTMLe)[a]] のリンク先を静的な (鯖側で画像写像やスクリプト等でない)
HTML 文書にして、 [[JavaScript]]
で [CODE(ABNF)[query]] をみて何かするという技法がありました。
(あまり流行らなかったようですが、
さして使い道がないからでしょう。)
例:
''JavaScript Guide'' <http://osr5doc.sco.com:1997/Internet/FastTrack/javascript/advtopic.htm#1006230>
(2000年8月最終修正)
([[名無しさん]])
[26]
[CITE[日々是開発: SQS Development(2006-01-09)]]
<http://sqs.cmr.sfc.keio.ac.jp/tdiary/?date=20060109#p01>
[[鯖側画像写像]]にも、まだ、純粋に画像の1点を選択させるだけの使い道はあるのか。。。
([[名無しさん]] [WEAK[2006-01-10 01:39:48 +00:00]])
[27]
[CITE[EMail Msg <9305180650.AA03223@wintermute.ncsa.uiuc.edu>]] ([CODE[2007-07-01 04:22:17 +09:00]] 版) <http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q2.messages/341.html>
([[名無しさん]])
[28]
[CITE[SpaceWalk Hypermedia Demo]] ([CODE[1997-03-12 07:31:47 +09:00]] 版) <http://web.archive.org/web/19990218153913/www.earth.com/server/walk/walk.html>
([[名無しさん]])
[29]
[CITE[EMail Msg <9308102156.AA06138@austin.BSDI.COM>]] ([CODE[2007-07-01 04:30:40 +09:00]] 版) <http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q3.messages/459.html>
([[名無しさん]])
[30]
[CITE[EMail Msg <9305272008.AA26764@austin.BSDI.COM>]] ([CODE[2007-07-01 04:35:30 +09:00]] 版) <http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q2.messages/401.html>
([[名無しさん]])
[31]
[CITE[EMail Msg <9306050318.AA10442@wintermute.ncsa.uiuc.edu>]] ([CODE[2007-07-01 05:00:05 +09:00]] 版) <http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q2.messages/436.html>
[33] [CITE[WWW-Talk Apr-Jun 1993: Re: Keeping HTML Simple & Format negotiation between Browser & Server]]
( ([TIME[2013-03-05 13:24:03 +09:00]] 版))
<http://1997.webhistory.org/www.lists/www-talk.1993q2/0417.html>
[34] [CITE[WWW-Talk Apr-Jun 1993: IMG extension for Mosaic 1.1]]
( ([TIME[2013-03-05 13:25:50 +09:00]] 版))
<http://1997.webhistory.org/www.lists/www-talk.1993q2/0343.html>
[35] [CITE@en[Web Applications 1.0 r7816 Mention <input ismap>]]
( ([TIME[2013-04-12 07:43:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7815&to=7816>
[36] [CITE[ncsa-mosaic/CHANGES at master · alandipert/ncsa-mosaic]]
( ([TIME[2014-04-07 05:38:27 +09:00]] 版))
<https://github.com/alandipert/ncsa-mosaic/blob/master/CHANGES#L898>
[37] [CITE@en[Fix #438: Make <img ismap> x/y relative to the image edge · whatwg/html@87c078d]]
([TIME[2016-01-20 17:29:23 +09:00]] 版)
<https://github.com/whatwg/html/commit/87c078dfd7c36d65328db4bb7bfc3c8f411e5997>