[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]]

* 構文解析

[38] [CODE[isindex]] [[要素]]は完全に廃止され、
[[Webブラウザー]]も未知の [[HTML要素]]と扱うようになりました。

[HISTORY[
[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]]]] としての機能は持ちません。
]HISTORY]

* [CODE(HTMLe)@en[input]] 要素の [CODE(HTMLa)@en[name]] 「[CODE(HTML)@en[isindex]]」

[39] かつては[[コントロール名]] [CODE[isindex]] は特別扱いされていました。
現在は特殊な動作のない普通の値となっています。

[HISTORY[
[111] [CODE(HTMLe)@en[[[isindex]]]] [[要素]]が展開された[[要素]]のひとつは [CODE(HTMLe)@en[[[input]]]]
[[要素]]で、 [CODE(HTMLa)@en[[[name]]]] [[属性]]が [DFN[[CODE(HTML)@en[[[isindex]]]]]] となります。
これは[[フォーム提出]]の際に特別に扱われます (>>109)。それによって旧来の [CODE(HTMLe)@en[[[isindex]]]]
[[要素]]の動作がエミュレートされています。
]HISTORY]

;; [[フォームの提出]]、[CODE(MIME)@en[application/x-www-form-urlencoded]] を参照。

* 例

[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]]]] [[要素]]が使われなくなり、そちらも使われなくなっています。

* 歴史

** 誕生

[40] [[HTML 1991]]



[41] [CITE@en[Elements/isindex - HTML Wiki]], [TIME[2024-09-28T06:26:13.000Z]], [TIME[2023-02-16T09:50:44.328Z]] <https://web.archive.org/web/20230216093940/https://www.w3.org/html/wiki/Elements/isindex>


[FIG(data)[ [43] [[HTML要素概説]]

:[F[要素名]]:[CODE[isindex]]
:技術史文献:[SRC[>>42]]
:出典:
[REFS[

- [42] 
[DFN[HTMLWiki:isindex]]:
[CITE@en[Elements/isindex - HTML Wiki]], 
This page was last modified on [TIME(.published)[14 December 2010, at 21:35][2010-12-14T21:35]].,
[TIME[2024-09-28T06:25:30.000Z]], [TIME[2023-02-16T09:50:01.232Z]] <https://web.archive.org/web/20230216093940/https://www.w3.org/html/wiki/Elements/isindex>

]REFS]

]FIG]


** 変質

[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]]]] が使いづらいというわけでもないのですが、
どうしてこうも拡張されてしまったのでしょうと思わずにはいられません。

[44] 
[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]] ではないと思うんですがねぇ。

[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]]]] に展開される形になっていたようです。
更にコンパイル時オプションで[[提出ボタン]]つきのものも実装されていたようです (なぜそれが標準にならなかったのかは不明です)。

[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>

[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>

** 文脈

[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.

[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>

** HTML5時代の実装

[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]]

[144] [[HTML5構文解析器]]では [CODE(HTMLa)@en[[[type]]]] [[属性]]は無視されずに
[CODE(HTMLe)@en[[[input]]]] [[要素]]に設定されます。ですから
[CODE(HTMLe)@en[[[input]]]] [[要素]]の任意の[[フォーム制御子]]を使うことができます。

** 削除へ

[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>

[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>

[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>

[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>

[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>

[FIG(quote)[
[FIGCAPTION[
[23] [CITE@en[Bug 28326 – Remove isindex parsing logic]]
([TIME[2015-03-29 16:34:26 +09:00]] 版)
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=28326>
]FIGCAPTION]

> in Microsoft's Project Spartan, we've followed Blink's lead for interop.

]FIG]


[24] [CITE@en[Remove <isindex> and <input name=isindex> · whatwg/html@5c44abc]]
([TIME[2016-04-25 17:27:50 +09:00]] 版)
<https://github.com/whatwg/html/commit/5c44abc734eb483f9a7ec79da5844d2fe63d9c3b>

[25] [CITE@en[1266495 – Consider removing <isindex> from the parser and form submission]]
([TIME[2016-04-25 17:31:05 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=1266495>

[26] [CITE@en[1266495 – Consider removing <isindex> from the parser and form submission]]
([TIME[2016-04-25 17:36:48 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=1266495>

[27] [CITE@en[Bug 7139 – Drop support for <isindex>]]
([TIME[2016-04-25 17:38:43 +09:00]] 版)
<https://bugs.webkit.org/show_bug.cgi?id=7139>

[28] [CITE@en[Bug 4574 – HTML parser does not put attributes on the <isindex> element]]
([TIME[2016-04-25 17:40:10 +09:00]] 版)
<https://bugs.webkit.org/show_bug.cgi?id=4574>

[29] [CITE@en[Bug 4828 – <form> element is created for <isindex> outside <form>; that's not correct]]
([TIME[2016-04-25 17:40:30 +09:00]] 版)
<https://bugs.webkit.org/show_bug.cgi?id=4828>

[30] [CITE@en[Bug 18415 – No DOM element created for <isindex> with no other tags in the document]]
([TIME[2016-04-25 17:40:53 +09:00]] 版)
<https://bugs.webkit.org/show_bug.cgi?id=18415>

[31] [CITE@en[Remove isindex handling from application/x-www-form-urlencoded · whatwg/url@c85fb5d]]
([TIME[2016-04-27 16:46:20 +09:00]] 版)
<https://github.com/whatwg/url/commit/c85fb5d527f822e089aecc9207f077c6b886aed5>

[FIG(quote)[
[FIGCAPTION[
[32] [CITE[Isindex]]
([TIME[2005-03-29 09:07:42 +09:00]])
<http://www.blooberry.com/indexdot/html/tagpages/i/isindex.htm>
]FIGCAPTION]

> Netscape 6 Beta Warning: Support for this element was not added to Mozilla/Netscape 6 until Beta 3 - in Betas 1 and 2 this element was not supported at all.

]FIG]


[FIG(quote)[
[FIGCAPTION[
[33] [CITE[Isindex]]
([TIME[2005-03-29 09:07:42 +09:00]])
<http://www.blooberry.com/indexdot/html/tagpages/i/isindex.htm>
]FIGCAPTION]

> The beta versions of Internet Explorer 4.0 did not support this element at all - the final version of IE 4.0, however, supported it again.

]FIG]


[FIG(quote)[
[FIGCAPTION[
[34] [CITE[ISINDEX]]
([TIME[1997-05-14 19:51:13 +09:00]])
<http://www.am.ics.keio.ac.jp/~wataru/WWW/CGI/isindex.html>
]FIGCAPTION]

> <ISINDEX>$B%?%0$N;HMQNc$H$7$F!"  
> #!/bin/sh
> echo "Content-type: text/html"
> echo
> echo "<HTML><HEAD>"
> echo "<TITLE>test</TITLE>"
> echo "<ISINDEX>"
> echo "</HEAD>"
> echo "<BODY>"
> echo "<H1>$1<H1>"
> echo "</BODY></HTML>"

]FIG]


[35] [CITE@en[Make <input name=isindex> non-conforming]]
([[sideshowbarker]]著, [TIME[2016-07-28 16:23:05 +09:00]])
<https://github.com/whatwg/html/commit/1bbba21f381ef95f826986b7d17992bd8f82573b>

[36] [CITE@en[1266495 - Consider removing <isindex> from the parser and form submission '''['''tor 18914''']''']]
([TIME[2017-07-14 22:31:48 +09:00]])
<https://bugzilla.mozilla.org/show_bug.cgi?id=1266495>

[37] [CITE@en-CA[<isindex> support has been dropped | Firefox Site Compatibility]]
([TIME[2017-07-14 11:34:19 +09:00]])
<https://www.fxsitecompat.com/en-CA/docs/2017/isindex-support-has-been-dropped/>