目次に戻る

form要素:HTML Living Standard各要素別メモ

概要

カテゴリー
配置できる場所
内容モデル
  • Flow contentただし、form要素子孫に含んではならない。
  • 必須とはされてないが、Form-associated element子孫に含むことが想定されている。
属性
  • グローバル属性
  • name→当該フォーム名前文字列同一HTML文書内で同じ値をもつform要素が複数あってはならない。
  • accept-charsetフォーム送信するテキスト文字エンコーディングを指定。utf-8以外不可。
  • actionフォーム送信先のURLを指定。デフォルトは、当該フォームが記述されているHTML文書URL
  • autocompleteonoffデフォルトは、on。当該フォームに属する入力コントロールオートコンプリートデフォルトを指定。
  • enctype→値は下記のとおり。フォームのデータ形式を指定。デフォルトは、application/x-www-form-urlencoded
    • application/x-www-form-urlencoded→すべての文字をURLエンコード形式でフォーム送信
    • multipart/form-dataバイナリーデータ形式でフォーム送信ファイルの場合はこれを指定する)。
    • text/plainプレーンテキスト形式でフォーム送信
  • method→値は下記のとおり。フォーム送信形式を指定。デフォルトは、get
    • getURLの一部としてフォーム送信URL末尾に、「?」の後に、「&」区切りで、「送信用名前文字列=送信値」を列挙)。
    • postHTTP通信の本体データとしてフォーム送信
    • dialog→直近の祖先dialog要素の返し値にセットして、ダイアログボックスを閉じる。
  • novalidateブーリアン属性フォーム送信時の制約検証をしない場合に指定する。
  • rel→値は、rel属性値の表で「指定可」とされている値とその他リンク先・リソースとの関係を示す。原則として複数指定不可。
  • target→値は下記のとおり。フォーム送信の結果を表示する場所を指定する場合に指定する。
    • _blank別ウィンドウ又は別タブ
    • _top入れ子閲覧文脈の中で、当該要素が現在属している閲覧文脈の最上位の祖先閲覧文脈
    • _parent入れ子閲覧文脈の中で、当該要素が現在属している閲覧文脈閲覧文脈
    • _self→当該要素が現在属している閲覧文脈
    • その他妥当な閲覧文脈名→「_」(アンダースコア)で始まらない一文字以上の文字列。当該要素が現在属している入れ子閲覧文脈の中又は当該要素が属していない既に開いている別ウィンドウ(もしくは別タブ)に該当する閲覧文脈名のものがあれば、そこに開く。それがなければ、当該閲覧文脈名にて別ウィンドウ又は別タブを開く。

W3C : HTML5.3accept-charset属性値は、utf-8以外も可とされていた。

W3C : HTML5.3:下記の属性が存在してなかった。

  • rel
HTML構文におけるタグの省略
  • 省略不可。
WAI-ARIA
  • アクセス可能な名前を持つ場合は、
    • デフォルトroleは、formデフォルトroleは、role属性値に指定すべきでない。
    • デフォルトrole以外では、searchpresentationnoneを指定可。
  • 上記以外の場合は、
    • デフォルトroleは、なし。
    • デフォルトrole以外では、searchpresentationnoneを指定可。
視覚系ブラウザデフォルトとして期待されるCSS

  form {
    display: block;
    unicode-bidi: isolate;
  }

  /* HTML構文に限る */
  :is(table, thead, tbody, tfoot, tr) > form {display: none !important;}
  
ユーザーエージェントに対する特記事項
  • ユーザーがその選択にしたがってautocomplete属性による設定を無視することができるようにすることができる。
  • 下記の暗黙のフォーム送信機能をサポートすることが強く推奨される。そうでないと機能しないフォームが(残念ながら)現実に存在するためである。
    • デフォルト送信ボタン→当該フォームに所属する最初の送信ボタン
    • 暗黙のフォーム送信をブロックするフィールド→当該フォームに所属するtypetextsearchurltelemailpassworddatetime-localdatemonthweektimenumberinput要素
    • デフォルト送信ボタンがある場合は、暗黙のフォーム送信をブロックするフィールドフォーカスが当たっているときに、ユーザーによる所定の動作(一般的な視覚系ブラウザでは「Enter」キーの押下)があると、デフォルト送信ボタンクリックイベントが発生する。
    • デフォルト送信ボタンがない場合は、暗黙のフォーム送信をブロックするフィールドフォーカスが当たっているときに、ユーザーによる所定の動作(一般的な視覚系ブラウザでは「Enter」キーの押下)があると、
      • 当該フォームに複数の暗黙のフォーム送信をブロックするフィールドが所属している場合は、何も起きない。
      • そうでない場合は、当該フォームフォーム送信する。
  • W3C : HTML5.3autocomplete属性に基づいてオートコンプリート機能を動作させる前に、当該入力コントロールが表示領域内に表示されていることを確認すべきであるとされていた。
HTML extension

method属性値に下記を追加。詳細は、HTML Form HTTP Extensionsを参照。

  • connectconnectメソッドフォーム送信
  • tracetraceメソッドフォーム送信
  • tracktrackメソッドフォーム送信
意味・用法

処理のためにサーバーにフォーム送信できる編集可能な値を表すことができるものを含むForm-associated elementの集まりを内容とするフォームを表す。

アクセシビリティ関連

私見・補足

インターネットにおけるデータ送信手段の一つ。

アクセス可能な名前の有無で、デフォルトroleの取扱いが異なるというのはよく分からない。アクセス可能な名前があろうがなかろうが、form要素の素の役割は、form以外の何物でもないと思うのだが。

表示確認

input要素button要素dialog要素を参照。