[1] HTML
のフォームとは、
通常の内容、マーク、制御子と呼ぶ特殊な要素、
制御子の札からなる文書の部分です。
利用者は普通、制御子を編集することによってフォームを埋
めてから、
フォームを提出します。
[2] 仕様書:
[17] 次のような概念や機能があります。
[5] WWWブラウザが頁を読み込みながら徐々にレンダリングしていると、 その頁に含まれるフォームも当然徐々にレンダリングされていくことになります。 しかし、 UA は、 フォーム全体をレンダリングするまで利用者がフォームを提出できないようにするべきです。 クライアント側スクリプトが使われている時にも、 フォームの絡みでうまく動作しなくなる虞があります。 HTML 4 B.6.1
また、タブ移動 (tabindex
) にも注意が必要です。
HTML 4 B.6.1
[6] フォーム自体は純粋に技術ですが、そのフォームの使い方により法律に関する問題が関係することがよくあります。 例えば、日本国の法律が適用される場合、 個人情報を扱うのであれば個人情報保護法に注意する必要があります。 また、通信販売等の商取引の目的で使用するのであれば、 特定商取引に関する法律に基づく表示が必要かもしれません。
鯖や事業者や利用者 (顧客) の所在地など、場合によっては複数の国・ 地域の法律や条例などの対象になることがあるかもしれません。
[7] なりすまし: フォームが含まれる部分を特定の (信頼できると思われている有名企業や公的機関、あるいは銀行や通販サイトなどの) Webサイトの構成や特定のシステム (Webブラウザやオペレーティング・システムの機能など) の画面に見せかけたりして、実際の怪しい情報送信先を偽る手口が取られることがよくあります。 (一般に利用者が常にあらゆることに注意を払い続けることは困難なので、フォームではなく単純なリンクを用意するだけでも怪しい Web頁への誘導に十分利用可能です。)
Web が普及して多くの (知識の乏しい) 人も利用するようになったり、
商取引に利用されることが多くなったりしたこともあり、
近年このようななりすまし
行為の温床となる機能や実装方法自体も
Webブラウザ等の脆弱性とみなされるようになっています。
しかし、単体の Webブラウザの対策は進んでいますが、 仕様上回避不能な場合もありますし、 Webブラウザ以外の用途が主のソフトウェアに Webブラウザ機能が組込まれている場合は対策が十分でないこともあります。
特に問題が起こり得ると考えられるのは電子メイルで HTML などのフォームを利用した場合です。 電子メイルの送信元情報などは容易に詐称可能なことや、 フォームの提出先の情報を明示しない実装が一般的なことから、 信頼できる送信元からの情報提供依頼に偽装し、 しかも (知識の乏しい) 閲覧者に信頼させることが比較的容易です。
[8] 電子メイルにフォームを含めて送信し、 受信者に提出させる方法は現在のところ然程使われていませんから、 電子メイルの利用者エージェントはフォームを無効にするのがよいかもしれません。 ただ、正しく使えば非常に有益な機能なだけに、 安全対策のために利用できなくなるのは残念なことでもあります。
[4] ウェブのフォームのおおよその進化の過程:
簡易版フォーム 完全版フォーム 追加機能 関連規格 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)
[71]
>>72
多分最初の input
要素の提案。 isindex
要素の汎用版として。この時は TimBL がちょっとなぁって感じで HTML
仕様には入っていない。
[29] WWW-Talk 1992: Searching, http://1997.webhistory.org/www.lists/www-talk.1992/0466.html
[30] WWW-Talk Jan-Mar 1993: Re: Searching, http://1997.webhistory.org/www.lists/www-talk.1993q1/0005.html
[31] WWW-Talk Jan-Mar 1993: INPUT tag (was: Searching), http://1997.webhistory.org/www.lists/www-talk.1993q1/0079.html
[65]
このうち var
について、 DanC は否定的な見解を示していました。
文書の一部分ではなく全体として head
の属性とするのがいいのではないかとしていました。
>>42
[28] WWW-Talk Jan-Mar 1993: Re: INPUT tag (was: Searching), http://1997.webhistory.org/www.lists/www-talk.1993q1/0083.html
[27] WWW-Talk Jan-Mar 1993: Re: QueryForms and Input tag, http://1997.webhistory.org/www.lists/www-talk.1993q1/0088.html
[25] WWW-Talk Jan-Mar 1993: QueryForms and Input tag, http://1997.webhistory.org/www.lists/www-talk.1993q1/0085.html
[26] WWW-Talk Jan-Mar 1993: Re Re QueryForms and Input tag, http://1997.webhistory.org/www.lists/www-talk.1993q1/0089.html
[32] WWW-Talk Jan-Mar 1993: Re: INPUT tag (was: Searching), http://1997.webhistory.org/www.lists/www-talk.1993q1/0093.html
[45] WWW-Talk Apr-Jun 1993: HTML+ DTD in ftp://info.cern.ch/pub/www/dev/htmlplus.dtd, http://1997.webhistory.org/www.lists/www-talk.1993q2/0430.html
[33] WWW-Talk Jul-Sep 1993: Submitting input-form data to server, http://1997.webhistory.org/www.lists/www-talk.1993q3/0810.html
[47] WWW-Talk Jul-Sep 1993: Submitting input-form data to server, http://1997.webhistory.org/www.lists/www-talk.1993q3/0812.html
[34] WWW-Talk Jul-Sep 1993: Fill-out form support, , http://1997.webhistory.org/www.lists/www-talk.1993q3/0816.html
[35] WWW-Talk Jul-Sep 1993: suggestion for form/ismap handling, http://1997.webhistory.org/www.lists/www-talk.1993q3/0968.html
[37] >>36 は >>34 から参照されているが、現存最古が >>36。 >>38 はそれと同内容で、時刻が1994年。
[39] >>36 は Mosaic for X version 2.0 の新機能紹介。 >>40 は Mosaic for X version 2.0 の公開を伝えるのメール。
[51] >>34 はその投稿数時間前に大きく変わったといっていて、そのしばらく後に prerelease 3 が出るという。 prerelease 2 にもフォーム機能は含まれていて、 3 とはかなり違ったものだったということか。
[52] What's New, October 1993, , https://web.archive.org/web/19961220064730/http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/old-whats-new/whats-new-1093.html
Note: This page requires fill-out forms support as found in Mosaic 2.0 prerelease 4 or later.
とある。 prerelease 3 と 4 の間にも機能追加があったものか。
If you are using Mosaic 2.0 prerelease 6,
とある。すると prelease 6 でも変更があった可能性がある。
[61] Index of /MarkUp/html-test/ncsa, https://www.w3.org/MarkUp/html-test/ncsa/
[62] Index of /MarkUp/html-test/forms, https://www.w3.org/MarkUp/html-test/forms/
[21] HTML 4 仕様書は、 既知の問題点として、 特に次のことを (もしかしたら将来の規格で改善するかもしれない例として) 取り上げています。
[22] HTML 4 仕様書 B.6.2 Future projects IW:HTML4:"appendix/notes.html#h-B.6.2"
input
//image
でクライアント側画像写像を使えるように usemap
属性を追加するのがよいかも。位置に対応する area
要素が鯖に渡す値を提供する。鯖側のスクリプトを修正しなくて済むように、
area
が座標を提供できるよう拡張するのが適当かも。[56] Forms Overview, InetSDK, , https://web.archive.org/web/20001109225300/http://msdn.microsoft.com/workshop/author/forms/formsoverview.asp
[59] User Agent Authentication Form Elements, , https://www.w3.org/TR/1999/NOTE-authentform-19990203
[20] Web Forms 1.0 は、 HTML 4.01 のフォーム機能の通称です。 Web Forms 2.0 に対する拡張前という意味で使われることがあった語です。
[9]
のようになってることが多い中、逆に*
がついた項目は必須です
なこともあって紛らわしい。*
がついた項目は任意です
(名無しさん 2006-10-30 23:57:10 +00:00)
[10] Web Forms は、ウェブで用いられている HTML のフォームの仕組みです。
[11] Web Forms 1.0 は、 HTML 4 のフォームの章で定義されたフォーム機能です。
元々の HTML 4 版と、そのまま XML に移植した XHTML 1.0 版、 XHTML m12n の Forms モジュールの大きく3種類がありますが、 いずれも本質的には同じです。
[12] 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とか fieldset
とかを追加したものなのですけど、初代の方にも誰か番号を付けてくれないのですかね?
0.0 とか 0.5 とか? HTTP のように 0.9 というのもありかも。
XHTML m12n Basic Forms モジュール (HTML 3.2 版 + label
)
にもついでに番号を振ってもらえるといいかもとか。
[14] Web Forms 2.0 ( 版) http://www.whatwg.org/specs/web-forms/current-work/#forms
[15] 使いやすさ日記: 672. Googleが作るとクレジット決済Webフォームはこうなる ( ( 版)) http://usability.ueyesdesign.co.jp/diary/672_googleweb.html
[16] XBL 2.0 ( ( 版)) http://dev.w3.org/2006/xbl2/Overview.html#html-forms
[23] New in Chrome 62 | Web | Google Developers () https://developers.google.com/web/updates/2017/10/nic62