HTML / Element / Initial coverage

<input>要素

状態: 初期Coverage 対象: HTML Living Standard 確認日: 2026-09-11

Technical Summary

input要素は、通常はユーザーがデータを編集するためのフォームコントロールを伴うtyped data fieldを表します。type属性はenumerated attributeであり、その状態がデータ型・関連するコントロール・適用可能な属性やAPIを選びます。

typeが省略された場合と無効な値の場合の既定状態はTextです。Hidden状態だけは、通常の入力コントロールとは異なるcategoryと適用範囲を持ちます。

Structure / Content model

項目仕様上の整理
Contextphrasing contentが期待される場所
Content modelNothing
Tag omission終了タグなし。inputはvoid element
基本的な意味typed data field。具体的な意味はtype状態に依存

したがって、inputの中にテキストや子要素を入れて意味を補うことはできません。表示上の説明はlabelなど周囲の要素で関連付けます。

type状態とVariant

状態の例データの意味関連するコントロール
Hidden任意の文字列表示用コントロールなし
Text / Search改行を含まない文字列テキストまたは検索コントロール
Email / URL / Passwordメールアドレス、絶対URL、機密性のある文字列テキストコントロール(Passwordは入力を隠す)
Date / Month / Week / Timeタイムゾーンなしの日付・時刻の値日付・時刻コントロール
Number / Range数値。Rangeは厳密値が重要でないことも表すテキスト・spinner・slider等
Checkbox / Radio定義済み集合の選択、または列挙値checkbox / radio button
File / Submit / Image / Reset / Buttonファイル、送信、画像座標、リセット、ボタンの各状態状態に対応する専用コントロール

これは単なる見た目の切替ではありません。仕様は状態ごとに、content attribute、IDL attribute、method、eventの適用可否を定義します。

<input type="email" name="address">
<input type="checkbox" name="topics" value="html">
<input type="date" name="published-on">

Enumerated attributeとしての type

typeは任意の文字列をそのまま意味として採用する属性ではなく、定義済みkeywordから状態を選ぶenumerated attributeです。値がない場合と無効な値の場合はText状態になります。未知の値を指定しても、独自の新しいinput状態は作成されません。

条件選択される状態注意点
type省略Text通常の1行テキスト入力として扱う
定義済みkeyword対応する状態状態ごとの適用表と個別仕様を確認する
未知または無効な値Text値そのものを新しい状態として解釈しない

Form-associated / Category

inputはform-associated elementです。ただし、type状態によってcategoryが変わります。

状態主なcategory / 関連性
Hidden以外flow、phrasing、interactive、listed、labelable、submittable、resettable、form-associated、palpable
Hiddenflow、phrasing、listed、submittable、resettable、form-associated。interactive、labelable、palpableとしては扱わない

同じ要素名だからといって、すべての状態が同じUI・アクセシビリティ・イベント・フォーム処理を持つわけではありません。

Attributes / Constraint validation

  • nameはフォーム送信で使用する名前と、form.elements APIでの参照に関係します。
  • valuecheckedfilesなどは、選択された状態に応じた値・状態を表します。
  • requiredpatternminmaxstepminlengthmaxlengthなどは、状態ごとに適用範囲と検証方法が定義されます。
  • disabledreadonlyautocompletelistなども、すべての状態で同じ意味を持つとは限りません。

制約検証の対象になるかどうかは、属性名の一覧だけでは決まりません。状態、disabled・readonly等の条件、値の型、フォーム送信処理を合わせて確認する必要があります。

const field = document.querySelector('input');
field.type;
field.value;
field.validity;
field.checkValidity();

Labelとの関係

labelableな状態では、label要素のforinputidを対応させるexplicit association、またはlabelの子孫に置くimplicit associationを使えます。placeholderはlabelの代替ではありません。

<label for="email">メールアドレス</label>
<input id="email" name="email" type="email" autocomplete="email">

DOM Interface

input要素はHTMLInputElementとして公開されます。共通のvaluetypeだけでなく、checkedfilesvalueAsDatevalueAsNumbervaliditylabelsstepUp()など、状態に依存するAPIを持ちます。

Fact / Evidence(主張 / 根拠)

主要Factを、適用条件・確認状態・仕様上の根拠位置と対応付けています。未完了の範囲は下のCoverage / Open Issuesに残しています。

主要Factと根拠位置
種別Fact / 主張条件・範囲状態根拠
SPECtype属性が、inputの状態と状態ごとの意味・処理を選びます。属性が省略・無効、または定義済みkeywordの場合。確認済みHTML Standard: type states
SPECtypeを省略した場合や無効な値の場合は、Text状態が選ばれます。missing-value defaultまたはinvalid-value defaultが適用される場合。確認済みHTML Standard: type states
SPECinputはvoid elementであり、子要素を持てません。すべてのinput状態で終了タグを持たない構造。確認済みHTML Standard: the input element
SPEClabelとの関連付けは、labelableな状態でexplicitまたはimplicit associationを使います。label[for]と一致するid、またはlabelの子孫に置く方法。確認済みHTML Standard: the label element
SPECconstraint validationと適用可能なAPIは、選択された状態と条件に依存します。状態、disabled・readonly、値の型、form contextを合わせて確認する場合。確認済みHTML Standard: constraint validation

Evidence

  1. HTML Standard: The input element — 意味、category、content model、属性、DOM interface
  2. HTML Standard: States of the type attributetypeの各状態、適用範囲、状態別処理
  3. HTML Standard: The label element — labelable controlとの関連付け
  4. HTML Standard: Form control infrastructure — form-associated、constraint validation、フォームコントロールの共通基盤

Implementation Evidence

仕様上の主張とは別に、ブラウザー実装・WPT・アクセシビリティ観測を記録します。未実施の項目は確認済みとは扱いません。

共通fixture / 記録: <form id="evidence-form" method="get">内に、type省略のinputfor/idによる明示関連、labelinputの暗黙関連、requireddisabledsubmitとtype省略のbuttonを配置しました。環境: Chrome 152.0.0.0(Windows NT 10.0) / 確認日 2026-09-12。

input要素の実装Evidence登録表
種別再現確認の範囲記録する条件状態
IMPLtype既定値、label関連付け、form owner、constraint validation、disabled state共通fixtureをChrome 152.0.0.0 / Windows NT 10.0で確認。type省略はtext、明示・暗黙のinputは各labels.length=1、form ownerはevidence-form、requiredは:invalid、disabledは:disabledに一致しました。確認済み(Chrome 1台)
WPTtype state、label、validationに関係するテストとの対応対応候補: default-type.htmlinput-labels.htmlinput-checkvalidity.html。2026-09-15 / Chrome 152.0.0.0 / Windows NT 10.0 / wpt.liveで3件を実行し74/74 pass。選定外のWPTと他ブラウザーは未評価部分実行(74/74 pass)
AAMlabelから導かれるaccessible name、required・disabled stateのブラウザーAX観測同じfixtureのAccessibility treeで、明示・暗黙label付きinputがそれぞれ「Explicit name」「Implicit email」のtext fieldとして表示され、required fieldとdisabled fieldも表示されました。観測済み(Chrome AX)

WPTの対応付けにはWPTリポジトリ、アクセシビリティの基準にはHTML-AAMを参照します。

Coverage / Open Issues

  • 確認済みtyped data field、typeの状態選択、void要素、主要category、labelとの関係、HTMLInputElementの概要
  • 未完了全type状態についての属性適用表、値サニタイズ、変換規則、イベントの完全な追跡
  • 未完了フォーム送信のentry list生成、successful controls、form-associated要素間の処理順序
  • 未完了ARIA・platform accessibility mapping、ブラウザー別実装結果、WPT、歴史的変更

このページは初期Coverageです。確認済みの範囲を示すものであり、input要素全体の検証完了や公開可能性を主張しません。

Related surface

初心者向けのtypeの選び方、label、フォーム例はYugienのinput要素ページを参照してください。labelable要素との関連付けとaccessible nameはAtlasのlabel要素、リンクの条件とactivation behaviorはAtlasのa要素で確認できます。