テキストフィールド

Text Field

別名: テキストボックス、テキスト入力欄、Text input、Text box、Input field

生態(さわってみる)

ラベルは常に表示、placeholderは未入力時だけのヒントで入力すると消える(別物)

一言定義

ラベルと1行の入力欄からなる、フォームで最も基本的な文字入力UI。

分類

使う場面

  • 名前・メール・住所など、単一行で完結する自由記述を集めたいとき
  • 入力候補が絞り込めない、あるいは事実上無数にあるとき

避ける場面

  • 複数行にわたる長文入力が必要なとき(→テキストエリア)
  • 入力候補を提示して選ばせたいとき(→オートコンプリートやセレクトボックス)

近縁種との比較

テキストエリアとは入力できる行数で区別され、1行で完結する値にはテキストフィールド、 改行を含む長文にはテキストエリアを使う。候補選択を伴わせたい場合はオートコンプリートに 発展させ、送信前にその場でエラーを伝えたい場合はインラインバリデーションを組み合わせる。 日付という特定のデータ型に特化させたものがデートピッカーで、表記ゆれが起きやすいかどうかで 汎用のテキストフィールドに任せるかカレンダーUIに任せるかを判断する。

実例リンク

アクセシビリティ

role
input[type="text"](またはemail/tel等)+ 関連付けられた<label>(for/id、またはlabelでinputを包む)
キーボード操作
Tabで到達、通常のテキスト編集キー操作
補足
フローティングラベルはCSSのみ(:placeholder-shown疑似クラス等)で実装可能。labelとplaceholderは別物で、placeholderを常時表示のラベル代わりにしてはいけない(NN/g)