input 要素

4.10.4 input 要素

Status: Working draft

カテゴリー
フロー・コンテンツ
フレージング・コンテンツ
type 属性が Hidden 状態にない場合:インタラクティブ・コンテンツ
リストされ、ラベル付け可能で、サブミット可能で、リセット可能フォーム関連要素
この要素を使うことができるコンテキスト:
フレージング・コンテンツが期待される場所
コンテンツモデル:
Empty.
コンテンツ属性:
グローバル属性
accept
alt
autocomplete
autofocus
checked
disabled
form
formaction
formenctype
formmethod
formnovalidate
formtarget
height
list
max
maxlength
min
multiple
name
pattern
placeholder
readonly
required
size
src
step
type
value
width
DOMインタフェース:
interface HTMLInputElement : HTMLElement {
           attribute DOMString accept;
           attribute DOMString alt;
           attribute boolean autocomplete;
           attribute boolean autofocus;
           attribute boolean defaultChecked;
           attribute boolean checked;
           attribute boolean disabled;
  readonly attribute HTMLFormElement form;
  readonly attribute FileList files;
           attribute DOMString formAction;
           attribute DOMString formEnctype;
           attribute DOMString formMethod;
           attribute boolean formNoValidate;
           attribute DOMString formTarget;
           attribute DOMString height;
           attribute boolean indeterminate;
  readonly attribute HTMLElement list;
           attribute DOMString max;
           attribute unsigned long maxLength;
           attribute DOMString min;
           attribute boolean multiple;
           attribute DOMString name;
           attribute DOMString pattern;
           attribute DOMString placeholder;
           attribute boolean readOnly;
           attribute boolean required;
           attribute unsigned long size;
           attribute DOMString src;
           attribute DOMString step;
           attribute DOMString type;
           attribute DOMString defaultValue;
           attribute DOMString value;
           attribute Date valueAsDate;
           attribute float valueAsNumber;
  readonly attribute HTMLOptionElement selectedOption;
           attribute DOMString width;

  void stepUp(in long n);
  void stepDown(in long n);

  readonly attribute boolean willValidate;
  readonly attribute ValidityState validity;
  readonly attribute DOMString validationMessage;
  boolean checkValidity();
  void setCustomValidity(in DOMString error);

  readonly attribute NodeList labels;

  void select();
           attribute unsigned long selectionStart;
           attribute unsigned long selectionEnd;
  void setSelectionRange(in unsigned long start, in unsigned long end);
};

input 要素は、タイプ付けされたデータ・フィールドを表します。通常は、ユーザーがデータを編集することができるようにするためのフォーム・コントロールです。

type 属性は、要素のデータ・タイプ(そして関連のコントロール)を制御するものです。これは、列挙属性です。次の表は、この属性のキーワードを状態を示したものです。左のカラムにあるキーワードは、そのキーワードと同じ行の 2 番目の列のセルにある状態に対応します。

キーワード 状態 データ・タイプ コントロール・タイプ
hidden Hidden 任意の文字列 該当なし
text Text 改行無しのテキスト テキスト・フィールド
search Search 改行無しのテキスト 検索フィールド
tel Telephone 改行なしのテキスト テキスト・フィールド
url URL 絶対 IRI テキスト・フィールド
email E-mail メールアドレス、または、そのリスト テキスト・フィールド
password Password 改行なしのテキスト(機密情報) 入力データが何か分からないようにするテキスト・フィールド
datetime Date and Time タイム・ゾーンが UTC にセットされた日付けと時間(年、月、日、時、分、秒、小数点以下の秒) 日時コントロール
date Date タイムゾーン無しの日付(年、月、日) 日付コントロール
month Month タイムゾーン無しの年月 月コントロール
week Week タイムゾーン無しで、week-year number と week number から構成されるデータ 週コントロール
time Time タイムゾーン無しの時間(時、分、秒、小数点以下の秒) 時間コントロール
datetime-local Local Date and Time タイムゾーン無しの日時(年、月、日、時、分、秒、小数点以下の秒) 日時コントロール
number Number 数値 テキスト・フィールド、または、スピナー・コントロール
range Range 数値。ただし、正確な値が重要とならないというセマンティクスも持ちます。 スライダー・コントロール、または、それに類似したもの。
color Color 8 ビットの赤、緑、青のコンポーネントを持つ sRGB 色選択
checkbox Checkbox 事前に定義されたリストからの 0 個以上の値のセット チェック・ボックス
radio Radio Button 列挙値 ラジオ・ボタン
file File Upload 0 個以上のファイル。それぞれ、MIME タイプと任意でファイル名を伴います。 ラベルとボタン
submit Submit Button 列挙値で、それは選択された最後の値で、フォーム・サブミットを開始しなければならない、というセマンティクスも持ちます。 ボタン
image Image Button イメージのサイズに対する座標。それは選択された最後の値で、フォーム・サブミットを開始しなければならない、というセマンティクスも持ちます。 クリッカブルなイメージ、または、ボタンのいずれか
reset Reset Button 該当なしボタン
button Button 該当なしボタン

指定がなかった場合のデフォルトは、Text 状態です。

accept, alt, autocomplete, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, list, max, maxlength, min, multiple, pattern, readonly, required, size, src, step, width 属性のどれが input 要素に適用できるかは、その type 属性の状態に依存します。同様に、checked, files, valueAsDate, valueAsNumber, list, selectedOption DOM 属性と、stepUp() そして stepDown() メソッドは、その状態に特化したものです。下表は非規定ですが、どのコンテンツ属性、DOM 属性、メソッドが、どの状態に適用できるのかをまとめたものです:

Hidden Text, Search, URL, Telephone E-mail Password Date and Time, Date, Month, Week, Time Local Date and Time, Number Range Color Checkbox, Radio Button File Upload Submit Button Image Button Reset Button, Button
accept · · · · · · · · · Yes · · ·
alt · · · · · · · · · · · Yes ·
autocomplete · Yes Yes Yes Yes Yes Yes Yes · · · · ·
checked · · · · · · · · Yes · · · ·
formaction · · · · · · · · · · Yes Yes ·
formenctype · · · · · · · · · · Yes Yes ·
formmethod · · · · · · · · · · Yes Yes ·
formnovalidate · · · · · · · · · · Yes Yes ·
formtarget · · · · · · · · · · Yes Yes ·
height · · · · · · · · · · · Yes ·
list · Yes Yes · Yes Yes Yes Yes · · · · ·
max · · · · Yes Yes Yes · · · · · ·
maxlength · Yes Yes Yes · · · · · · · · ·
min · · · · Yes Yes Yes · · · · · ·
multiple · · Yes · · · · · · Yes · · ·
pattern · Yes Yes Yes · · · · · · · · ·
placeholder · Yes Yes Yes · · · · · · · · ·
readonly · Yes Yes Yes Yes Yes · · · · · · ·
required · Yes Yes Yes Yes Yes · · Yes Yes · · ·
size · Yes Yes Yes · · · · · · · · ·
src · · · · · · · · · · · Yes ·
step · · · · Yes Yes Yes · · · · · ·
width · · · · · · · · · · · Yes ·
checked · · · · · · · · Yes · · · ·
files · · · · · · · · · Yes · · ·
value value value value value value value value value default/on filename default default default
valueAsDate · · · · Yes · · · · · · · ·
valueAsNumber · · · · Yes Yes Yes · · · · · ·
list · Yes Yes · Yes Yes Yes Yes · · · · ·
selectedOption · Yes Yes · Yes Yes Yes Yes · · · · ·
select() · Yes Yes Yes · · · · · · · · ·
selectionStart · Yes Yes Yes · · · · · · · · ·
selectionEnd · Yes Yes Yes · · · · · · · · ·
setSelectionRange() · Yes Yes Yes · · · · · · · · ·
stepDown() · · · · Yes Yes Yes · · · · · ·
stepUp() · · · · Yes Yes Yes · · · · · ·
input event · Yes Yes Yes Yes Yes Yes Yes · · · · ·
change event · Yes Yes Yes Yes Yes Yes Yes Yes Yes · · ·

input 要素の type 属性の状態が変わるときや、その要素が最初に生成されるとき、その要素のレンダリングとビヘイビアは、それに応じて、その新しい状態のものに変更されなければいけません。そして、その type 属性の新しい状態に対して定義されたら、値サニタイゼーション・アルゴリズムが呼び出されなければいけません。

それぞれの input 要素はを持ちます。それは、value DOM 属性でアクセスできます。いくつかの状態は、文字列を数値に変換するアルゴリズム数値を文字列に変換するアルゴリズム文字列を Date オブジェクトに変換するアルゴリズム、そして、Date オブジェクトを文字列に変換するアルゴリズムを定義します。これらは、max, min, step, valueAsDate, valueAsNumber, stepDown(), stepUp()によって利用されます。

それぞれの input 要素は、論理値の汚染値フラグを持ちます。それが true のとき、その要素は汚染値を持つと言います。汚染値は、その要素が生成されるとき、当初は false にセットされなければいけません。そして、ユーザーがを変更するような操作をしたら必ず true にセットされなければいけません。

value コンテンツ属性は、その input 要素のデフォルトのを与えます。value コンテンツ属性が追加されたりセットされたり削除されると、そのコントロールは汚染値を持っていないなら、ユーザーエージェントは、その要素のを、その value コンテンツ属性の値があれば、その値となるようセットし、そうでなければ空文字列となるようセットしなければいけません。それから、現在の値サニタイゼーション・アルゴリズムが定義されていれば、それを実行しなければいけません。

それぞれの input 要素は、チェック状態を持ちます。それは、checked DOM 属性からアクセスできます。

それぞれの input 要素は、論理値の汚染チェック状態フラグを持ちます。それが true のとき、その要素は、汚染チェック状態を持つと言います。汚染チェック状態フラグは、その要素が生成されるとき、当初は false にセットされなければいけません。そして、ユーザーがチェック状態を変更するような操作をしたら必ず trueにセットされなければいけません。

checked コンテンツ属性は、input 要素のデフォルトのチェック状態を与える論理属性です。checked コンテンツ属性が追加されるとき、そのコントロールが汚染チェック状態を持たないなら、ユーザーエージェントは、その要素のチェック状態を true にしなければいけません。checked コンテンツ属性が削除されるとき、そのコントロールが汚染チェック状態を持たないなら、ユーザーエージェントは、その要素のチェック状態を false にしなければいけません。

input 要素のリセット・アルゴリズムは、汚染値フラグ汚染チェック状態フラグを false に戻します。value コンテンツ属性の値があれば、それをその要素の値となるようセットし、なければ空文字列となるようセットします。その要素が checked コンテンツ属性を持つなら、その要素のチェック状態を true とし、なければ false とします。それから、その type 属性の現在の状態が定義されていれば、値サニタイゼーション・アルゴリズムを呼び出します。

それぞれの input 要素は、論理値のミュータビリティ・フラグを持ちます。これが true のとき、その要素はミュータブルであると言います。これが false のとき、その要素はイミュータブルであると言います。それ以外のものが指定されない限り、input 要素は常にミュータブルです。それ以外のものが指定されない限り、ユーザーエージェントは、ユーザーがその要素のチェック状態を変更できるようにするべきではありません。

input 要素が無効であるとき、それはミュータブルです。

input 要素が、その祖先のひとつとして Document を持たないなら(つまり、それがドキュメントの中にないなら)、それはイミュータブルです。

readonly 属性も、input 要素をイミュータブルにする場合があります(例えば、Date 状態だけれども Checkbox 状態でない場合)。

form 属性は、その input 要素を、そのフォーム・オーナーに明示的に関連付けるために使います。name 属性は、その要素の名前を表します。disabled 属性は、そのコントロールが機能しないようにして、その値がサブミットされないようにするために使います。autofocus 属性はフォーカスを制御します。

indeterminate DOM 属性は、最初は false にセットされなければいけません。取得時は、それにセットされた最後の値を返さなければいけません。セット時は、新しい値にセットされなければいけません。この属性は、チェックボックス・コントロールの見え方が変更される点を除き、何も影響を与えません。

accept, alt, autocomplete, max, min, multiple, pattern, placeholder, required, size, src, step, type DOM 属性は、対応する同じ名前のコンテンツ属性を反映しなければいけません。readOnly DOM 属性は、readonly コンテンツ属性を反映しなければいけません。defaultChecked DOM 属性は、checked コンテンツ属性を反映しなければいけません。defaultValue DOM 属性は、value コンテンツ属性を反映しなければいけません。

willValidate, validity, validationMessage 属性と、checkValidity() そして setCustomValidity() メソッドは、制約バリデーション API の一部です。labels 属性は、その要素の label のリストを提供します。select(), selectionStart, selectionEnd, setSelectionRange() メソッドと属性は、その要素のテキスト・セレクションをアクセスできるようにします。

4.10.4.1 type 属性の状態
4.10.4.1.1 Hidden 状態

Status: Last call for comments

input 要素の type 属性が Hidden 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、ユーザーが内容を確認したり操作したりすることを想定しない値を表します。

制約バリデーションinput 要素の type 属性が Hidden 状態にあるなら、それは制約バリデーションから除外されます。

name 属性が存在し、文字列 "_charset_" に一致(大文字・小文字を区別します)する値を持つなら、その要素の value 属性は省略されなければいけません。

value DOM 属性はこの要素に適用され、value というモードになります。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, autocomplete, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, list, max, maxlength, min, multiple, pattern, placeholder, readonly, required, size, src, step, width.

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, list, selectedOption, selectionStart, selectionEnd, valueAsDate, valueAsNumber DOM 属性; select(), setSelectionRange(), stepDown(), stepUp()メソッド

inputchange イベントは適用されません。

4.10.4.1.2 Text 状態と Search 状態

Status: Last call for comments

input 要素の type 属性が Text 状態、または、Search 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、その要素のの 1 行プレーン・テキスト編集コントロールを表します。

要素がミュータブルなら、ユーザーがそのを編集することができるようにするべきです。ユーザーエージェントは、ユーザーがその要素のの中に U+000A LINE FEED (LF) または U+000D CARRIAGE RETURN (CR) 文字を挿入できるようにしてはいけません。

value 属性は、もし指定されたら、U+000A LINE FEED (LF) または U+000D CARRIAGE RETURN (CR) 文字を含まない値を持たなければいけません。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list, maxlength, pattern, placeholder, readonly, required, size コンテンツ属性; list, selectedOption, selectionStart, selectionEnd, value DOM 属性; select(), setSelectionRange() メソッド

value DOM 属性は value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, max, min, multiple, src, step, width

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, valueAsDate, valueAsNumber DOM 属性; stepDown(), stepUp() メソッド

4.10.4.1.3 Telephone 状態

input 要素の type 属性が Telephone 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、その要素のに指定された電話番号を編集するためのコントロールを表します。

この要素がミュータブルなら、ユーザーがそのを編集できるようにするべきです。ユーザーエージェントは、ユーザーが入力するの句読文字を変更することができます。ユーザーエージェントは、ユーザーがその要素のの中に U+000A LINE FEED (LF) または U+000D CARRIAGE RETURN (CR) 文字を入れられないようにするべきです。

value 属性は、もし指定されたら、U+000A LINE FEED (LF) または U+000D CARRIAGE RETURN (CR) 文字を含まない値を持たなければいけません。

URLE-mail タイプとは違い、Telephone タイプは特定の構文を強制しません。これは意図的なものです;実際に、電話番号フィールドはフリー・フォームのフィールドになることが多いと言えます。なぜなら、適正な電話番号といっても様々だからです。特定のフォーマットを強制する必要があるシステムでは、setCustomValidity() メソッドを使って、クライアント側のバリデーション・メカニズムに任せることが推奨されます。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list, maxlength, pattern, placeholder, readonly, required, size コンテンツ属性; list, selectedOption, selectionStart, selectionEnd, value DOM 属性; select(), setSelectionRange() メソッド

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, max, min, multiple, src, step, width

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, valueAsDate, valueAsNumber DOM 属性; stepDown(), stepUp() メソッド

4.10.4.1.4 URL 状態

Status: Last call for comments

input 要素の type 属性が URL 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、その要素のに指定された単一の絶対 URL を編集するためのコントロールを表します。

この要素がミュータブルなら、ユーザーエージェントは、そので表された URL をユーザーが変更できるようにするべきです。ユーザーエージェントは、ユーザーが妥当な絶対 URL ではない文字列をそのにセットできるようにすることができますが、ユーザーが入力した文字をエスケープして、そのが常に妥当な絶対 URL となるようにすることもできます(たとえ、それが、実際にユーザーがそのインタフェースで見たり編集した値でなくてもです。)。ユーザーエージェントは、ユーザーがそのに空文字列をセットできるようにするべきです。ユーザーエージェントは、U+000A LINE FEED (LF) や U+000D CARRIAGE RETURN (CR) 文字をそのに入れることができるようにしてはいけません。

value 属性は、もし指定されたら、妥当な絶対 URL となる値を持たなければいけません。

値サニタイゼーション・アルゴリズムは次の通りですから改行を取り除きます。

制約バリデーション: この要素の妥当な絶対 URL でないときは、この要素はタイプ不一致に陥っていることになります。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list, maxlength, pattern, placeholder, readonly, required, size コンテンツ属性; list, selectedOption, selectionStart, selectionEnd, value DOM 属性; select(), setSelectionRange() メソッド

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, max, min, multiple, src, step, width.

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, valueAsDate, valueAsNumber DOM 属性; stepDown(), stepUp() メソッド

4.10.4.1.5 E-mail 状態

Status: Last call for comments

input 要素の type 属性が E-mail 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、その要素のに指定されたメールアドレスのリストを編集するためのコントロールを表します。

この要素がミュータブルなら、ユーザーエージェントは、そので表されたメールアドレスをユーザーが変更できるようにするべきです。multiple 属性が指定されているなら、ユーザーエージェントは、ユーザーが複数のアドレスを選択したり入れたりできるようにするべきです。そうでなければ、ユーザーエージェントは、ユーザーがひとつのメールアドレスを入れると期待するような形式を取るべきです。ユーザーエージェントは、ユーザーが妥当なメールアドレス・リストでない文字列をにセットできるようにすることができます。ユーザーエージェントは、ユーザーがそのに空文字列をセットできるようにするべきです。ユーザーエージェントは、U+000A LINE FEED (LF) や U+000D CARRIAGE RETURN (CR) 文字をそのに入れることができるようにしてはいけません。ユーザーエージェントは、表示および編集のために、そのを変換することができます(例えば、の中に punycode を IDN に、もしくは、その逆向きに変換して表示することができます)。

この要素に multiple 属性が指定される場合、その value は、指定されるなら、妥当なメールアドレス・リストとなる値を持たなければいけません。そうでなければ、その value は、指定されるなら、単一の妥当なメールアドレスとなる値を持たなければいけません。

値サニタイゼーション・アルゴリズムは次の通りですから改行を取り除きます。

制約バリデーション: この要素に multiple 属性が指定された場合、この要素の妥当なメールアドレス・リストとならない間は、この要素はタイプ不一致に陥っていることになります。指定がない場合、この要素のが単一の妥当なメールアドレスとならない間は、この要素はタイプ不一致に陥っていることになります。

妥当なメールアドレス・リストは、カンマ区切りトークンのセットです。ユーザーエージェントは、妥当なメールアドレス・リストからトークンのリストを取得するために、その文字列をカンマで分割しなければいけません。

妥当なメールアドレスは、プロダクション dot-atom-text "@" dot-atom-text に一致する文字列です。 dot-atom-text は RFC 5322 セクション 3.2.3 で定義されています。[RFC5322]

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list, maxlength, multiple, pattern, placeholder, readonly, required, size コンテンツ属性; list, selectedOption, selectionStart, selectionEnd, value DOM 属性; select(), setSelectionRange() メソッド

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, max, min, src, step, width

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, valueAsDate,valueAsNumber DOM 属性; stepDown(), stepUp() メソッド

4.10.4.1.6 Password 状態

Status: Last call for comments

input 要素の type 属性が Password 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、その要素のの 1 行プレーン・テキスト編集コントロールを表します。ユーザーエージェントは、その値を読めないようにして、そのユーザー以外の人がそれを見ることができないようにするべきです。

この要素がミュータブルなら、そのは編集可能となるべきです。ユーザーエージェントは、ユーザーが U+000A LINE FEED (LF) や U+000D CARRIAGE RETURN (CR) 文字をそのに入れることができるようにしてはいけません。

value 属性は、もし指定されたら、U+000A LINE FEED (LF) または U+000D CARRIAGE RETURN (CR) 文字を含まない値を持たなければいけません。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, maxlength, pattern, placeholder, readonly, required, size コンテンツ属性; selectionStart, selectionEnd, value DOM 属性; select(), setSelectionRange() メソッド

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, list, max, min, multiple, src, step, width.

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, list, selectedOption, valueAsDate, valueAsNumber DOM 属性; stepDown(), stepUp() メソッド

4.10.4.1.7 Date and Time 状態

Status: Last call for comments

input 要素の type 属性が Date and Time 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、この要素のに、特定のグローバル日時を表す文字列をセットするためのコントロールを表します。ユーザーエージェントは、ユーザーにとって適切なタイムゾーンで、その日時を表示することができます。

この要素がミュータブルなら、ユーザーエージェントは、そので表されたグローバル日時をユーザーが変更できるようにするべきです。その値は、グローバル日時をパースして得られるものです。ユーザーエージェントは、ユーザーが UTC で表される妥当なグローバル日時文字列ではない文字列をそのにセットできるようにしてはいけません。ただし、ユーザーエージェントは、別のタイムゾーンでその時間をユーザーがセットしたり見たりすることができるようにすることができます。また、そのの中で UTC タイムゾーンからの変換、または UTC タイムゾーンへの変換を、暗黙のうちに行うことができます。ユーザーエージェントが、グローバル日時を選択するためのインタフェースをユーザーに提供するなら、そのは、ユーザーの選択した日時を UTC で表した妥当なグローバル日時文字列となるようセットされなければいけません。ユーザーエージェントは、ユーザーが空文字列をそのにセットできるようにするべきです。

value 属性は、もし指定されたら、妥当なグローバル日時文字列となる値を持たなければいけません。

値サニタイゼーション・アルゴリズムは次の通りです:この要素の妥当なグローバル日時文字列なら、そのが同じ時点の UTC タイムゾーンで表されたものを表すように、時間を調整します。そうでなければ、代わりに空文字列をそれにセットします。

min 属性は、もし指定されたら、妥当なグローバル日時文字列となる値を持たなければいけません。max 属性は、もし指定されたら、妥当なグローバル日時文字列となる値を持たなければいけません。

step 属性は秒で表現されます。ステップ・スケール・ファクターは 1000 です(秒をミリ秒に変換したもので、他のアルゴリズムでも使われます)。デフォルトのステップは 60 秒です。

この要素がステップ不一致に陥っているとき、ユーザーエージェントは、その要素の値を、もっとも近いグローバル日時に丸めて、その要素がステップ不一致に陥いらないようにすることができます。

文字列を数値に変換するアルゴリズムは、文字列 input を与えると次の通りとなりますinput からグローバル日時をパースしてエラーになったら、エラーを返します。そうでなければ、UTC 1970-01-01 午前 0 時("1970-01-01T00:00:00.0Z" という値で表される時間)から、パースされたグローバル日時に至るまでの経過ミリ秒の数値を返します。うるう秒は無視します。

数値を文字列に変換するアルゴリズムは、数値 input を与えると次の通りとなります: UTC 1970-01-01 午前 0 時("1970-01-01T00:00:00.0Z" という値で表される時間)から input ミリ秒後となるグローバル日時を表す妥当なグローバル日時文字列を UTC で返します。

文字列を Date オブジェクトに変換するアルゴリズムは、文字列 input を与えると次の通りとなりますinput からグローバル日時をパースしてエラーになったら、エラーを返します。そうでなければ、パースされたグローバル日時を表す Date オブジェクトを UTC で返します。

Date オブジェクトを文字列に変換するアルゴリズムは、Date オブジェクト input を与えると次の通りとなりますinput で表されるグローバル日時を表す妥当なグローバル日時文字列を UTC で返します。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list, max, min, readonly, required, step コンテンツ属性; list, value, valueAsDate, valueAsNumber, selectedOption DOM 属性; stepDown(), stepUp() メソッド

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, maxlength, multiple, pattern, placeholder, size, src, width.

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, selectionStart, selectionEnd DOM 属性; select(), setSelectionRange() メソッド

4.10.4.1.8 Date 状態

Status: Last call for comments

input 要素の type 属性が Date 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、この要素のに特定の日付を表す文字列をセットするためのコントロールを表します。

この要素がミュータブルなら、ユーザーエージェントは、そので表された日付をユーザーが変更できるようにするべきです。その値は、日付をパースして得られるものです。ユーザーエージェントは、ユーザーが妥当な日付文字列でない文字列をそのにセットできるようにしてはいけません。ユーザーエージェントが日付を選択するためのインタフェースをユーザーに提供するなら、そのは、ユーザーの選択を表す妥当な日付文字列となるようセットされなければいけません。ユーザーエージェントは、ユーザーが空文字列をそのにセットできるようにするべきです。

value 属性は、もし指定されたら、妥当な日付文字列となる値を持たなければいけません。

値サニタイゼーション・アルゴリズムは次の通りです: この要素の妥当な日付文字列でないなら、代わりに空文字列をそれにセットします。

min 属性は、もし指定されたら、妥当な日付文字列となる値を持たなければいけません。max 属性は、もし指定されたら、妥当な日付文字列となる値を持たなければいけません。

step 属性は日で表現されます。ステップ・スケール・ファクター86,400,000 です(日をミリ秒に変換したもので、他のアルゴリズムでも使われます)。デフォルトのステップは 1 日です。

この要素がステップ不一致に陥っているとき、ユーザーエージェントは、その要素のを、もっとも近い日付に丸めて、その要素がステップ不一致に陥いらないようにすることができます。

文字列を数値に変換するアルゴリズムは、文字列 input を与えると次の通りとなりますinput から日付をパースしてエラーになったら、エラーを返します。そうでなければ、UTC 1970-01-01 午前 0 時("1970-01-01T00:00:00.0Z" という値で表される時間)から、パースされた日付の UTC 午前 0 時に至るまでの経過ミリ秒の数値を返します。うるう秒は無視します。

数値を文字列に変換するアルゴリズムは、数値 input を与えると次の通りとなります: UTC 1970-01-01 午前 0 時("1970-01-01T00:00:00.0Z" という値で表される時間)から input ミリ秒後となるグローバル日時を表す妥当な日付文字列を UTC で返します。

文字列を Date オブジェクトに変換するアルゴリズムは、文字列 input を与えると次の通りとなりますinput から日付をパースしてエラーになったら、エラーを返します。そうでなければ、パースされた日付の UTC 午前 0 時を表す Date オブジェクトを UTC で返します。

Date オブジェクトを文字列に変換するアルゴリズムは、Date オブジェクト input を与えると次の通りとなります:UTC タイムゾーンで input で表される時間における日付を表す妥当な日付文字列を返します。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list, max, min, readonly, required, step コンテンツ属性; list, value, valueAsDate, valueAsNumber,selectedOption DOM 属性; stepDown(), stepUp() メソッド

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, maxlength, multiple, pattern, placeholder, size, src, width.

次の DOM 属性やメソッドは、この要素に適用されません:checked, selectionStart, selectionEnd DOM 属性; select(), setSelectionRange() メソッド

4.10.4.1.9 Month 状態

Status: Last call for comments

input 要素の type 属性が Month 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、この要素のに特定のを表す文字列をセットするためのコントロールを表します。

この要素がミュータブルなら、ユーザーエージェントは、その値で表されたをユーザーが変更できるようにするべきです。その値は、月をパースして得られるものです。ユーザーエージェントは、ユーザーが妥当な月文字列でない文字列をそのにセットできるようにしてはいけません。ユーザーエージェントがを選択するためのインタフェースをユーザーに提供するなら、そのは、ユーザーの選択を表す妥当な月文字列となるようセットされなければいけません。ユーザーエージェントは、ユーザーが空文字列をそのにセットできるようにするべきです。

value 属性は、もし指定されたら、妥当な月文字列となる値を持たなければいけません。

値サニタイゼーション・アルゴリズムは次の通りです: この要素の妥当な月文字列でないなら、代わりに空文字列をそれにセットします。

min 属性は、もし指定されたら、妥当な月文字列となる値を持たなければいけません。max 属性は、もし指定されたら、妥当な月文字列となる値を持たなければいけません。

step 属性は月で表現されます。ステップ・スケール・ファクター1 です(このアルゴリズムが月を扱うときには変換は必要ありません)。デフォルトのステップは 1 ヶ月です。

この要素がステップ不一致に陥っているとき、ユーザーエージェントは、その要素のを、もっとも近いに丸めて、その要素がステップ不一致に陥いらないようにすることができます。

文字列を数値に変換するアルゴリズムは、文字列 input を与えると次の通りとなります: input から月をパースしてエラーになったら、エラーを返します。そうでなければ、1970 年 1 月とパースされたとの間にある月数を返します。

数値を文字列に変換するアルゴリズムは、数値 input を与えると次の通りとなります:それと 1970 年との間に input ヶ月を持つを表す妥当な月文字列を返します。

文字列を Date オブジェクトに変換するアルゴリズムは、文字列 input を与えると次の通りとなりますinput から月をパースしてエラーになったら、エラーを返します。そうでなければ、パースされたの初日の UTC 午前 0 時を表す Date オブジェクトを返します。

Date オブジェクトを文字列に変換するアルゴリズムは、Date オブジェクト input を与えると次の通りとなります:UTC タイムゾーンで input で表される時間におけるを表す妥当な月文字列を返します。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list, max, min, readonly, required, step コンテンツ属性; list, value, valueAsDate, valueAsNumber,selectedOption DOM 属性; stepDown(), stepUp() メソッド

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, maxlength, multiple, pattern, placeholder, size, src, width.

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, selectionStart, selectionEnd DOM 属性; select(), setSelectionRange() メソッド

4.10.4.1.10 Week 状態

Status: Last call for comments

input 要素の type 属性が Week 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、この要素のに特定のを表す文字列をセットするためのコントロールを表します。

この要素がミュータブルなら、ユーザーエージェントは、そので表されたをユーザーが変更できるようにするべきです。その値は、週をパースして得られるものです。ユーザーエージェントは、ユーザーが妥当な週文字列でない文字列をそのにセットできるようにしてはいけません。ユーザーエージェントがを選択するためのインタフェースをユーザーに提供するなら、そのは、ユーザーの選択を表す妥当な週文字列となるようセットされなければいけません。ユーザーエージェントは、ユーザーが空文字列をそのにセットできるようにするべきです。

value 属性は、もし指定されたら、妥当な週文字列となる値を持たなければいけません。

値サニタイゼーション・アルゴリズムは次の通りです:この要素の妥当な週文字列でないなら、代わりに空文字列をそれにセットします。

min 属性は、もし指定されたら、妥当な週文字列となる値を持たなければいけません。max 属性は、もし指定されたら、妥当な週文字列となる値を持たなければいけません。

step 属性は週で表現されます。ステップ・スケール・ファクター604,800,000です(週をミリ秒に変換したもので、他のアルゴリズムでも使われます)。デフォルトのステップは 1 週間です。

この要素がステップ不一致に陥っているとき、ユーザーエージェントは、その要素のを、もっとも近いに丸めて、その要素がステップ不一致に陥いらないようにすることができます。

文字列を数値に変換するアルゴリズムは、文字列 input を与えると次の通りとなりますinput から週をパースしてエラーになったら、エラーを返します。そうでなければ、UTC 1970-01-01 午前 0 時("1970-01-01T00:00:00.0Z" という値で表される時間)から、パースされたの月曜日の UTC 午前 0 時に至るまでの経過ミリ秒の数値を返します。うるう秒は無視します。

数値を文字列に変換するアルゴリズムは、数値 input を与えると次の通りとなります:UTC 1970-01-01 午前 0 時("1970-01-01T00:00:00.0Z" という値で表される時間)から input ミリ秒後となるを表す妥当な週文字列を UTC で返します。

文字列を Date オブジェクトに変換するアルゴリズムは、文字列 input を与えると次の通りとなりますinput から週をパースしてエラーになったら、エラーを返します。そうでなければ、パースされたの月曜日の UTC 午前 0 時を表す Date オブジェクトを UTC で返します。

Date オブジェクトを文字列に変換するアルゴリズムは、Date オブジェクト input を与えると次の通りとなります:UTC タイムゾーンで input で表される時間におけるを表す妥当な週文字列を返します。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list, max, min, readonly, required, step コンテンツ属性; list, value, valueAsDate, valueAsNumber, selectedOption DOM 属性; stepDown(), stepUp() メソッド

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, maxlength, multiple, pattern, placeholder, size, src, width.

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, selectionStart, selectionEnd DOM 属性; select(), setSelectionRange() メソッド

4.10.4.1.11 Time 状態

Status: Last call for comments

input 要素の type 属性が Time 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、この要素のに特定の時間を表す文字列をセットするためのコントロールを表します。

この要素がミュータブルなら、ユーザーエージェントは、その値で表された週をユーザーが変更できるようにするべきです。その値は、時間をパースして得られるものです。ユーザーエージェントは、ユーザーが妥当な時間文字列でない文字列をそのにセットできるようにしてはいけません。ユーザーエージェントが時間を選択するためのインタフェースをユーザーに提供するなら、そのは、ユーザーの選択を表す妥当な時間文字列となるようセットされなければいけません。ユーザーエージェントは、ユーザーが空文字列をそのにセットできるようにするべきです。

value 属性は、もし指定されたら、妥当な時間文字列となる値を持たなければいけません。

値サニタイゼーション・アルゴリズムは次の通りです:この要素の妥当な時間文字列でないなら、代わりに空文字列をそれにセットします。

min 属性は、もし指定されたら、妥当な時間文字列となる値を持たなければいけません。max 属性は、もし指定されたら、妥当な時間文字列となる値を持たなければいけません。

step 属性は秒で表現されます。ステップ・スケール・ファクターは 1000 です(秒をミリ秒に変換したもので、他のアルゴリズムでも使われます)。デフォルトのステップは 60 秒です。

この要素がステップ不一致に陥っているとき、ユーザーエージェントは、その要素のを、もっとも近い時間に丸めて、その要素がステップ不一致に陥いらないようにすることができます。

文字列を数値に変換するアルゴリズムは、文字列 input を与えると次の通りとなりますinput から時間をパースしてエラーになったら、エラーを返します。そうでなければ、時間を変更せずに、一日の中で、そのパースされた時間までの経過ミリ秒の数値を返します。

数値を文字列に変換するアルゴリズムは、数値 input を与えると次の通りとなります:時間を変更せずに、一日の中で、午前 0 時からの input ミリ秒だけ経過した時間を表す妥当な時間文字列を返します。

文字列を Date オブジェクトに変換するアルゴリズムは、文字列 input を与えると次の通りとなりますinput から時間をパースしてエラーになったら、エラーを返します。そうでなければ、1970-01-01 のパースされた時間を表す Date オブジェクトを返します。

Date オブジェクトを文字列に変換するアルゴリズムは、Date オブジェクト input を与えると次の通りとなります:UTC タイムゾーンで input で表される時間を表す妥当な時間文字列を返します。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list, max, min, readonly, required, step コンテンツ属性; list, value, valueAsDate, valueAsNumber, selectedOption DOM 属性; stepDown(), stepUp() メソッド

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, maxlength, multiple, pattern, placeholder, size, src, width

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, selectionStart, selectionEnd DOM 属性; select(), setSelectionRange() メソッド

4.10.4.1.12 Local Date and Time 状態

Status: Last call for comments

input 要素の type 属性が Local Date and Time 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、この要素のに、タイムゾーン情報を持たないローカル日時を表す文字列をセットするためのコントロールを表します。

この要素がミュータブルなら、ユーザーエージェントは、その値で表された日時をユーザーが変更できるようにするべきです。その値は、日時をパースして得られるものです。ユーザーエージェントは、ユーザーが妥当なローカル日時文字列でない文字列をその値にセットできるようにしてはいけません。ユーザーエージェントがローカル日時を選択するためのインタフェースをユーザーに提供するなら、そのは、ユーザーの選択を表す妥当なローカル日時文字列となるようセットされなければいけません。ユーザーエージェントは、ユーザーが空文字列をそのにセットできるようにするべきです。

value 属性は、もし指定されたら、妥当なローカル日時文字列となる値を持たなければいけません。

値サニタイゼーション・アルゴリズムは次の通りです: この要素の妥当なローカル日時文字列でないなら、代わりに空文字列をそれにセットします。

min 属性は、もし指定されたら、妥当なローカル日時文字列となる値を持たなければいけません。max 属性は、もし指定されたら、妥当なローカル日時文字列となる値を持たなければいけません。

step 属性は秒で表現されます。ステップ・スケール・ファクターは 1000 です(秒をミリ秒に変換したもので、他のアルゴリズムでも使われます)。デフォルトのステップは 60 秒です。

この要素がステップ不一致に陥っているとき、ユーザーエージェントは、その要素のを、もっとも近いローカル日時に丸めて、その要素がステップ不一致に陥いらないようにすることができます。

文字列を数値に変換するアルゴリズムは、文字列 input を与えると次の通りとなりますinput から日時をパースしてエラーになったら、エラーを返します。そうでなければ、1970-01-01 午前 0 時("1970-01-01T00:00:00.0" という値で表される時間)から、パースされたローカル日時に至るまでの経過ミリ秒の数値を返します。うるう秒は無視します。

数値を文字列に変換するアルゴリズムは、数値 input を与えると次の通りとなります:1970-01-01 午前 0 時("1970-01-01T00:00:00.0" という値で表される時間)から input ミリ秒後となる日時を表す妥当なローカル日時文字列を返します。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list, max, min, readonly, required, step コンテンツ属性; list, value, valueAsNumber, selectedOption DOM 属性; stepDown(), stepUp() メソッド

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, maxlength, multiple, pattern, placeholder, size, src, width

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, selectionStart, selectionEnd, valueAsDate DOM 属性; select(), setSelectionRange() メソッド

4.10.4.1.13 Number 状態

Status: Last call for comments

input 要素の type 属性が Number 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、この要素のに、数値を表す文字列をセットするためのコントロールを表します。

この要素がミュータブルなら、ユーザーエージェントは、そので表された数値をユーザーが変更できるようにするべきです。その値は、浮動少数点数値をパースするルールを適用して得られるものです。ユーザーエージェントは、ユーザーが妥当な浮動小数点数でない文字列をそのにセットできるようにしてはいけません。ユーザーエージェントが数値を選択するためのインタフェースをユーザーに提供するなら、そのは、ユーザーの選択を表す浮動小数点数の最適表現なるようセットされなければいけません。ユーザーエージェントは、ユーザーが空文字列をそのにセットできるようにするべきです。

value 属性は、もし指定されたら、妥当な浮動小数点数となる値を持たなければいけません。

値サニタイゼーション・アルゴリズムは次の通りです:この要素の妥当な浮動小数点数でないなら、代わりに空文字列をそれにセットします。

min 属性は、もし指定されたら、妥当な浮動小数点数となる値を持たなければいけません。max 属性は、もし指定されたら、妥当な浮動小数点数となる値を持たなければいけません。

ステップ・スケール・ファクターは 1 です。デフォルトのステップは 1 です(min 属性が非整数値を持たない限り、整数のみ受け付けます)。

この要素がステップ不一致に陥っているとき、ユーザーエージェントは、その要素のを、もっとも近い数値に丸めて、その要素がステップ不一致に陥いらないようにすることができます。

文字列を数値に変換するアルゴリズムは、文字列 input を与えると次の通りとなります: input に浮動少数点数値をパースするルールを適用してエラーになったら、エラーを返します。そうでなければ、結果の数値を返します。

数値を文字列に変換するアルゴリズムは、数値 input を与えると次の通りとなりますinput を表す妥当な浮動小数点数を返します。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list, max, min, readonly, required, and step content attributes; list, value, valueAsNumber, selectedOption DOM 属性; stepDown(), stepUp() メソッド

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, maxlength, multiple, pattern, placeholder, size, src, width

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, selectionStart, selectionEnd, valueAsDate DOM 属性; select(), setSelectionRange()メソッド

4.10.4.1.14 Range 状態

Status: Last call for comments

input 要素の type 属性が Range 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、この要素のに、数値を表す文字列をセットするためのコントロールを表します。しかし、正確な値は重要ではないという警告を伴い、ユーザーエージェントに、Number 状態のものよりもっとシンプルなインタフェースを提供させます。

この状態では、ユーザー入力中ですら、その範囲とステップの制約が強制されます。そして、その値に空文字列をセットする方法はありません。

この要素がミュータブルなら、ユーザーエージェントは、そので表された数値をユーザーが変更できるようにするべきです。その値は、浮動少数点数値をパースするルールを適用して得られるものです。ユーザーエージェントは、ユーザーが妥当な浮動小数点数でない文字列をそのにセットできるようにしてはいけません。ユーザーエージェントが数値を選択するためのインタフェースをユーザーに提供するなら、そのは、ユーザーの選択を表す浮動小数点数の最適表現なるようセットされなければいけません。ユーザーエージェントは、ユーザーが空文字列をそのにセットできるようにしてはいけません。

value 属性は、もし指定されたら、妥当な浮動小数点数となる値を持たなければいけません。

値サニタイゼーション・アルゴリズムは次の通りです: この要素の妥当な浮動小数点数でないなら、デフォルト値を表す妥当な浮動小数点数をそれにセットします。

min 属性は、もし指定されたら、妥当な浮動小数点数となる値を持たなければいけません。デフォルト最小値は 0 です。max 属性は、もし指定されたら、妥当な浮動小数点数となる値を持たなければいけません。デフォルト最大値は 100 です。

デフォルト値とは、最小値 に、最小値最大値との差の半分を足したものです。ただし、最大値最小値より小さくない場合に限ります。そうでない場合は、デフォルト値最小値となります。

この要素がアンダーフローに陥っているとき、ユーザーエージェントは、その要素のを、最小値を表す妥当な浮動小数点数となるようセットしなければいけません。

この要素がオーバーフローに陥っているとき、最大値最小値より小さくなければ、ユーザーエージェントは、その要素のを、最大値を表す妥当な浮動小数点数となるようセットしなければいけません。

ステップ・スケール・ファクターは 1 です。デフォルトのステップは 1 です(min 属性が非整数値を持たない限り、整数のみ受け付けます)

この要素がステップ不一致に陥っているとき、ユーザーエージェントは、その要素のを、もっとも近い数値に丸めることで、その要素がステップ不一致に陥いらず、最小値より大きいか等しく、そして、最大値最小値より小さくないなら、最大値より小さいか等しくなるようにしなければいけません。

文字列を数値に変換するアルゴリズムは、文字列 input を与えると次の通りとなりますinput浮動少数点数値をパースするルールを適用してエラーになったら、エラーを返します。そうでなければ、結果の数値を返します。

数値を文字列に変換するアルゴリズムは、数値 input を与えると次の通りとなりますinput を表す妥当な浮動小数点数を返します。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list, max, min, step コンテンツ属性; list, value, valueAsNumber, selectedOption DOM 属性; stepDown(), stepUp() メソッド

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, maxlength, multiple, pattern, placeholder, readonly, required, size, src, width

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, selectionStart, selectionEnd, and valueAsDate DOM attributes; select() and setSelectionRange() methods.

4.10.4.1.15 Color 状態

Status: Working draft

input 要素の type 属性が Color 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、この要素の単色を表す文字列をセットするためのコントロールを表します。

この状態では、常に色は選択された状態となり、空文字列を値にセットする方法はありません。

この要素がミュータブルなら、ユーザーエージェントは、そので表された色をユーザーが変更できるようにするべきです。その値は、単色値をパースするルールを適用して得られるものです。ユーザーエージェントは、ユーザーが妥当な小文字表記の単色でない文字列をそのにセットできるようにしてはいけません。ユーザーエージェントが色を選択するためのインタフェースをユーザーに提供するなら、そのは、ユーザーの選択を表す単色値サニタイジング・ルールの結果となるようセットされなければいけません。ユーザーエージェントは、ユーザーが空文字列をそのにセットできるようにしてはいけません。

value 属性は、もし指定されたら、妥当な単色となる値を持たなければいけません。

値サニタイゼーション・アルゴリズムは次の通りです:この要素の妥当な単色なら、その要素の小文字に変換したものをそれにセットします。そうでなければ、文字列 "#000000" をそれにセットします。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:autocomplete, list コンテンツ属性; list, value, selectedOption DOM 属性

value DOM 属性は、value というモードになります。

inputchange イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, maxlength, max, min, multiple, pattern, placeholder, readonly, required, size, src, step, width

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, selectionStart, selectionEnd, valueAsDate, valueAsNumber DOM 属性; select(), setSelectionRange(), stepDown(), stepUp() メソッド

4.10.4.1.16 Checkbox 状態

Status: Last call for comments

input 要素の type 属性が Checkbox 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、この要素のチェック状態を表す 2 状態コントロールを表します。この要素のチェック状態が true なら、このコントロールは正の選択を表し、false なら、負の選択を表します。この要素の indeterminate DOM 属性が true にセットされているなら、そのコントロールの選択は、そのコントロールが第 3 の状態、つまり未決定の状態だったかのように、曖昧とするべきです。

このコントロールは、たとえその要素の indeterminate DOM 属性が true にセットされていたとしても、決して真の 3 状態コントロールではありません。indeterminate DOM 属性は、第 3 状態の外見を与えているに過ぎません。

この要素がミュータブルの場合:プレ・クリック・アクティベーション手順では、その要素のチェック状態にその反対の値(つまり、それが false なら true、それが true なら false)をセットし、その要素の indeterminate DOM 属性に false をセットします。キャンセルド・アクティベーション手順では、チェック状態とその要素の indeterminate DOM 属性を、プレ・クリック・アクティベーション手順が実行される前の値に戻します。アクティベーション・ビヘイビアでは、その要素で change というバブリングするシンプルなイベントを発出します。それから、その要素のフォーム・オーナーformchange イベントをブロードキャストします。

制約バリデーション:この要素が必須でそのチェック状態が false なら、この要素は未入力状態に陥っていることになります。

input . indeterminate [ = value ]

セット時は、チェックボックスのコントロールのレンダリングを上書きして、その現在の値が見えないようにします。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:checked, required コンテンツ属性; checked, value DOM 属性

value DOM 属性は default/onというモードになります。

change イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, autocomplete, formaction, formenctype, formmethod, formnovalidate, formtarget, height, list, max, maxlength, min, multiple, pattern, placeholder, readonly, size, src, step, width

次の DOM 属性やメソッドは、この要素に適用されません:files, list, selectedOption, selectionStart, selectionEnd, valueAsDate, valueAsNumber DOM 属性; select(), setSelectionRange(), stepDown(), stepUp() メソッド

input イベントは適用されません。

4.10.4.1.17 Radio Button 状態

Status: Last call for comments

input 要素の type 属性が Radio Button 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、別の input 要素といっしょに使うと、1 つのコントロールだけが true にセットされたチェック状態を持つことができるラジオボタン・グループを形成するコントロールを表します。この要素のチェック状態が true なら、そのコントロールは、グループ内で選択されたコントロールを表します。false なら、それは、グループ内で選択されていないコントロールを指します。

input 要素 a を含むラジオボタン・グループとは、次の条件をすべて満す別の input 要素 b も含みます:

ドキュメントに、ラジオボタン・グループに自身しか含まれないような input 要素を入れてはいけません。

次のイベントが発生するとき、そのイベントの後でこの要素のチェック状態が true なら、同じラジオボタン・グループにある別の要素すべてのチェック状態は false にセットされなければいけません:

  • この要素のチェック状態が true にセットされる(理由を問わず)。
  • この要素の name 属性が追加されたり、削除されたり、値が変更される。
  • この要素のフォーム・オーナーが変更される。

この要素がミュータブルの場合:プレ・クリック・アクティベーション手順では、その要素のチェック状態に true をセットします。キャンセルド・アクティベーション手順では、その要素のチェック状態を false にセットします。アクティベーション・ビヘイビアでは、その要素で change というバブリングするシンプルなイベントを発出します。それから、その要素のフォーム・オーナーformchange イベントをブロードキャストします。

制約バリデーション:この要素が必須で、同じラジオボタン・グループにあるすべての input 要素が false となるチェック状態を持つなら、この要素は未入力状態に陥っていることになります。

ドキュメントに挿入されるときにラジオボタン・グループ内にチェックされたラジオボタンがひとつもないなら、当初は、それらは、いずれかひとつがチェックされるときまで(ユーザーによるもの、またはスクリプトによるもの、のいずれか)、インタフェース上ではすべて未チェックとなります。

この要素には、次の input 要素の共通のコンテンツ属性、DOM 属性、メソッドが適用されます:checked, required コンテンツ属性; checked, value DOM 属性

value DOM 属性は default/on というモードになります。

change イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, autocomplete, formaction, formenctype, formmethod, formnovalidate, formtarget, height, list, max, maxlength, min, multiple, pattern, placeholder, readonly, size, src, step, width

次の DOM 属性やメソッドは、この要素に適用されません:files, list, selectedOption, selectionStart, selectionEnd, valueAsDate, valueAsNumber DOM 属性; select(), setSelectionRange(), stepDown(), stepUp() メソッド

input イベントは適用されません。

4.10.4.1.18 File Upload 状態

Status: Last call for comments

input 要素の type 属性が File Upload 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、選択ファイルのリストを表し、それぞれのファイルは、ファイル名、ファイル・タイプ、ファイル本体(ファイルのコンテンツ)を含みます。

この要素がミュータブルなら、ユーザーエージェントは、ユーザーがリスト上のファイルを、例えば追加したり削除するなど、変更できるようにするべきです。ファイルは、ファイルシステムのものや、動的に生成されたものでも構いません。例えば、ユーザーのデバイスに接続されたカメラから取り出した写真等です。

制約バリデーション: この要素が必須で、選択ファイルのリストが空なら、この要素は未入力状態に陥っていることになります。

multiple 属性がセットされていない限り、選択ファイルのリストに 1 つ以上のファイルが存在してはいけません。


accept 属性は、サーバーが受け入れることができるであろうファイル・タイプのヒントをユーザーエージェントに提供するために指定することができます。

もし指定されたら、この属性は、カンマ区切りトークンのセットで構成され、それぞれは、次のいずれかひとつに一致しなければいけません。大文字・小文字を区別しません

文字列 audio/*
サウンド・ファイルが受け入れ可能ということを示します。
文字列 video/*
ビデオ・ファイルが受け入れ可能と言うことを示します。
文字列 image/*
イメージ・ファイルが受け入れ可能ということを示します。
パラメータなしの妥当な MIME タイプ
指定のタイプが受け入れ可能ということを示します。

トークンは、他のトークンと一致してはいけません。大文字と小文字は区別されません(つまり、複製は許されません)。この属性からトークンのリストを取得するために、ユーザーエージェントは属性値をカンマで区切らなければいけません。

ユーザーエージェントは、ユーザーが、これらのトークンの 1 つ(または、それ以上)によって受け入れられないファイルを選択できないようにするべきです。


この要素には、次の input 要素の共通のコンテンツ属性が適用されます:

この要素には、次の input 要素の共通のコンテンツ属性、DOM属性が適用されます:accept, multiple, required; files, value DOM 属性.

value DOM 属性は filename というモードとなります。

change イベントが適用されます。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:alt, autocomplete, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, list, max, maxlength, min, pattern, placeholder, readonly, size, src, step, width

この要素の value 属性は省略できません。

次の DOM 属性やメソッドは、この要素に適用されません:checked, list, selectedOption, selectionStart, selectionEnd, valueAsDate, and valueAsNumber DOM 属性; select(), setSelectionRange(), stepDown(), stepUp() メソッド

input イベントは適用されません。

4.10.4.1.19 Submit Button 状態

Status: Last call for comments

input 要素の type 属性が Submit Button 状態にあるとき、このセクションのルールが適用されます。

この input 要素はボタンを表し、アクティベートされると、フォームをサブミットします。この要素が value 属性を持つなら、そのボタンのラベルは、その属性の値とならなければいけません。そうでなければ、それは、"Submit" や同類の意味となる実装側で定義された文字列とならなければいけません。この要素はボタンですが、とりわけサブミット・ボタンとなります。

この要素がミュータブルなら、ユーザーエージェントは、ユーザーがこの要素をアクティベートできるようにするべきです。

この要素のアクティベーション・ビヘイビアは、この要素がフォーム・オーナーを持つなら、その input 要素からフォーム・オーナーサブミットすることです。

formaction, formenctype, formmethod, formnovalidate, formtarget 属性は、フォーム・サブミッション用の属性です。

formnovalidate 属性は、制約バリデーションを起動しないサブミット・ボタンを作るために使うことができます。

この要素には、次の input 要素の共通のコンテンツ属性、DOM属性が適用されます:formaction, formenctype, formmethod, formnovalidate, formtarget コンテンツ属性; value DOM 属性

value DOM 属性は default というモードになります。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, autocomplete, checked, height, list, max, maxlength, min, multiple, pattern, placeholder, readonly, required, size, src, step, width

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, list, selectedOption, selectionStart, selectionEnd, valueAsDate, valueAsNumber DOM 属性; select(), setSelectionRange(), stepDown(), stepUp() メソッド

inputchange イベントは適用されません。

4.10.4.1.20 Image Button 状態

Status: Last call for comments

input 要素の type 属性が Image Button 状態にあるとき、このセクションのルールが適用されます。

この input 要素は、ユーザーが座標を選択してフォームをサブミットすることができるイメージか、もしくは、ユーザーがフォームをサブミットできるボタンの代わりを表します。この要素はボタンですが、とりわけサブミット・ボタンとなります。


イメージは src 属性によって与えられます。src 属性は必須です。そして、非インタラクティブで、オプションでアニメーションがあるイメージ・リソースを参照する妥当な URL を含まなければいけません。そのイメージ・リソースは、ページを遷移するものでも、スクリプトを実行するものでもありません。

次のイベントが発生するときは、ユーザーエージェントがイメージをサポートすることができるなら、または、イメージのサポートが無効になっていなければ、または、ユーザーエージェントがオン・デマンドで要素をフェッチするだけなら、ユーザーエージェントは、その要素に対して src 属性の値を解決しなければいけません。そして、それが成功したら、その結果となった絶対 URLフェッチしなければいけません:

  • The input element's type attribute is first set to the Image Button state (possibly when the element is first created), and the src attribute is present.
  • The input element's type attribute is changed back to the Image Button state, and the src attribute is present, and its value has changed since the last time the type attribute was in the Image Button state.
  • The input element's type attribute is in the Image Button state, and the src attribute is set or changed.

Fetching the image must delay the load event of the element's document until the task that is queued by the networking task source once the resource has been fetched (defined below) has been run.

If the image was successfully obtained, with no network errors, and the image's type is a supported image type, and the image is a valid image of that type, then the image is said to be available. If this is true before the image is completely downloaded, each task that is queued by the networking task source while the image is being fetched must update the presentation of the image appropriately.

The user agents should apply the image sniffing rules to determine the type of the image, with the image's associated Content-Type headers giving the official type. If these rules are not applied, then the type of the image must be the type given by the image's associated Content-Type headers.

User agents must not support non-image resources with the input element. User agents must not run executable code embedded in the image resource. User agents must only display the first page of a multipage resource. User agents must not allow the resource to act in an interactive fashion, but should honor any animation in the resource.

The task that is queued by the networking task source once the resource has been fetched, must, if the download was successful and the image is available, queue a task to fire a simple event called load at the input element; and otherwise, if the fetching process fails without a response from the remote server, or completes but the image is not a valid or supported image, queue a task to fire a simple event called error on the input element.


alt 属性は、イメージを使うことができないユーザーやユーザーエージェントに対して、代替のボタンにテキスト・ラベルを提供します。alt 属性も必須で、非空文字列を含まなければいけません。

この input 要素はディメンジョン属性をサポートします。


src 属性がセットされ、そのイメージが利用可能で、ユーザーエージェントがそのイメージを表示するよう設定されている場合:この要素は、src 属性で指定されたイメージから座標を選択するためのコントロールを表します。この要素がミュータブルなら、ユーザーエージェントは、ユーザーがこの座標を選択できるようにするべきです。この場合のアクティベーション・ビヘイビアでは、ユーザーが選択した座標を取り出し、この要素がフォーム・オーナーを持つなら、その input 要素から、その input 要素のフォーム・オーナーをサブミットします。ユーザーが座標を明示的に選択せずにコントロールをアクティベートしたら、その座標は (0,0) と見なされなければいけません。

そうでなければ、この要素は、ラベルが alt 属性の値で与えられるサブミット・ボタンを表します。この要素がミュータブルなら、ユーザーエージェントは、ユーザーがそのボタンをアクティベートできるようにするべきです。この場合のアクティベーション・ビヘイビアでは、選択座標を (0,0) となるようセットし、この要素がフォーム・オーナーを持つなら、その input 要素から、その input 要素のフォーム・オーナーをサブミットします。

選択座標は、x コンポーネントと y コンポーネントから構成されます。x コンポーネントは、0 以上でなければならず、CSS ピクセルの単位で、イメージのレンダリング幅、そして、イメージの周囲に左と右のボーダーがあれば、それらの幅も加えたものより小さいか等しくなければいけません。yコンポーネントは、0 以上でなければならず、CSS ピクセルの単位で、イメージのレンダリング高、そして、イメージの周囲に上と下のボーダーがあれば、それらの幅も加えたものより小さいか等しくなければいけません。この座標は、イメージ・ボーダーがあれば、それからの相対でなければいけません。なければ、イメージの端からの相対とならなければいけません。


formaction, formenctype, formmethod, formnovalidate, formtarget 属性は、フォーム・サブミッション用の属性です。

この要素には、次の input 要素の共通のコンテンツ属性、DOM属性が適用されます:alt, formaction, formenctype, formmethod, formnovalidate, formtarget, height, src, width コンテンツ属性; value DOM 属性

value DOM 属性は default というモードになります。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, autocomplete, checked, list, max, maxlength, min, multiple, pattern, placeholder, readonly, required, size, step

この要素の value 属性は省略されなければいけません。

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, list, selectedOption, selectionStart, selectionEnd, valueAsDate, valueAsNumber DOM 属性; select(), setSelectionRange(), stepDown(), stepUp() メソッド

inputchange イベントは適用されません。

この状態のビヘイビアは、img 要素のビヘイビアに似ている点が多くあります。読者のみなさんには、そのセクションを読むことをお勧めします。そこでは多くの同様の要件がさらに詳細に説明されています。

4.10.4.1.21 Reset Button 状態

Status: Last call for comments

input 要素の type 属性が Reset Button 状態にあるとき、このセクションのルールが適用されます。

この input 要素はボタンを表し、アクティベートされると、フォームをリセットします。この要素が value 属性を持つなら、そのボタンのラベルは、その属性の値とならなければいけません。そうでなければ、それは、"Reset" や同類の意味となる実装側で定義された文字列とならなければいけません。この要素はボタンです。

この要素がミュータブルなら、ユーザーエージェントは、ユーザーがこの要素をアクティベートできるようにするべきです。

この要素のアクティベーション・ビヘイビアは、この要素がフォーム・オーナーを持つなら、そのフォーム・オーナーリセットすることです。

制約バリデーション: この要素は制約バリデーションから除外されます。

value DOM 属性はこの要素に適用され、default というモードとなります。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, autocomplete, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, list, max, maxlength, min, multiple, pattern, placeholder, readonly, required, size, src, step, width

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, list, selectedOption, selectionStart, selectionEnd, valueAsDate, valueAsNumber DOM 属性; select(), setSelectionRange(), stepDown(), stepUp() メソッド

inputchange イベントは適用されません。

4.10.4.1.22 Button 状態

Status: Last call for comments

input 要素の type 属性が Button 状態にあるとき、このセクションのルールが適用されます。

この input 要素はボタンを表しますが、デフォルト・ビヘイビアはありません。この要素が value 属性を持つなら、そのボタンのラベルは、その属性の値とならなければいけません。そうでなければ、それは、空文字列とならなければいけません。この要素はボタンです。

この要素がミュータブルなら、ユーザーエージェントは、ユーザーがこの要素をアクティベートできるようにするべきです。この要素のアクティベーション・ビヘイビアは何もしません。

制約バリデーション: この要素は制約バリデーションから除外されます。

value DOM 属性はこの要素に適用され、default というモードとなります。

次のコンテンツ属性は、この要素に指定されてはならず、この要素に適用されません:accept, alt, autocomplete, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, list, max, maxlength, min, multiple, pattern, placeholder, readonly, required, size, src, step, width

次の DOM 属性やメソッドは、この要素に適用されません:checked, files, list, selectedOption, selectionStart, selectionEnd, valueAsDate, valueAsNumber DOM 属性; select(), setSelectionRange(), stepDown(), stepUp() メソッド

inputchange イベントは適用されません。

4.10.4.2 共通 input 要素属性

これらの属性は input 要素に適用されるものですが、その属性が適用できると定義されている type 属性の状態にある場合に限ります。属性が input 要素に適用されないとき、ユーザーエージェントは、その属性を無視しなければいけません。

4.10.4.2.1 autocomplete 属性

Status: Last call for comments

autocomplete 属性は列挙属性です。この属性は 3 つの状態を持ちます。on キーワードは on 状態に対応し、off キーワードは off 状態に対応します。この属性は省略することもできます。指定がない場合のデフォルト値は default 状態です。

off 状態とは、このコントロールの入力データが、特にセンシティブ(例えば、核兵器の起動コード)であったり、決して再利用されない値であることを意味します。そのため、ユーザーは、明示的に、都度、データを入力しなければならないでしょう。ユーザーエージェントが値をプリセットしてくれるのを当てにすることはできません。

対して、on 状態とは、その値は特にセンシティブというわけではなく、ユーザーがそのコントロールに入れた値をユーザーエージェントが覚えておいてくれるのを当てにできると期待できることを意味します。

default 状態とは、ユーザーエージェントが、その要素のフォーム・オーナーautocomplete 属性を使うことになることを意味します。

それぞれの input 要素は、最終オートコンプリート状態を持ち、on または off のいずれかとなります。

input 要素の autocomplete 属性が on 状態にあるとき、input 要素の autocomplete 属性が default 状態にあり、その要素にフォーム・オーナーがないとき、そして、input 要素の autocomplete 属性が default 状態にあり、その要素のフォーム・オーナーautocomplete 属性が on 状態にあるときは、その input最終オートコンプリート状態on となります。そうでなければ、その input 要素の最終オートコンプリート状態off となります。

input 要素の最終オートコンプリート状態on のとき、ユーザーエージェントは、ユーザーが入力した値を保存しておいて、そのユーザーが該当のページに戻ってきたら、そのフォームにプリセットすることができます。そうでなければ、ユーザーエージェントは、そのコントロールのを記憶するべきではありません。

オートコンプリート・メカニズムは、あたかもユーザーがその要素のを修正したかのように動作するようユーザーエージェントに実装されなければならず、その要素がミュータブルであるとき(例えば、その要素がドキュメントに挿入された直後や、ユーザーエージェントがパースを停止するとき)に作動しなければいけません。

銀行では、ユーザーエージェントにログイン情報をプリセットして欲しくないと考えることが多いでしょう:

<p>Account: <input type="text" name="ac" autocomplete="off"></p>
<p>PIN: <input type="text" name="pin" autocomplete="off"></p>

ユーザーエージェントは、ユーザーが最終オートコンプリート状態を書き換え、常に on となるようセットして、その値を記憶してプリセットすることができるようにできます。また、常に off にして、値を決して記憶しないようにすることもできます。しかし、最終オートコンプリート状態on に書き換えることができたとしても、アクセシブルにならないことは明白です。もし、すべての値が記憶されたら、サイト側の指定かどうかに関わらず、ユーザーにとって重大なセキュリティ問題を抱えることになるかもしれないからです。

4.10.4.2.2 list 属性

Status: Last call for comments

list 属性は、ユーザーにサジェストする定義済みの選択肢をリスト表示する要素を指定するために使います。

存在したら、その値は、同じドキュメントの datalist 要素の ID でなければいけません。

サジェスト・ソース要素とは、そのドキュメント内で list 属性の値と同じ ID を持つ要素のうち、ツリー順で最初の要素のことです。ただし、その要素が datalist 要素である場合に限ります。もし list 属性がない、または、その ID を持った要素がない、または、その ID を持つ最初の要素が datalist 要素でないなら、その場合は、サジェスト・ソース要素がないということになります。

サジェスト・ソース要素があれば、ユーザーエージェントがユーザーに input 要素のの編集を許すとき、ユーザーエージェントは、使われているコントロールに適した形で、サジェスト・ソース要素で表されたサジェストをユーザーに提供するべきです。ユーザーエージェントは、必要に応じて、そのサジェストを特定するためにサジェストのラベルを使うことができます。ユーザーがサジェストを選択したら、その input 要素のは、あたかもユーザーが自分自身で書いたかのように、選択されたサジェストのがセットされなければいけません。

ユーザーエージェントは、その input 要素のとしてユーザーに入力させてはいけないサジェストを隠すべく、そのサジェストをフィルターしなければいけません。また、その要素が制約を満たさないことになってしまうサジェストを隠すべく、そのサジェストをフィルターするべきです。


list 属性が適用されていなければ、サジェスト・ソース要素はありません。

4.10.4.2.3 readonly 属性

Status: Last call for comments

readonly 属性は、そのフォーム・コントロールをユーザーが編集できるかどうかを制御する論理属性です。指定されると、その要素はイミュータブルとなります。

制約バリデーションreadonly 属性が input 要素に指定されたら、その要素は制約バリデーションから除外されます。

4.10.4.2.4 size 属性

Status: Last call for comments

size 属性は、ビジュアル・レンダリングにおいて、その要素のの編集する際に、ユーザーエージェントがユーザーに見ることになる文字数を与えます。

size 属性は、指定されたら、0 より大きい妥当な非負整数となる値を持たなければいけません。

この属性が存在したら、その値は非負整数パース規則を使ってパースされなければなりません。そして、その結果が 0 より大きい数値なら、ユーザーエージェントは少なくともその文字数分は見えるようにするべきです。

size DOM 属性は、正の 0 ではない数値のみに限定されます

4.10.4.2.5 required 属性

Status: Last call for comments

required 属性は論理属性です。指定されると、その要素は必須となります。

制約バリデーション: この要素が必須で、その value DOM 属性が適用され value モードであり、この要素がミュータブルで、この要素のが空文字列なら、この要素は未入力状態に陥っていることになります。

4.10.4.2.6 multiple 属性

Status: Last call for comments

multiple 属性は論理属性で、ユーザーが 1 つより多くの値を指定できるかどうかを指定するものです。

4.10.4.2.7 maxlength 属性

Status: Last call for comments

maxlength 属性は、それが適用されるとき、この input 要素の汚染値フラグによって制御されるフォーム・コントロール maxlength 属性となります。

この input 要素が最大許容値長を持つなら、この要素の value 属性の値のコード・ポイント長は、この要素の最大許容値長と同じか小さくなければいけません。

4.10.4.2.8 pattern 属性

Status: Last call for comments

pattern 属性は、そのコントロールののチェックに使う正規表現を指定します。

指定されたら、この属性の値は、JavaScript の Pattern プロダクションに一致しなければいけません。[ECMA262]

制約バリデーション: この要素のが空文字列ではなく、この要素の pattern 属性が指定され、その属性の値が、disabled となる global, ignoreCase, multiline フラグを伴った JavaScript 正規表現としてコンパイルされるとき(ECMA262 Edition 3, セクション 15.10.7.2 から 15.10.7.4 を参照のこと)、コンパイルは成功するものの、正規表現の結果がこの要素のに完全に一致しないなら、この要素はパターン不一致に陥っていることになります。[ECMA262]

この属性に使われる正規表現の言語は JavaScript で使われるのと同じということになります。ただし、pattern 属性は値全体を一致させなければならず、部分一致ではないという点を除きます(パターンの最初が ^(?:で、最後が )$ のようなものです)。

input 要素に pattern 属性を指定するとき、ウェブ制作者は、title 属性を入れて、そのパターンの説明を与えるべきです。ユーザーエージェントは、パターン不一致であることをユーザーに通知するなど適切なときに、その属性にコンテンツがあれば、それを使うことができます。 例えば、ツールチップに表示したり、支援テクノロジーであれば、そのコントロールにフォーカスが当たったときに読み上げるために使うことができます。

例えば、次のコードでは:

<label> パート番号:
 <input pattern="[0-9][A-Z]{3}" name="part"
        title="パート番号は 1 桁の数字の後に 3 桁のアルファベット大文字が続きます。"/>
</label>

... ユーザーエージェントは次のような警告を表示することになるでしょう:

パート番号は 1 桁の数字の後に 3 桁のアルファベット大文字が続きます。
このフィールドが訂正されるまで、このフォームを送信することはできません。

コントロールが pattern 属性を持つとき、その title 属性は、使うのであれば、そのパターンを説明したものでなければいけません。さらに情報を追加することもできますが、そのコントロールにユーザーが入力する助けとなるものでなけれればいけません。そうしないと、支援テクノロジーで十分に機能しないことになってしまいます。

例えば、title 属性にコントロールのキャプションを入れてしまうと、支援テクノロジーでは、あなたが入力したテキストは、必要なパターンに一致していません。誕生日。 といった具合に読み上げられてしまい、使い勝手が悪くなります。

ユーザーエージェントは、エラーではない状況においてでも、title を表示することができます(例えば、そのコントロールにマウス・ポインターを当てたときにツールチップとして表示するなど)。そのため、ウェブ制作者は、エラーが発生したかのような言葉を title に入れないよう注意するべきです。

4.10.4.2.9 minmax 属性

Status: Last call for comments

min and max 属性は、この要素の値の許容範囲を表します。

これらの構文は、その type 属性の現在の状態を定義するセクションで定義されています。

この要素に min 属性が指定され、その min 属性の値に文字列を数値に変換するアルゴリズムを適用した結果が数値であれば、その数値は、この要素の最小値となります。そうでなければ、type 属性の現在の状態がデフォルトの最小値を定義しているなら、それが最小値となります。そうでなければ、この要素は最小値を持ちません。

制約バリデーション:この要素が最小値を持ち、この要素のに与えられた文字列に文字列を数値に変換するアルゴリズムを適用した結果が数値となり、そのアルゴリズムから得られた数値が最小値より小さければ、この要素はアンダーフローに陥っていることになります。

min 属性はステップ・ベースも定義します。

この要素に max 属性が指定され、その max 属性の値に文字列を数値に変換するアルゴリズムを適用した結果が数値であれば、その数値は、この要素の最大値となります。そうでなければ、type 属性の現在の状態がデフォルトの最大値を定義しているなら、それが最大値となります。そうでなければ、この要素は最大値を持ちません。

制約バリデーション:この要素が最大値を持ち、この要素のに与えられた文字列に文字列を数値に変換するアルゴリズムを適用した結果が数値となり、そのアルゴリズムから得られた数値が最大値より大きければ、この要素はオーバーフローに陥っていることになります。

max 属性の値(最大値)は、min 属性の値(その最小値)より小さくてはいけません。

もし、この要素が最小値より小さい