[1] [ABBR[[[HTML]]] [ハイパーテキスト・マーク付け言語]] 
の[DFN[[RUBYB[フォーム] [form]]]]とは、
通常の[[内容]]、[[マーク]]、[DFN[[RUBY[[[制御子]]] [コントロール] [control]]]]と呼ぶ特殊な要素、
制御子の[RUBY[[[札]]] [ラベル]]からなる文書の部分です。
[[利用者]]は普通、制御子を編集することによってフォームを[Q[埋]]めてから、
フォームを提出します。

[2] 仕様書:
- [[HTML 4]]
-- [CITE[Forms in HTML documents]] <IW:HTML4:"interact/forms.html">
-- [CITE[B.6 Notes on forms]]
<IW:HTML4:"appendix/notes.html#notes-forms">
-- [CITE[B.10 Notes on security]]
<IW:HTML4:"appendix/notes.html#notes-security">

[3]
:フォームの[RUBY[[[再設定]]] [リセット] [reset]]:
フォームを再設定すると、[[制御子]]の[[現在値]]は[[初期値]]に戻されます。
初期値がない時の挙動は未定義です。 [SRC[HTML 4 17.2]]
:フォームの[RUBYB[[[提出]]] [submit]]:
フォームを提出すると、[[成功]]制御子の名前と現在値の組が[DFN[フォーム処理エージェント]]に渡されます。
[SRC[HTML 4 17.2, 17.13]]

* 概念

[17] 次のような概念や機能があります。
[FIG(short list)[
- [[フォーム制御子]]
-- [[ボタン]]
--- [[既定のボタン]]
- [[フォームの提出]]
- [[フォームデータ集合]]
]FIG]

* レンダリング

[5]
[[WWWブラウザ]]が頁を読み込みながら徐々に[[レンダリング]]していると、
その頁に含まれるフォームも当然徐々にレンダリングされていくことになります。
しかし、 [ABBR[[[UA]]] [[[利用者エージェント]]]] は、
フォーム全体をレンダリングするまで[[利用者]]がフォームを[[提出]]できないようにするべきです。
[[クライアント側スクリプト]]が使われている時にも、
フォームの絡みでうまく動作しなくなる虞があります。
[SRC[HTML 4 B.6.1]]

また、タブ移動 ([CODE(HTMLa)[[[tabindex]]]]) にも注意が必要です。
[SRC[HTML 4 B.6.1]]

[[#comment]]


** 法律に関して

[6] フォーム自体は純粋に技術ですが、そのフォームの使い方により[[法律]]に関する問題が関係することがよくあります。
例えば、[[日本国]]の法律が適用される場合、
[[個人情報]]を扱うのであれば[[個人情報保護法]]に注意する必要があります。
また、[[通信販売]]等の[[商取引]]の目的で使用するのであれば、
[[特定商取引に関する法律]]に基づく表示が必要かもしれません。

[[鯖]]や[[事業者]]や[[利用者]] ([[顧客]]) の所在地など、場合によっては複数の[[国]]・
[[地域]]の[[法律]]や[[条例]]などの対象になることがあるかもしれません。

[[#comment]]


** 安全性に関して

[7]
'''なりすまし''':
[[フォーム]]が含まれる部分を特定の 
[WEAK[(信頼できると思われている有名企業や公的機関、あるいは銀行や通販サイトなどの)]]
[[Webサイト]]の構成や特定のシステム
([[Webブラウザ]]や[[オペレーティング・システム]]の機能など)
の[[画面]]に見せかけたりして、実際の怪しい情報送信先を偽る手口が取られることがよくあります。
[WEAK[(一般に[[利用者]]が常にあらゆることに注意を払い続けることは困難なので、[[フォーム]]ではなく単純な[[リンク]]を用意するだけでも怪しい [[Web頁]]への誘導に十分利用可能です。)]]

[[Web]] が普及して多くの (知識の乏しい) 人も利用するようになったり、
[[商取引]]に利用されることが多くなったりしたこともあり、
近年このような[Q[[[なりすまし]]]]行為の温床となる機能や実装方法自体も
[[Webブラウザ]]等の[[脆弱性]]とみなされるようになっています。

しかし、単体の [[Webブラウザ]]の対策は進んでいますが、
仕様上回避不能な場合もありますし、 [[Webブラウザ]]以外の用途が主のソフトウェアに
[[Webブラウザ]]機能が組込まれている場合は対策が十分でないこともあります。

特に問題が起こり得ると考えられるのは[[電子メイル]]で
[[HTML]] などの[[フォーム]]を利用した場合です。
[[電子メイル]]の送信元情報などは容易に詐称可能なことや、
[[フォーム]]の[[提出]]先の情報を明示しない実装が一般的なことから、
信頼できる送信元からの情報提供依頼に偽装し、
しかも (知識の乏しい) 閲覧者に信頼させることが比較的容易です。

[8]
[[電子メイル]]に[[フォーム]]を含めて送信し、
[[受信者]]に[[提出]]させる方法は現在のところ然程使われていませんから、
[[電子メイル]]の[[利用者エージェント]]は[[フォーム]]を無効にするのがよいかもしれません。
ただ、正しく使えば非常に有益な機能なだけに、
安全対策のために利用できなくなるのは残念なことでもあります。


* HTML 以外の類似したフォーム技術

[FIG(short list)[ [24] [[フォーム]]
- [[XForms]]
- [[jForm]]
- [[PDFフォーム]]
- [CODE[https://schema.org/Action]]
- [[XFDL]]
- [[XFA]]
]FIG]

* 歴史

[4] ウェブのフォームのおおよその進化の過程:
[PRE[
         簡易版フォーム      完全版フォーム      追加機能              関連規格
                                                 isindex
                             HTML+
                               ↓
                             HTML 3
          HTML 2.0  ←←←← (I-D, W3C WD)       file upload
          (RFC 1866)           ↓                (RFC 1867)
            ↓  ↓             ↓                keygen (NN)
      HTML 3.2  HTML 2.x       ↓
     (W3C Rec)  (RFC 2070)→ HTML 4 (Web Forms 1.0)
         ↓                  (W3C Rec)           device-upload
         ↓                    ↓                (W3C Submission)
         ↓                  XHTML 1.0           自動補完 (WinIE 他)   ime-mode (WinIE)
         ↓                  (W3C Rec)           入力制御 (携帯電話)
    Basic        XHTML m12n    ↓                                       XForms 1.0
    Forms Module  (W3C Rec)  Forms Module                               (W3C Rec)
                               ↓
                             Web Forms 2.0                              CSS3
                             (WHAT WD)                                  (W3C Drafts)
]PRE]

** フォームの誕生



-[72] ''WWW-Talk 1992: ISINDEX on documents'' <http://www.webhistory.org/www.lists/www-talk.1992/0291.html>
-- [70] 
[CITE[WWW-Talk 1992: ISINDEX on documents]], 
[DATA(.author)[[[KHOADLEY]]]],
[TIME(.published)[Fri, 13 Nov 92 09:42:56 GMT][1992-11-13T09:42:56+00:00]],
[TIME[2024-10-06T12:05:37.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1992/0291.html>

[71] 
>>72
多分最初の [CODE(HTMLe)[input]] 要素の提案。 [CODE(HTMLe)[[[isindex]]]] 
要素の汎用版として。この時は [[TimBL]] がちょっとなぁって感じで HTML 
仕様には入っていない。



[FIG(data)[ [73] [[HTML要素概説]]

:[F[要素名]]:[CODE[isindex]]
:[F[要素名]]:[CODE[input]]
:[F[要素名]]:[CODE[doneinput]]
:日付:[TIME[1992-11-13]]
:説明:
[TIME[1992-11-13]]、
[[Kevin Hoadley]]
は
[[www-talk]]
への投稿で、
[CODE[isindex]]
の改良として
[CODE[input]],
[CODE[doneinput]]
を提案した。
[CODE[doneinput]] は[[提出ボタン]]を表す。
:出典:
[REFS[

-
[DFN[ISINDEXDocs]]:
[CITE@en[ISINDEX on documents]], 
[DATA(.author)[[[KHOADLEY]]]],
[TIME(.published)[Fri, 13 Nov 92 09:42:56 GMT][1992-11-13T09:42:56+00:00]],
[TIME[2024-10-06T12:05:37.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1992/0291.html>

]REFS]

]FIG]


- [63] 
[CITE[interactive hypermedia]], 
[[Jim Whitescarver]],
Fri, 27 Nov 92 15:53:44 est,
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-29T09:54:04.784Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0124.html>




[29] 
[CITE[WWW-Talk 1992: Searching]], [TIME[2024-08-13T06:04:29.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1992/0466.html>

[30] 
[CITE[WWW-Talk Jan-Mar 1993: Re: Searching]], [TIME[2024-08-13T06:05:21.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q1/0005.html>

[31] 
[CITE[WWW-Talk Jan-Mar 1993: INPUT tag (was: Searching)]], [TIME[2024-08-13T06:07:46.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q1/0079.html>

[65] 
このうち [CODE[var]] について、 [[DanC]] は否定的な見解を示していました。
文書の一部分ではなく全体として [CODE[head]] の[[属性]]とするのがいいのではないかとしていました。
[SRC[>>42]]

;; [66] 後に似た名前の別の提案が出ました。 [SEE[ [[<variable>]] ]]

- [42] [CITE[The spec evolves...]], [TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-29T10:06:25.314Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0155.html>



[FIG(data)[ [41] [[HTML要素概説]]

:[F[要素名]]:[CODE[input]]
:日付:[TIME[1992-11-27]]
:説明:
[TIME[1992-11-27]]、
[[NJIT]] 
の
[[Jim Whitescarver]]
は
[[www-talk]]
への投稿で、
[CODE[input]]
の実装意向を示した。検索語を入力させるものだった。
[SRC[>>75]]
:出典:
[REFS[

- [75] 
[CITE@en[interactive hypermedia]], 
[DATA(.author)[[[Jim Whitescarver]]]],
[TIME(.published)[Fri, 27 Nov 92 15:53:44 est][1992-11-27T15:53:44-05:00]],
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-29T09:54:04.784Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0124.html>

]REFS]
:注釈:
-
[DFN[NJIT]]
[[New Jersey Institute of Technology]]。


]FIG]

[FIG(data)[ [216] [[HTML要素概説]]

:[F[要素名]]:[CODE[var]]
:日付:[TIME[1992-11-27]]
:説明:
[TIME[1992-11-27]]、
[[NJIT]]
の
[[Jim Whitescarver]]
は
[[www-talk]]
への投稿で、
[CODE[var]]
の実装意向を示した。キャッシュ制御のため可変部分を示すものだった。
[SRC[>>64]]
:出典:
[REFS[

- [64] 
[DFN@en[InteractiveHyper]]:
[CITE@en[interactive hypermedia]], 
[DATA(.author)[[[Jim Whitescarver]]]],
[TIME(.published)[Fri, 27 Nov 92 15:53:44 est][1992-11-27T15:53:44-05:00]],
[TIME[2003-08-04T15:50:21.000Z]], [TIME[2024-09-29T09:54:04.784Z]] <https://lists.w3.org/Archives/Public/www-talk/1992NovDec/0124.html>

]REFS]
:参照:[CODE[variable]]
:参照:[CODE[output]]
:参照:[CODE[input]]

]FIG]


[28] 
[CITE[WWW-Talk Jan-Mar 1993: Re: INPUT tag (was: Searching)]], [TIME[2024-08-13T06:02:32.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q1/0083.html>


[27] 
[CITE[WWW-Talk Jan-Mar 1993: Re: QueryForms and Input tag]], [TIME[2024-08-13T06:00:22.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q1/0088.html>


[FIG(data)[ [43] [[HTML要素概説]]

:[F[要素名]]:[CODE[queryform]]
:[F[要素名]]:[CODE[recall]]
:[F[要素名]]:[CODE[if]]
:[F[要素名]]:[CODE[input]]
:日付:[TIME[1993-01-19]]
:説明:
[TIME[1993-01-19]]、
[[Dan Connolly]]
は
[[www-talk]]
への投稿で、
[[Jim Whitescarver]]
案への返信として、
[[フォーム]]機能案を示した。
[CODE[input]]
はより現行のものに近づいた。
[CODE[queryform]] 
は
[CODE[recall]],
[CODE[if]]
などを使った[[照会]]文の雛形を 
[CODE[head]]
内で記述する。
[SRC[>>74]]
[[XForms]]
の
[CODE[model]]
に近い。
:出典:
[REFS[

-
[74] 
[DFN[INPUTDan]]:
[CITE@en[Re: INPUT tag (was: Searching)]], 
[DATA(.author)[[[Dan Connolly]]]],
[TIME(.published)[Tue, 19 Jan 93 00:37:01 CST][1993-01-19T00:37:01-06:00]],
[TIME[2024-08-13T07:09:51.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q1/0083.html>




]REFS]


]FIG]


[25] 
[CITE[WWW-Talk Jan-Mar 1993: QueryForms and Input tag]], [TIME[2024-08-13T05:58:09.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q1/0085.html>


[26] 
[CITE[WWW-Talk Jan-Mar 1993: Re Re QueryForms and Input tag]], [TIME[2024-08-13T05:59:29.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q1/0089.html>



[FIG(data)[ [44] [[HTML要素概説]]

:[F[要素名]]:[CODE[input]]
:[F[要素名]]:[CODE[select]]
:[F[要素名]]:[CODE[choice]]
:日付:[TIME[1993-01-19]]
:説明:
[TIME[1993-01-19]]、
[[Dave Raggett]]
は
[[www-talk]]
への投稿で、
[[Dan Connolly]]
案への返信として、
[[フォームコントロール]]の要件を整理し、
[CODE[input]],
[CODE[select]],
[CODE[choice]]
の案を提示した。
[CODE[choice]] は現在の [CODE[option]] に当たる。
:出典:
[REFS[

-
[DFN[QueryFormsInput:Dave]]:
[CITE@en[QueryForms and Input tag]], 
[DATA(.author)[[[Dave Raggett]]]],
[TIME(.published)[Tue, 19 Jan 93 15:59:34 GMT][1993-01-19T15:59:34+00:00]],
[TIME[2024-08-13T07:15:54.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q1/0085.html>





]REFS]


]FIG]



[32] 
[CITE[WWW-Talk Jan-Mar 1993: Re: INPUT tag (was: Searching)]], [TIME[2024-08-13T06:11:37.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q1/0093.html>


[45] 
[CITE[WWW-Talk Apr-Jun 1993: HTML+ DTD in ftp://info.cern.ch/pub/www/dev/htmlplus.dtd]], [TIME[2024-08-13T07:32:21.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q2/0430.html>



[FIG(data)[ [46] [[HTML要素概説]]

:[F[要素名]]:[CODE[input]]
:[F[要素名]]:[CODE[select]]
:日付:[TIME[1993-06-02]]
:説明:
[TIME[1993-06-02]]、
[CITE[HTML+]] [[DTD]]
に、
[CODE[input]],
[CODE[select]]
が追加された。
[SEE[>>67]]
:出典:
[REFS[

- 
[CITE[HTML+ DTD in ftp://info.cern.ch/pub/www/dev/htmlplus.dtd]], 
[DATA(.author)[[[Dave Raggett]]]],
[TIME(.published)[Wed, 2 Jun 93 13:01:14 BST][1993-06-02T13:01:14+00:00]],
[TIME[2024-08-13T08:49:24.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q2/0430.html>


]REFS]
:注釈:
-
[67] 
当時の版は現存せず、
[CODE[choice]] なのか [CODE[option]] なのか、
[CODE[form]] はあったのかは不明。


]FIG]



[FIG(data)[ [50] [[HTML要素概説]]

:[F[要素名]]:[CODE[form]]
:[F[要素名]]:[CODE[input]]
:日付:[TIME[1993-07-13]]
:説明:
[TIME[1993-07-13]]版 [CITE[HTML+]] [[DTD]]
に、
[CODE[form]],
[CODE[input]]
がある。
[SRC[HTML+19930713]]
現行仕様に近いが、違いもある。

]FIG]

[FIG(data)[ [68] [[HTML要素概説]]

:[F[要素名]]:[CODE[mh]]
:日付:[TIME[1993-07-13]]
:説明:
[TIME[1993-07-13]]版 [CITE[HTML+]] [[DTD]]
に
[CODE[mh]]
がある。
[SRC[HTML+19930713]]
現在の
[CODE(URL)[mailto:]]
[[URL]] の
[CODE(URL)[subject]] [[引数]]に当たる。

]FIG]


[33] 
[CITE[WWW-Talk Jul-Sep 1993: Submitting input-form data to server]], [TIME[2024-08-13T06:18:08.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q3/0810.html>


[FIG(data)[ [48] [[HTML要素概説]]

:[F[要素名]]:[CODE[form]]
:[F[要素名]]:[CODE[input]]
:日付:[TIME[1993-07-30]]
:説明:
[TIME[1993-07]]の [[WWWWW]]
で入力フォーム機能も議論された。
その詳細は伝わらないが、
[CODE[form]],
[CODE[input]]
がほぼ現在の形で合意されたらしい。
[[ViolaWWW]]
がこれを直ちに実装した。
:出典:
[REFS[

-
[DFN[SubmittingData]]:
[CITE@en[Submitting input-form data to server]], 
[DATA(.author)[[[Pei Y. Wei]]]],
[TIME(.published)[Sat, 4 Sep 93 19:31:48 -0700][1993-09-04T19:31:48-07:00]],
[TIME[2024-08-13T08:07:20.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q3/0810.html>

]REFS]

]FIG]




[47] 
[CITE[WWW-Talk Jul-Sep 1993: Submitting input-form data to server]], [TIME[2024-08-13T07:38:38.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q3/0812.html>





[34] 
[CITE[WWW-Talk Jul-Sep 1993: Fill-out form support]], 
[TIME[1993-09-05]],
[TIME[2024-08-13T06:19:21.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q3/0816.html>

[35] 
[CITE[WWW-Talk Jul-Sep 1993: suggestion for form/ismap handling]], [TIME[2024-08-13T06:21:13.000Z]] <http://1997.webhistory.org/www.lists/www-talk.1993q3/0968.html>

- 
[36] [CITE[Mosaic for X version 2.0 Fill-Out Form Support]], [TIME[2024-08-13T06:22:18.000Z]], [TIME[1996-12-20T10:05:20.384Z]] <https://web.archive.org/web/19961220100435/http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/fill-out-forms/overview.html>
-[38] 
[CITE[Mosaic for X version 2.0 Fill-Out Form Support]], [TIME[1994-04-06T20:36:29.000Z]], [TIME[2024-08-13T06:24:29.950Z]] <https://www.w3.org/MarkUp/html-test/ncsa/forms-overview.html>


[37] >>36 は >>34 から参照されているが、現存最古が >>36。
>>38 はそれと同内容で、時刻が1994年。

[39] 
>>36
は
[CITE[Mosaic for X version 2.0]]
の新機能紹介。
>>40 は
[CITE[Mosaic for X version 2.0]]
の公開を伝える[TIME[1993-11-10]]のメール。


- [40] [CITE[EMail Msg <9311100824.AA01715@wintermute.ncsa.uiuc.edu>]], [TIME[1995-08-08T03:22:20.000Z]], [TIME[2024-08-13T06:25:58.615Z]] <https://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q4.messages/444.html>

[51] 
>>34 はその投稿数時間前に大きく変わったといっていて、そのしばらく後に
prerelease 3 が出るという。
prerelease 2 にもフォーム機能は含まれていて、 3 とはかなり違ったものだったということか。

[52] [CITE[What's New, October 1993]], [TIME[2024-08-13T08:41:42.000Z]], [TIME[1996-12-20T06:49:45.453Z]] <https://web.archive.org/web/19961220064730/http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/old-whats-new/whats-new-1093.html>

[53] >>52 [TIME[1993-10-02]]条に

> [I[Note: This page requires fill-out forms support as found in Mosaic 2.0 prerelease 4 or later.]]

とある。 prerelease 3 と 4 の間にも機能追加があったものか。

[54] >>52 [TIME[1993-10-21]]条に

> If you are using Mosaic 2.0 prerelease 6,[SNIP[]]

とある。すると prelease 6 でも変更があった可能性がある。


[FIG(data)[ [55] [[HTML要素概説]]

:[F[要素名]]:[CODE[form]]
:[F[要素名]]:[CODE[mh]]
:[F[要素名]]:[CODE[input]]
:[F[要素名]]:[CODE[textarea]]
:[F[要素名]]:[CODE[select]]
:[F[要素名]]:[CODE[option]]
:日付:[TIME[1993-10-28]]
:説明:
[TIME[1993-10-28]]版 [CITE[HTML+]] に、 
[CODE[form]],
[CODE[mh]],
[CODE[input]],
[CODE[textarea]],
[CODE[select]],
[CODE[option]]
がある。
[SRC[HTML+19931028]]

]FIG]



[FIG(data)[ [49] [[HTML要素概説]]

:[F[要素名]]:[CODE[form]]
:[F[要素名]]:[CODE[input]]
:[F[要素名]]:[CODE[select]]
:[F[要素名]]:[CODE[option]]
:[F[要素名]]:[CODE[textarea]]
:[F[要素名]]:[CODE[isindex]]
:日付:[TIME[1993-11-10]]
:説明:
[TIME[1993-11-10]]頃公開された
[[NCSA Mosaic 2.0]]
は、
[CODE[form]],
[CODE[input]],
[CODE[select]],
[CODE[option]],
[CODE[textarea]]
を実装していた。
現行仕様である。
これより前の prerelease 版から実装されていた。
[CODE[isindex]]
は
[CODE[form]]
をエミュレートする形で再実装された。
:出典:
[REFS[

-
[DFN[MOSAIC20:Form]]:
[CITE@en[Mosaic for X version 2.0 Fill-Out Form Support]], 
[TIME(.published)[1994-04-06T20:36:29.000Z]], 
[TIME[2024-08-13T08:31:19.113Z]] <https://www.w3.org/MarkUp/html-test/ncsa/forms-overview.html>


]REFS]

]FIG]

[61] 
[CITE[Index of /MarkUp/html-test/ncsa]], [TIME[2024-09-07T11:57:18.000Z]] <https://www.w3.org/MarkUp/html-test/ncsa/>


[FIG(data)[ [69] [[HTML要素概説]]

:[F[要素名]]:[CODE[form]]
:[F[要素名]]:[CODE[input]]
:[F[要素名]]:[CODE[select]]
:[F[要素名]]:[CODE[option]]
:[F[要素名]]:[CODE[textarea]]
:日付:[TIME[1994-04-07]]
:説明:
[TIME[1994-04-07]]、 
[[HTML DTD]] 
に
[CODE[form]],
[CODE[input]],
[CODE[select]],
[CODE[option]],
[CODE[textarea]]
が追加された。
[SRC[HTML19940407]]

]FIG]



[62] 
[CITE[Index of /MarkUp/html-test/forms]], [TIME[2024-09-07T11:58:17.000Z]] <https://www.w3.org/MarkUp/html-test/forms/>



** HTML4

[21] [[HTML 4]] 仕様書は、 既知の問題点として、
特に次のことを 
[WEAK[(もしかしたら将来の規格で改善するかもしれない例として)]] 
取り上げています。

[22] [[HTML 4]] 仕様書 [CITE[B.6.2 Future projects]]
<IW:HTML4:"appendix/notes.html#h-B.6.2">

- フォーム欄の種類が現代的な [ABBR[[[UI]]][[[利用者界面]]]]
に比べて少ない。例えば表データやスライド器や複数頁配置の機能が無い。
- 鯖が提出したフォームの欄の値を更新できず、
HTML 文書全体を送らなければならない。
- [[音声ブラウザ]]で[[視覚障害者]]がフォームと[[対話]]するのに問題がある。
- [[[CODE(HTMLe)[input]]//[CODE(HTML)[image]]]]
で[[クライアント側画像写像]]を使えるように [CODE(HTMLa)[[[usemap]]]]
属性を追加するのがよいかも。位置に対応する [CODE(HTMLe)[[[area]]]]
要素が鯖に渡す値を提供する。鯖側のスクリプトを修正しなくて済むように、
[CODE(HTMLe)[area]] が座標を提供できるよう拡張するのが適当かも。

[56] 
[CITE@EN-US[Forms Overview]], [[InetSDK]], [TIME[2024-08-17T06:23:27.000Z]], [TIME[2000-11-09T23:03:22.924Z]] <https://web.archive.org/web/20001109225300/http://msdn.microsoft.com/workshop/author/forms/formsoverview.asp>


[59] 
[CITE[User Agent Authentication Form Elements]], [TIME[2017-10-02T10:21:59.000Z]], [TIME[2024-08-25T04:14:38.886Z]] <https://www.w3.org/TR/1999/NOTE-authentform-19990203>



[FIG(data)[ [60] [[HTML要素概説]]

:[F[要素名]]:[CODE[authform]]
:日付:[TIME[1999-02-03]]
:説明:
[TIME[1999-02-03]]に
[[Agranat Systems, Inc.]]
と
[[Microsoft Corporation]]
が [[W3C]] に提出した仕様案に、
[CODE[authform]]
がある。
認証フォームを表す。
:出典:
[REFS[

-
[DFN[AUTHFORM]]:
[CITE@en[User Agent Authentication Form Elements]], 
[DATA(.author)[[[Agranat Systems, Inc.]]]],
[DATA(.author)[[[Microsoft Corporation]]]],
[DATA(.status)[[[W3C Note]]]],
[TIME(.published)[03 Feb 1999][1999-02-03]],
[TIME[2017-10-02T10:21:59.000Z]], [TIME[2024-08-25T04:14:38.886Z]] <https://www.w3.org/TR/1999/NOTE-authentform-19990203>

]REFS]
:参照:[CODE[form]]

]FIG]


*** Web Forms 1.0

[20] [DFN[Web Forms 1.0]] は、 [[HTML 4.01]] の[[フォーム]]機能の通称です。
[[Web Forms 2.0]] に対する拡張前という意味で使われることがあった語です。

** HTML 以外


[FIG(data)[ [58] [[HTML要素概説]]

:[F[要素名]]:[CODE[input]]
:[F[要素名]]:[CODE[select]]
:[F[要素名]]:[CODE[option]]
:[F[要素名]]:[CODE[optgroup]]
:[F[要素名]]:[CODE[fieldset]]
:借用先:[[WML1]]

]FIG]


** HTML5


[FIG(data)[ [57] [[HTML要素概説]]

:[F[要素名]]:[CODE[form]]
:[F[要素名]]:[CODE[input]]
:日付:[TIME[2005-12]]
:説明:
[TIME[2005-12]]の [[Google検索]]のデータベースを使った調査によると、
[[要素]]の利用数第18, 19位が
[CODE[form]],
[CODE[input]]
だった。
:出典:
[REFS[

-
[CITE[Google Code: Web Authoring Statistics: Pages and elements]], 
[DATA(.author)[[[Ian Hickson]]]],
[TIME(.published)[2006]],
[TIME[2024-08-24T07:08:22.000Z]], [TIME[2006-02-03T03:49:06.745Z]] <https://web.archive.org/web/20060203033128/http://code.google.com/webstats/2005-12/pages.html>

]REFS]

]FIG]



* メモ

[9]
[Q[[CODE[*]] がついた項目は必須です]]のようになってることが多い中、逆に[Q[[CODE[*]] がついた項目は任意です]]なこともあって紛らわしい。

([[名無しさん]] [WEAK[2006-10-30 23:57:10 +00:00]])

* Web Forms

[10] [DFN[Web Forms]] は、[[ウェブ]]で用いられている
[[HTML]] の[[フォーム]]の仕組みです。

[11] 
[DFN[[[Web Forms 1.0]]]] は、 [[HTML 4]] のフォームの章で定義されたフォーム機能です。

元々の HTML 4 版と、そのまま [[XML]] に移植した [[XHTML 1.0]]
版、 [[XHTML m12n]] の [[Forms]] モジュールの大きく3種類がありますが、
いずれも本質的には同じです。

[12] 
[DFN[[[Web Forms 2.0]]]] は、 [[WHAT]] が提案する拡張されたフォーム機能です。
Web Forms 2.0 と既存の [[UA]] 
のフォーム関連の拡張に加えて様々な新機能が含められています。
HTML 4 の拡張と XHTML 1 モジュールの2種類の使い方ができます。

[13] ところで、 Web Forms 1.0 は初代のフォーム ([[HTML 2.0]] 版 ≒
[[HTML 3.2]] 版) にファイル[[うp]]とか [CODE(HTMLe)[[[fieldset]]]]
とかを追加したものなのですけど、初代の方にも誰か番号を付けてくれないのですかね?
0.0 とか 0.5 とか? [[HTTP]] のように 0.9 というのもありかも。

XHTML m12n [[Basic Forms]] モジュール (HTML 3.2 版 + [CODE(HTMLe)[[[label]]]])
にもついでに番号を振ってもらえるといいかもとか。

[14] [CITE@en-GB-x-Hixie[Web Forms 2.0]]
([TIME[2009-01-05 20:07:15 +09:00]] 版)
<http://www.whatwg.org/specs/web-forms/current-work/#forms>

[15] [CITE@ja[使いやすさ日記: 672. Googleが作るとクレジット決済Webフォームはこうなる]]
( ([TIME[2011-02-26 13:52:58 +09:00]] 版))
<http://usability.ueyesdesign.co.jp/diary/672_googleweb.html>

[16] [CITE@en-US[XBL 2.0]]
( ([TIME[2012-05-03 02:23:03 +09:00]] 版))
<http://dev.w3.org/2006/xbl2/Overview.html#html-forms>

[FIG(quote)[
[FIGCAPTION[
[18] [CITE[DocBook 5.x Customizations]]
([TIME[2015-11-14 18:20:15 +09:00]] 版)
<http://docbook.org/schemas/5x-custom.html>
]FIGCAPTION]

> This is a community project; it is not an official product of the DocBook Technical Committee.
> The “forms” schema adds HTML forms elements to DocBook.

]FIG]


[FIG(quote)[
[FIGCAPTION[
[19] [CITE@en[Google Online Security Blog: Next Steps Toward More Connection Security]]
([TIME[2017-05-04 09:56:34 +09:00]])
<https://security.googleblog.com/2017/04/next-steps-toward-more-connection.html>
]FIGCAPTION]

>  Beginning in October 2017, Chrome will show the “Not secure” warning in two additional situations: when users enter data on an HTTP page, and on all HTTP pages visited in Incognito mode.

]FIG]


[23] [CITE@en[New in Chrome 62  |  Web  |  Google Developers]]
([TIME[2017-10-18 04:02:40 +09:00]])
<https://developers.google.com/web/updates/2017/10/nic62>