/
999.txt
506 lines (381 loc) · 26 KB
/
999.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
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
[2] [[HTML]] の [DFN[[CODE(HTMLe)[[[isindex]]]]]] [[要素]]は、元々はその[[文書]] (によって代表される[[資源]])
が検索可能であることを表していました。現在では検索フォームに展開されるようになっていますが、
[[廃止]]されており、[[利用者エージェント]]は実装しなければなりませんが、[[著者]]は使ってはなりません。
* 代替
[5] この[[要素]]は [[HTML4]] で[[非推奨]]とされた後、 [[HTML5]] により[[廃止]]されました。
[105] 代わりに、 [CODE(HTMLe)[[[form]]]] 要素と [CODE(HTMLe)[[[input]]]]
[[要素]]を使って同じようなことが実現できます。
* 仕様書
[REFS[
- [108] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-12-19 00:10:55 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#parsing-main-inbody>
- [109] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-12-19 00:10:55 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#attr-fe-name-isindex>
- [110] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-12-19 00:10:55 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#isindex-0>
]REFS]
* 属性
[4]
,[CODE(HTMLa)[[[action]]]] ,[CODE(SGML)[%[[URI]]]] , ,提出先 ,
,[CODE(HTMLa)[[[class]]]] , ,(なし) ,[[級]] ,[HTML 4] %[[coreattrs]]
,[CODE(HTMLa)[[[dir]]]] , , ,[[書字方向]] ,[HTML 4] %[[i18n]]
,[CODE(HTMLa)[[[href]]]] ,[CODE(SGML)[%[[URI]]]] , ,提出先
,[CODE(HTMLa)[[[id]]]] ,[CODE(SGML)[[[ID]]]] ,(なし) ,[[固有識別子]] ,[HTML 4] %coreattrs
,[CODE(HTMLa)[[[lang]]]] ,[CODE(SGML)[%[[LanguageCode]]]] ,(継承) ,[[自然言語]] ,[HTML 4] %i18n
,[CODE(HTMLa)[[[xml]]:[[lang]]]] ,[CODE(SGML)[%[[LanguageCode]]]] ,(継承) ,[[自然言語]] ,W3C 勧告 ,[XHTML 1]
,[CODE(HTMLa)[[[prompt]]]] ,[CODE(SGML)[%[[Text]]]] , , ,[HTML 4] 非推奨
,[CODE(HTMLa)[[[style]]]] ,[CODE(SGML)[%[[StyleSheet]]]] ,(なし) ,スタイル指定 ,[HTML 4] %coreattrs
,[CODE(HTMLa)[[[title]]]] ,[CODE(SGML)[%[[Text]]]] ,(なし) ,注釈的題 ,[HTML 4] %coreattrs
,[CODE(HTMLa)@en[[[type]]]],[CODE(HTML)@en[[[khtml_isindex]]]],(なし),,非標準,[[WebKit]]
* 構文解析
[106] [CODE(HTMLe)@en[[[isindex]]]] [[要素]]は歴史的にいろいろな形で実装されてきましたが、
現在の [[HTML Standard]] では [CODE(HTMLe)@en[[[form]]]] [[要素]]とその[[子孫]]という形に[[構文解析器]]の時点で展開される
「マクロ」として定義されています。各 [[Webブラウザー]]の現行世代の構文解析器 (いわゆる [[HTML5構文解析器]])
もすべてそのように実装しています。
;; [107] 従って [CODE(DOMm)@en[[[createElement]]]] や [[XML]] で [CODE(HTMLe)@en[[[isindex]]]]
[[要素]]を作っても、 [CODE(HTMLe)@en[[[isindex]]]] としての機能は持ちません。
* [CODE(HTMLe)@en[input]] 要素の [CODE(HTMLa)@en[name]] 「[CODE(HTML)@en[isindex]]」
[111] [CODE(HTMLe)@en[[[isindex]]]] [[要素]]が展開された[[要素]]のひとつは [CODE(HTMLe)@en[[[input]]]]
[[要素]]で、 [CODE(HTMLa)@en[[[name]]]] [[属性]]が [DFN[[CODE(HTML)@en[[[isindex]]]]]] となります。
これは[[フォーム提出]]の際に特別に扱われます (>>109)。それによって旧来の [CODE(HTMLe)@en[[[isindex]]]]
[[要素]]の動作がエミュレートされています。
* 歴史
[6] 本来この要素は索引があって検索可能なことを表すだけで、
検索フォームは UA の機能に過ぎなかった
[WEAK[(本文領域には表示せず、メニューから検索機能を呼出せるだけの]]
UA もあった)]] のに、
いつの間にか文章の適当なところに配置できる簡易フォーム機能となってしまいました。
フォーム提出先 URI まで指定できるようになっています
[WEAK[(HTML 4 にはその機能は入りませんでしたが)]]。
HTML 4 に至っては、
> This element creates a single-line text input control. [SRC[HTML 4 17.8]]
などと定義しています。
[7] しかも、 [CODE(HTMLe)[[[head]]]]
要素が創設された時にそちらに収納されるはずのものであったにもかかわらず、
いつの間にか本文のどこにあっても良いことになっています。
ここまでして高機能化するほど使い道があるものではありませんし、
[CODE(HTMLe)[[[form]]]] が使いづらいというわけでもないのですが、
どうしてこうも拡張されてしまったのでしょうと思わずにはいられません。
[20]
[CITE[Notes on informal HTML-IG meeting 25 July 94]] ([TIME[1994-08-24 02:08:51 +09:00]] 版) <http://www.w3.org/MarkUp/HTML-WG/940725-minutes.html>
>
ISINDEX should not be allowed in the body of messages. (This has always been a bug encouraged by Mosaic's handling of if, but it should be done with a small form, and it is messy to allow it in two roles.)
[REFS[
- [3] [[HTML 2.0]]: [[RFC 1866]] 5.2.3. Keyword Index: ISINDEX
- [[HTML 4]]
-- [CITE[17.8 The [CODE(HTMLe)[ISINDEX]] element]]
<IW:HTML4:"interact/forms.html#edef-ISINDEX">
-- [[移行用DTD]]
<IW:HTML4:"sgml/loosedtd.html#isindex">
- [[XHTML 1.0]]
-- [CSECTION[C.6. Isindex]]
<IW:XHTML10:"C_6">
]REFS]
[10]
HTML 4 DTD の[[注釈]] (参考)
には [Q[single line prompt]] とあります。
[9] [CODE(HTMLe)[isindex]] の意味がよく規定されているのは[[基底URI]]
が [[HTTP]] である場合のみです。また、入力する文字列は [[Latin-1]]
に制限されます。 [SRC[HTML 4 17.8]]
[1] [[WebTV]] では「属性なし」で、次のような例が載っています。
[PRE(HTML)[
<ISINDEX "http://www.webtv.net/search">
]PRE]
[WEAK[(出典: [CODE(HTMLe)[isindex]] <http://web.archive.org/web/20000601075627/developer.webtv.net/authoring/html/isindex.html#1082776>)]]
こんなのは [[SGML]] ではないと思うんですがねぇ。
** 文脈
[12] [CODE(HTMLe)[isindex]] 要素型は元々の意味からすると
[CODE(HTMLe)[[[head]]]] 内でのみ認められるべきでしたし、
何個あっても意味が変わらないので高々1個だけ認められるべきでした。
しかし、 [CODE(HTMLe)[isindex]] 要素の場所に入力欄を設けるという実装が行われるようになり、
[[文書]]のあらゆる場所に何個でも置けるように[Q[拡張]]されてしまいました。
[13] [[HTML 4]] ではこの要素型を [CODE(SGML)[%[[block]]]]
に分類しています。従って、 [CODE(HTMLe)[[[body]]]]
内の[[行内要素]]しか認められない場所''以外''ほとんどどこにでも書けます。
また、 [[DTD]] 内の[[引数実体]] [CODE(SGML)[%head.content]]
で高々1回記述できると規定しています。つまり、 [CODE(HTMLe)[[[head]]]]
の子供としてどこにでも1回だけ指定できます。
[11] [[XHTML 1.0]] 互換性指針は、 [CODE(HTMLe)[[[head]]]]
内に複数の [CODE(HTMLe)[isindex]]
を入れるのは互換性のため好ましくないとしています
[SRC[XHTML 1.0 C.6]]。
[[XHTML 1.0]] の [[DTD]] をよく見ると [CODE(HTMLe)[isindex]]
が [CODE(XML)[%block;]] に含まれるのはそのままですが、
[CODE(HTMLe)[head]] については [CODE(XML)[%[[head.misc]];]]
に移動していることがわかります。 [[XML]]
の[[内容模型]]の記述能力の限界により、
簡単のため定義の仕方が変わったようです。
これにより、 [CODE(HTMLe)[isindex]]
は [CODE(HTMLe)[head]] 内であっても任意の回数使用できるようになりました。
互換性指針が言っているのはこの変更のことのようです。
[19]
>>11 この変更について[[Bjoern Hoehrmann]]が問い質していますが、
[[Steven Pemberton]]は >>11 のような説明をしています。
それに対して[[Bjoern Hoehrmann]]は、[[DTD]]の変更は他にもあるのにどうしてこれだけ取り上げるのだとたずねていますが、
返答はありません。
;; [CITE[HTML Working Group Voyager Issue Tracking System - XHTML-1.0-SE/8836]]
<http://hades.mn.aptest.com/cgi-bin/voyager-issues/XHTML-1.0-SE>
** HTML5 以前の実装
[14]
[[Firefox]] 1.5では、[CODE(HTMLe)@en[[[isindex]]]][[タグ]]およびその中の[[属性指定]]がそのまま[[DOM]]上の[[要素節点]]および[[属性節点]]として反映されます。表示上は
[PRE(HTML example code)[
<hr>
[VAR@en[prompt text]]<input type="text">
<hr>
]PRE]
のようになります ([[XBL]]では''ない''ようです)。
[VAR@en[prompt text]]は[CODE(HTMLa)@en[[[prompt]]]][[属性値]]か、
なければ[[利用者界面]]と同じ[[言語]]の文章になります。
日本語の場合
> これは検索可能なインデックスです。検索キーワードを入力してください:
になります。
[CODE(HTMLe)@en[[[isindex]]]]に[[CSS]]を適用することは可能ですが、
[CODE(HTMLe)@en[[[hr]]]]''のようなもの''や[CODE(HTMLe)@en[[[input]]]]''のようなもの''には適用できないみたいです。
([[名無しさん]])
[15]
[CODE(DOMa)@en[[[innerHTML]]]]には[CODE(HTMLe)@en[[[isindex]]]]の[[開始タグ]] (とあれば、[[属性指定]]) だけが現れます。
([[名無しさん]])
[16]
[[Opera]] 8.5および[[Opera]] 9 TP1では、[CODE(HTMLe)@en[[[isindex]]]][[開始タグ]]は[[DOM]][[木]]において[CODE(HTMLe)@en[[[isindex]]]][[要素節点]]になり、その[[子供]]として
- [CODE(HTMLe)@en[[[hr]]]][[要素節点]]
- [[テキスト節点]]: [CODE(HTMLa)@en[[[prompt]]]][[属性値]]か、
なければ[[利用者界面]]の[[言語]]の文章
([[英語]]では[Q@en[This is a searchable index]])
- [CODE(HTMLe)@en[[[br]]]][[要素節点]]
- [CODE(HTMLe)@en[[[input]]]][[要素節点]]
-- [CODE(HTMLa)@en[[[type]]]][[属性節点]]: [CODE(HTML)@en[[[text]]]]
-- [CODE(HTMLa)@en[[[size]]]][[属性節点]]: [CODE(HTML)@en[20]]
- [CODE(HTMLe)@en[[[hr]]]][[要素節点]]
が作られます。
[CODE(HTMLe)@en[[[isindex]]]]には[[CSS]]が適用され、
その[[子供]]も通常の方法で[[CSS]]によって[[レンダリング]]されるようです。
[CODE(DOMa)@en[[[innerHTML]]]]には[CODE(HTMLe)@en[[[isindex]]]]の[[開始タグ]] (とあれば、[[属性指定]])
の''後''に、[[内容]]を[[直列化]]したものが現れます。
([[終了タグ]]は現れ''ません''。)
([[名無しさん]])
[17]
[[WinIE 6]]では、[CODE(HTMLe)@en[[[isindex]]]][[開始タグ]]は[[DOM]][[グラフ]]において[CODE(HTMLe)@en[[[form]]]][[要素節点]]と、
その[[子供]]の[[節点]]列:
- [CODE(HTMLe)@en[[[hr]]]][[要素節点]]
- [[テキスト節点]]: [CODE(HTMLa)@en[[[prompt]]]][[属性値]]か、
なければ[[利用者界面]]の[[言語]]の文章。
[[日本語]]の場合[Q[この索引は検索が可能です。検索するキーワードを入力してください。]]。
- [CODE(HTMLe)@en[[[input]]]][[要素節点]]
-- [CODE(HTMLa)@en[[[name]]]][[属性節点]]:
[CODE(HTML)@en[[[isindex]]]]
- [CODE(HTMLe)@en[[[hr]]]][[要素節点]]
となります。[[属性]]は、
- [CODE(HTMLa)@en[[[action]]]][[属性]]があれば、
[[DOM]]では[CODE(HTMLe)@en[[[form]]]][[要素]]に[[指定]]されます。
- [CODE(HTMLa)@en[[[name]]]][[属性]]や[CODE(HTMLa)@en[[[type]]]][[属性]]があっても、[[DOM]]には現れません。
- [CODE(HTMLa)@en[[[prompt]]]][[属性]]は[[テキスト節点]]として現れ、[[属性]]としては[[DOM]]に現れません。
- その他の[[属性]]は[CODE(HTMLe)@en[[[input]]]][[要素節点]]に付されます。
それが[CODE(HTMLe)@en[[[input]]]][[要素]]で有効な[[属性]]であるなら、その効果が現れます。
[[CSS]]による[[レンダリング]]指定は[[DOM]]上の[[要素]]構造に対して適用され、
[CODE(HTMLe)@en[[[isindex]]]][[要素]]への指定は適用されません。
[CODE(DOMa)@en[[[innerHTML]]]]は[[DOM]]上の構造を[[直列化]]したものとなります。
[96] [CODE(DOMm)@en[[[createElement]]]] で作った [CODE(HTMLe)@en[[[isindex]]]]
[[要素]]を [[HTML文書]]に挿入した場合、
- [[Firefox]] 3.5 では [CODE(HTMLe)@en[[[isindex]]]] [[要素]]として機能します
- [[Chrome]] では [CODE(HTMLe)@en[<[[input]] [[type]]=[[text]]>]] のように[[レンダリング]]されます (動きは未検証)
- [[Opera]], [[WinIE]] では何も[[レンダリング]]されません
どの[[ブラウザ]]でも [[DOM]] 上は [CODE(HTMLe)@en[[[isindex]]]] [[要素]]のままです。
;; [TIME[2010-07-24T05:41:57.600Z]]
;; <http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cbody%3E%0A%3Cscript%3E%0A%20%20var%20isindex%20%3D%20document.createElement%20('isindex')%3B%0A%20%20document.body.appendChild%20(isindex)%3B%0A%3C%2Fscript%3E>
;; [97] 普通に [CODE(HTMLe)@en[<[[isindex]]>]] [[開始タグ]]を [[HTML文書]]に書くと
[[Firefox]] 以外は複数の [[HTML]] [[要素]]に展開した状態で [[DOM]]
に現れますから、この結果は頷けます。
[98] [[XHTML]] に [CODE(HTMLe)@en[[[isindex]]]] [[要素]]が含まれる場合、
- [[Firefox]]、[[Opera]] では [CODE(HTMLe)@en[[[isindex]]]] [[要素]]として機能します
-- [[Firefox]] では[[子供]]があっても無視されます
-- [[Opera]] では[[子供]]があると通常の [CODE(HTMLe)@en[[[isindex]]]] の内容の後に[[レンダリング]]されます
- [[Chrome]] では [CODE(HTMLe)@en[<[[input]] [[type]]=[[text]]>]] のように[[レンダリング]]されます (動きは未検証)
-- [[子供]]があっても無視されます
[[DOM]] 上は
- [[Firefox]]、[[Chrome]] では [CODE(HTMLe)@en[[[isindex]]]] [[要素]]のままです
- [[Opera]] では [[HTML]] の時のように[[子要素]]が勝手に作られます
-- 既に[[子供]]などがあるなら、その[[兄]]として挿入されます
という感じです。
;; [TIME[2010-07-24T05:53:38.200Z]]
;; <http://suika.fam.cx/~wakaba/-temp/test/html/isindex/xhtml-1.xhtml>
;; <http://suika.fam.cx/~wakaba/-temp/test/html/isindex/xhtml-with-child-1.xhtml>
[99] >>98 [[Opera]] で挿入される[[要素]]は
[PRE(HTML example code)[
<isindex><hr/>This is a searchable index<br/><input xmlns="text" xml:lang="20"/><hr/></isindex>
]PRE]
のように[[属性]]がちょっとおかしいです。
** [CODE(HTMLe)@en[isindex]] 要素 [CODE(HTMLa)@en[type]] 属性
[92]
[[WebKit]] は、 [CODE(HTMLe)@en[[[isindex]]]] [[開始タグ]]が [[HTML文書]]中に現れると、
代わりに [CODE(HTMLe)@en[[[div]]]] [[要素]]などを [[DOM]]
に挿入しますが、その一部として、入力欄の部分には [CODE(HTMLe)@en[[[isindex]]]]
[[要素]]が挿入され、その [CODE(HTMLa)@en[[[type]]]] [[属性]]は
[CODE(HTML)@en[[[khtml_isindex]]]] となります。
;; [[DOM]] 上の [CODE(HTMLe)@en[[[isindex]]]] [[要素]]は
[CODE(HTMLe)@en[[[input]]]] [CODE(HTMLa)@en[[[type]]]]
[CODE(HTML)@en[[[text]]]] のように[[レンダリング]]されます。
少なくてもレンダリングに関しては、 [CODE(HTMLa)@en[[[type]]]]
[[属性]]の影響はないみたいです。
;; なお、 [CODE(HTMLe)@en[[[isindex]]]] [[開始タグ]]中の[[属性]]は
[[DOM]] の [CODE(HTMLe)@en[[[isindex]]]] [[要素]]に設定されるのですが、
[CODE(HTMLa)@en[[[type]]]] [[属性]]は [CODE(HTML)@en[[[khtml_isindex]]]]
に常になります。
** HTML5
[93] [CITE@en[(X)HTML5 Tracking]]
([TIME[2009-09-29 23:46:06 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=4023&to=4024>
[94] [CITE[Manual pages]]
([TIME[2010-02-14 12:24:02 +09:00]] 版)
<http://costard.lbl.gov/cgi-bin/man/man2html>
[95] [CITE[IRC logs: freenode / #whatwg / 20100311]]
([TIME[2010-03-13 21:41:39 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20100311#l-326>
[100] [CITE@en[HTML5 Revision Tracker]]
([TIME[2010-08-03 08:06:31 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=4935&to=4936>
[103] [CITE[Intent to remove <isindex>. - Google グループ]]
( ([TIME[2013-12-04 19:42:05 +09:00]] 版))
<https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/14q_I06gwg8>
[104] >>103 より
>
Google index files say <isindex> is used 0.000011% of pages as of December 2, 2013.
* 実装
[112] [[Blink]] では >>113 の500行目付近で[[構文解析]]が実装されています。 [CODE(HTMLa)@en[[[prompt]]]]
の値は [CODE[SearchableIndexIntroduction]] を参照しています。その実際の値は >>114 の各[[ロケール]]の [[XML]]
ファイルに [CODE["8141602879876242471"]] という値で含まれています。
[REFS[
- [113] [CITE[Source/core/html/parser/HTMLTreeBuilder.cpp - chromium/blink - Git at Google]] ([TIME[2014-01-02 16:02:11 +09:00]] 版) <https://chromium.googlesource.com/chromium/blink/+/master/Source/core/html/parser/HTMLTreeBuilder.cpp>
-- git clone https://chromium.googlesource.com/chromium/blink
- [114] [CITE@en['''['''chrome''']''' Index of /trunk/src/webkit/glue/resources]] ([TIME[2014-01-02 16:06:16 +09:00]] 版) <http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/resources/> / [CITE[webkit/glue/resources - chromium/chromium - Git at Google]] ([TIME[2014-01-02 16:41:28 +09:00]] 版) <https://chromium.googlesource.com/chromium/chromium/+/trunk/webkit/glue/resources/> / [CITE[chromium/webkit/glue/resources at trunk · mirror/chromium]] ([TIME[2014-01-02 16:43:27 +09:00]] 版) <https://github.com/mirror/chromium/tree/trunk/webkit/glue/resources>
-- git clone http://git.chromium.org/git/chromium.git
]REFS]
[115] [[Gecko]] では >>116 や >>117 の [CODE[IsIndexPromptWithSpace]] が [CODE(HTMLa)@en[[[prompt]]]]
の値です。各[[ロケール]]のファイルが各[[ロケール]]のリポジトリの >>117 と同じディレクトリに入っています。
[REFS[
- [116] [CITE[gecko-dev/dom/locales/en-US/chrome/layout/HtmlForm.properties at master · mozilla/gecko-dev]] ([TIME[2014-01-02 16:09:12 +09:00]] 版) <https://github.com/mozilla/gecko-dev/blob/master/dom/locales/en-US/chrome/layout/HtmlForm.properties>
- [117] [CITE@en-US[ja: dom/chrome/layout/HtmlForm.properties]] ([TIME[2014-01-02 16:07:40 +09:00]] 版) <https://hg.mozilla.org/l10n-central/ja/file/tip/dom/chrome/layout/HtmlForm.properties>
]REFS]
[120] >>119 に [[Gecko]] と [[Chromium]] の各言語のデータを [[JSON]] 化したものがあります。
[REFS[
- [119] [CITE[data-web-defs/data/isindex-prompt.json at master · manakai/data-web-defs]] ([TIME[2014-01-02 17:24:05 +09:00]] 版) <https://github.com/manakai/data-web-defs/blob/master/data/isindex-prompt.json>
]REFS]
[118] [[HTML Standard]] は [CODE(HTMLe)@en[[[isindex]]]] の前後どちらにも文字列を挿入することを認めていますが、
[[Blink]] も [[Gecko]] も前にしか挿入しないようです。 (各[[ロケール]]のデータがそうなっているだけでなく、
[[構文解析器]]に後ろ側に文字列を挿入するコードがありません。 [TIME[2014-01-02T16:12:07.900Z]]
* 例
[8] メッセージつきの例 [SRC[HTML 4 17.8]]
[PRE(HTML)[
<ISINDEX prompt="Enter your search phrase: ">
]PRE]
[CODE(HTMLe)[[[input]]]] を使って書き換えた例 [SRC[HTML 4 17.8、改]]
[PRE(HTML)[
<FORM action="[VAR[...]]" method="get">
<P><LABEL>Enter your search phrase: <INPUT type="text"></LABEL></P>
</FORM>
]PRE]
但し、フォームと索引では[[提出]]方法が異なるので、
この2つの例は交換可能ではありません。
[18]
[[WAIS]]で検索する例:
[PRE(HTML obsolete example code)[
<ISINDEX iPROMPT="Enter WAIS query:"
HREF="wais://net.bio.net/biologists-addresses">
]PRE]
;; 出典: [CITE[Lynx Users Guide v2.7.1]]
<http://leb.net/blinux/blynx/Lynx_users_guide.html#idx>
* 関連
[101] [[CGI]] には [CODE(HTMLe)@en[[[isindex]]]] [[要素]]からの問い合わせのための[[スクリプト命令行]]という機能がありました。
;; [102] [CODE(HTMLe)@en[[[isindex]]]] [[要素]]が使われなくなり、そちらも使われなくなっています。
[121] [CITE[IRC logs: freenode / #whatwg / 20140311]]
( ([TIME[2014-03-12 21:02:53 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20140311#l-429>
[122] [CITE[ncsa-mosaic/CHANGES at master · alandipert/ncsa-mosaic]]
( ([TIME[2014-04-07 05:36:34 +09:00]] 版))
<https://github.com/alandipert/ncsa-mosaic/blob/master/CHANGES#L700>
[123] [CITE[ncsa-mosaic/CHANGES at master · alandipert/ncsa-mosaic]]
( ([TIME[2014-04-07 05:37:10 +09:00]] 版))
<https://github.com/alandipert/ncsa-mosaic/blob/master/CHANGES#L736>
[124] [CITE[ncsa-mosaic/libhtmlw/HTMLformat.c at master · alandipert/ncsa-mosaic]]
( ([TIME[2014-04-07 06:14:01 +09:00]] 版))
<https://github.com/alandipert/ncsa-mosaic/blob/master/libhtmlw/HTMLformat.c#L4710>
[125] これらによると [[Mosaic]] では [CODE(HTMLe)@en[[[form]]]] が実装された時点で
[CODE(HTMLe)@en[[[isindex]]]] も [CODE(HTMLe)@en[[[form]]]] に展開される形になっていたようです。
更にコンパイル時オプションで[[提出ボタン]]つきのものも実装されていたようです (なぜそれが標準にならなかったのかは不明です)。
[126] [CITE[Issue 98743002: Count usage of the obsolete 'isindex' element. - Code Review]]
( ([TIME[2014-08-06 11:48:05 +09:00]] 版))
<https://codereview.chromium.org/98743002>
[127] [CITE@ja[MFSA 2010-76: window.open と <isindex> 要素によるクローム特権昇格]]
( ([TIME[2011-01-08 11:48:21 +09:00]] 版))
<http://www.mozilla-japan.org/security/announce/2010/mfsa2010-76.html>
[128] [CITE[Issue 96653004: Remove support for the obsolete <isindex> tag. - Code Review]]
( ([TIME[2014-08-06 11:49:44 +09:00]] 版))
<https://codereview.chromium.org/96653004/>
[129] [CITE[Issue 182843002: Drop isindex from HTMLTagNames. - Code Review]]
( ([TIME[2014-08-06 11:50:03 +09:00]] 版))
<https://codereview.chromium.org/182843002>
[130] [CITE[Issue 433 - chromium - WebKit should support ISINDEX as it is in the HTML 5 RFC - An open-source project to help move the web forward. - Google Project Hosting]]
( ([TIME[2014-08-06 11:51:44 +09:00]] 版))
<https://code.google.com/p/chromium/issues/detail?id=433>
[131] [CITE[Bug 7139 – Drop support for <isindex>]]
( ([TIME[2014-08-06 11:52:47 +09:00]] 版))
<https://bugs.webkit.org/show_bug.cgi?id=7139>
[132] [CITE[Bug 4574 – HTML parser does not put attributes on the <isindex> element]]
( ([TIME[2014-08-06 11:53:26 +09:00]] 版))
<https://bugs.webkit.org/show_bug.cgi?id=4574>
[133] [CITE[Bug 4828 – <form> element is created for <isindex> outside <form>; that's not correct]]
( ([TIME[2014-08-06 11:53:55 +09:00]] 版))
<https://bugs.webkit.org/show_bug.cgi?id=4828>
[134] [CITE[Bug 18415 – No DOM element created for <isindex> with no other tags in the document]]
( ([TIME[2014-08-06 11:54:19 +09:00]] 版))
<https://bugs.webkit.org/show_bug.cgi?id=18415>
[135] [CITE@ja[HTMLIsIndexElement - Web API インターフェイス | MDN]]
( ([TIME[2014-08-06 11:56:58 +09:00]] 版))
<https://developer.mozilla.org/ja/docs/Web/API/HTMLIsIndexElement>
[136] [CITE[''''''[''''''whatwg'''''']'''''' isindex as a parser macro]]
( ([TIME[2014-04-02 14:09:35 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2010-February/067379.html>
[137] [CITE[''''''[''''''whatwg'''''']'''''' <isindex prompt>]]
( ([TIME[2014-08-06 12:01:00 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2007-February/221248.html>
[138] [CITE[''''''[''''''whatwg'''''']'''''' Form-associated elements and the parser]]
( ([TIME[2014-03-19 17:46:04 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-December/041719.html>
[139] [CITE@en[Web Applications 1.0 r3236 Remove the <p> from 'isindex' parsing.]]
( ([TIME[2009-06-13 07:24:00 +09:00]] 版))
<http://html5.org/r/3236>
[140] [CITE@en[609437 – (CVE-2010-3771) <isindex> doesn't CheckLoadURI]]
( ([TIME[2014-08-06 12:05:43 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=609437>
[141] [CITE@en[3326 – ISINDEX element ignored]]
( ([TIME[2014-08-06 12:07:49 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=3326>
[142] [CITE@en[666665 – Remove isindex content code]]
( ([TIME[2014-08-10 02:07:11 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=666665>
[143] [CITE@en[611352 – Create a HTMLElement when createElement('isindex') is called and the html5 parser is enabled]]
( ([TIME[2014-08-10 02:07:30 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=611352>
[144] [[HTML5構文解析器]]では [CODE(HTMLa)@en[[[type]]]] [[属性]]は無視されずに
[CODE(HTMLe)@en[[[input]]]] [[要素]]に設定されます。ですから
[CODE(HTMLe)@en[[[input]]]] [[要素]]の任意の[[フォーム制御子]]を使うことができます。
[145] [CITE@en[Bug 26689 – Drop isindex?]]
( ([TIME[2014-08-29 08:10:19 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=26689>
[146] [CITE[WWW-Talk 1992: <ISINDEX> and anchor types]]
( ([TIME[2014-08-29 08:10:54 +09:00]] 版))
<http://1997.webhistory.org/www.lists/www-talk.1992/0080.html>
[147] [CITE[indexes as links rather than documents]]
( ([TIME[2013-04-24 01:00:12 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-talk/1992NovDec/0031.html>
[148] [CITE[ISINDEX on documents]]
( ([TIME[2013-04-23 10:25:10 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-talk/1992NovDec/0042.html>
[149] [CITE[Re: ISINDEX on documents]]
( ([TIME[2013-04-19 05:39:32 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-talk/1992NovDec/0044.html>
[150] [CITE[IRC logs: freenode / #whatwg / 20140901]]
( ([TIME[2014-09-02 01:55:37 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20140901#l-339>
[21] [CITE[WWW-Talk Oct-Dec 1993: Mosaic2.0 and ISINDEX]]
([TIME[2015-01-25 00:00:58 +09:00]] 版)
<http://1997.webhistory.org/www.lists/www-talk.1993q4/0493.html>
[22] [CITE@en[libwww-perl/gopher.pm at master · libwww-perl/libwww-perl]]
([TIME[2015-03-16 18:26:37 +09:00]] 版)
<https://github.com/libwww-perl/libwww-perl/blob/master/lib/LWP/Protocol/gopher.pm#L89>