* フォーム (HTML, XHTML 1)
[1] [ABBR[[[HTML]]][ハイパーテキスト・マーク付け言語]]
の[DFN[[RUBYB[フォーム][form]]]]とは、
通常の[[内容]]、[[マーク]]、[DFN[[RUBY[[[制御子]]][コントロール][control]]]]と呼ぶ特殊な要素、
制御子の[RUBY[[[札]]][ラベル]]からなる文書の部分です。
[[利用者]]は普通、制御子を編集することによってフォームを[Q[埋]]めてから、
フォームを提出します。
[2] 仕様書:
- [[HTML 4]]
-- [CITE[Forms in HTML documents]]
-- [CITE[B.6 Notes on forms]]
-- [CITE[B.10 Notes on security]]
[3]
:フォームの[RUBY[[[再設定]]][リセット][reset]]:
フォームを再設定すると、[[制御子]]の[[現在値]]は[[初期値]]に戻されます。
初期値がない時の挙動は未定義です。 [SRC[HTML 4 17.2]]
:フォームの[RUBYB[[[提出]]][submit]]:
フォームを提出すると、[[成功]]制御子の名前と現在値の組が[DFN[フォーム処理エージェント]]に渡されます。
[SRC[HTML 4 17.2, 17.13]]
[[#comment]]
** 歴史
[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]
[[#comment]]
** レンダリング
[5]
[[WWWブラウザ]]が頁を読み込みながら徐々に[[レンダリング]]していると、
その頁に含まれるフォームも当然徐々にレンダリングされていくことになります。
しかし、 [ABBR[[[UA]]][[[利用者エージェント]]]] は、
フォーム全体をレンダリングするまで[[利用者]]がフォームを[[提出]]できないようにするべきです。
[[クライアント側スクリプト]]が使われている時にも、
フォームの絡みでうまく動作しなくなる虞があります。
[SRC[HTML 4 B.6.1]]
また、タブ移動 ([CODE(HTMLa)[[[tabindex]]]]) にも注意が必要です。
[SRC[HTML 4 B.6.1]]
[[#comment]]
** 法律に関して
[6] フォーム自体は純粋に技術ですが、そのフォームの使い方により[[法律]]に関する問題が関係することがよくあります。
例えば、[[日本国]]の法律が適用される場合、
[[個人情報]]を扱うのであれば[[個人情報保護法]]に注意する必要があります。
また、[[通信販売]]等の[[商取引]]の目的で使用するのであれば、
[[特定商取引に関する法律]]に基づく表示が必要かもしれません。
[[鯖]]や[[事業者]]や[[利用者]] ([[顧客]]) の所在地など、場合によっては複数の[[国]]・
[[地域]]の[[法律]]や[[条例]]などの対象になることがあるかもしれません。
[[#comment]]
** メモ
[[#comment]]
* メモ