本文へスキップ

フォーム入力

入力をラクに、ミスなく導く工夫。

入力を求める部品のカテゴリ。テキストフィールド・セレクト・ラジオといった基本部品から、リアルタイム検証・入力マスク・文字数カウンタ・パスワード強度のような「ミスを起こす前に止める」仕掛け、ステップフォームやログイン・新規登録のような画面単位の型まで揃う。原則はエラーの防止と回復。フォームの離脱はほとんどが送信後の赤字で起きるので、入力中に形式を整え、その場で判定し、直し方を示すほうが安い。フォームの完了率が低い、エラーの場所が分からないと言われる、そんな画面を組み直すときに引く。

関わる原則: エラーの防止と回復22件

使い分けまず text-field で状態(通常/フォーカス/エラー)の見た目を決める。形式が決まっている入力は input-mask、判定を即返すなら inline-validation。選択肢が少なければ radio-group、多ければ select-dropdown、検索が要るなら autocomplete / combobox。長い入力は multi-step-form に分ける。

まず見る3件

  • 入力

    テキストフィールド

    Text Field

    ラベル・補助テキスト付きの基本の入力欄。フォーカスで枠色とリングが変わり、通常状態とエラー状態を並べて比べられる。

    • フォーカスは枠色+3px の半透明リング。枠色だけだと、色の見分けが難しい人には移動が分からない
    • 補助文はエラーが出ても同じ場所に出す。位置が変わると、直したあとに何を読めばよいか探させる
    • エラーはアイコン・色・文言の3つで示す。赤い枠だけでは何が間違いか分からない
  • 入力

    リアルタイム検証解説あり

    Inline Validation

    メールアドレスを入力すると形式を即時判定し、✓(緑)/ ✗(赤)とメッセージでフィードバックする。

    • 結果は枠色・アイコン・文言の3つで出す。緑と赤の枠だけでは、色の見分けが難しい人に伝わらない
    • 空欄は無印に戻す。消したのに ✗ が残ると、何を直せばよいか分からない
    • 見本は毎打鍵で判定するが、実運用は初回 blur まで保留し、一度エラーが出た欄だけ入力中も再評価するのが穏当
  • クリック

    セレクト

    Select / Dropdown

    ボタンを押すとリストボックスが開くカスタムのセレクト。矢印キー・Enter・Escで操作でき、選択中の項目にはチェックが付く。

    • フォーカスはボタンに留め、リスト内の位置は aria-activedescendant で伝える。リストへフォーカスを移すと Esc で戻す処理が要る
    • 開いたときのハイライトは選択中の項目に置く。先頭固定だと、いまの値を確かめるために一度スクロールさせる
    • 選択中はチェック印+太字。ハイライト(背景色)と混ぜると「選ばれている」と「いま指している」が区別できない

使い分け表

パーツ操作技術向く場面状態
フローティングラベル
Floating Label
入力JS氏名・メールなど短いラベルの省スペースなフォーム・初期値が入る編集フォーム(is-filled で浮上位置が正しい)default / focus
リアルタイム検証
Inline Validation
入力JSメール・郵便番号など形式を機械的に判定できる欄・送信前に体裁の誤りだけ早く気づかせたいフォームdefault / focus / error / success
パスワード表示切替
Password Visibility Toggle
入力JSログイン・登録フォームのパスワード欄・スマホで入力ミスを確認させたい認証画面default / hover / focus
文字数カウンタ
Character Counter
入力JSコメント・SNS 投稿など上限のある短文入力・残り文字数を意識しながら調整させたい欄default / focus
レンジスライダー
Range Slider
ドラッグJS満足度・音量など1つの値を大まかに決める入力・値をリアルタイムに大きく表示したい設定画面default / hover / active
日付ピッカー
Date Picker
クリックJS予約日・誕生日など特定の1日を確定させる入力・日付の書式を覚えさせたくないフォームdefault / hover / focus / active
タグ入力
Tag Input (Chips)
入力JS記事タグ・スキルなど自由語を複数積むフォーム・Enter や「,」で区切って素早く追加させたい入力default / hover / focus
入力マスク
Input Mask
入力JS電話番号・郵便番号など桁が決まった数値入力・ハイフンを自動で入れてカーソル位置を保ちたい欄default / focus
星評価
Star Rating
クリックJSレビュー・満足度の5段階評価・ホバーで仮の値、クリック/タップで確定させたい入力default / hover / active
オートコンプリート
Autocomplete
入力JS都道府県・駅名など数十件の有限候補から選ぶ入力・候補に無い自由入力も許したい欄default / hover / focus / active / empty
ステップフォーム
Multi-Step Form (Wizard)
入力JS会員登録・予約など意味のまとまりで分かれる長いフォーム・進捗を見せて離脱を減らしたい手続きdefault / hover / focus / error / disabled / success
ドラッグ&ドロップ アップロード
Drag & Drop File Upload
ドラッグJSPC のドラッグとスマホのタップを同じ枠で受ける単一ファイル送信・ファイル名と進捗バーをその場で見せたい画面default / focus / active / loading / success
ワンタイムコード入力
OTP Input
入力JSSMS・メールの6桁確認コード入力・1桁打つごとに次へ進めたい認証画面default / focus / success
コンボボックス(検索+複数選択)
Combobox (multi-select)
入力JS担当者・ラベルなど候補から複数選んでチップに積む入力・検索で絞ってから選ばせたい割り当て画面default / hover / focus / active / empty
テキストフィールド
Text Field
入力JSフォームの基本となるラベル+補助文付き入力欄・通常とエラーの見た目を揃えたいデザインシステムdefault / focus / error / success
自動リサイズテキストエリア
Auto-grow Textarea
入力JSチャット・メッセージなど行数が読めない入力・空欄は1行、書くほど伸ばしたい欄default / focus
セレクト
Select / Dropdown
クリックJSプラン・地域など数個〜十数個から1つ選ぶ入力・ネイティブ select より見た目を揃えたいフォームdefault / hover / focus / active
ラジオボタン
Radio Group
クリックJS支払い方法など説明付きの選択肢を1つ選ぶ入力・選択肢をカードで大きく押しやすくしたいフォームdefault / hover / focus / active
検索バー
Search Bar
入力JSサイト・アプリのヘッダーに置くキーワード検索・入力があるときだけクリアを出したい欄default / hover / focus / active
パスワード強度メーター
Password Strength Meter
入力JS登録・変更フォームのパスワード欄・長さと文字種から強度を段階で見せたい入力default / hover / focus
ログインフォーム
Login Form
入力JSメール+パスワードの定番ログイン画面・送信中をボタン内スピナーで見せたい認証default / hover / focus / active / disabled / loading / success
新規登録フォーム
Sign Up Form
入力JS氏名・メール・パスワード・規約同意の新規登録・欄を離れた時点で検証しその場で直させたい入力default / hover / focus / active / error / success

すべての見本(22件)

  • 入力

    フローティングラベル解説あり

    Floating Label

    フォーカスするとラベルが枠の上にスッと浮き上がる入力欄。省スペースで、いま何を入力中か直感的に分かる。

  • 入力

    リアルタイム検証解説あり

    Inline Validation

    メールアドレスを入力すると形式を即時判定し、✓(緑)/ ✗(赤)とメッセージでフィードバックする。

  • 入力

    パスワード表示切替解説あり

    Password Visibility Toggle

    目のアイコンをクリックするとパスワードの表示・非表示を切り替えられる。入力ミスを確認しやすい。

  • 入力

    文字数カウンタ解説あり

    Character Counter

    テキストエリアの残り文字数をリアルタイム表示。上限に近づくと色が変わり、超過を防ぎやすい。

  • ドラッグ

    レンジスライダー

    Range Slider

    スライダーを動かすと値がリアルタイムに数値表示され、達成部分のトラックに色が乗る。

  • クリック

    日付ピッカー解説あり

    Date Picker

    入力欄をタップするとカレンダーが開き、日を選ぶと入力される。月の前後移動にも対応。

  • 入力

    タグ入力

    Tag Input (Chips)

    入力してEnterでタグ(チップ)が追加され、×ボタンで削除できる。日本語タグの初期表示あり。

  • 入力

    入力マスク

    Input Mask

    電話番号を入力すると自動整形(03-1234-5678 形式)。数字以外は無視され、入力がスムーズになる。

  • クリック

    星評価

    Star Rating

    星にホバー(PC)またはタップ(スマホ)で評価を選択。選んだ値をテキストで表示する。

  • 入力

    オートコンプリート解説あり

    Autocomplete

    入力に応じて候補リストを絞り込み表示。↑↓キーやタップで選択でき、選ぶと入力欄に反映される。都道府県など日本語ダミー候補つき。

  • 入力

    ステップフォーム解説あり

    Multi-Step Form (Wizard)

    3ステップ(基本情報→住所→確認)を進捗バー付きで切り替え。次へ/戻るボタンと必須チェックを備え、最後に入力内容を確認表示する。

  • ドラッグ

    ドラッグ&ドロップ アップロード解説あり

    Drag & Drop File Upload

    点線の枠にファイルをドラッグするか、クリック/タップで選択。ファイル名と疑似プログレスバーで進捗を表示する。

  • 入力

    ワンタイムコード入力

    OTP Input

    6桁の区切り入力フォーム。1文字入力で次マスへ自動移動、Backspaceで前へ戻る。全桁入力で確認演出、ペースト時は各マスに自動分配。

  • 入力

    コンボボックス(検索+複数選択)

    Combobox (multi-select)

    入力で候補を絞り込み、選ぶとチップとして入力欄に積み上がる複数選択UI。×で削除、↑↓とEnterのキーボード操作にも対応。

  • 入力

    テキストフィールド

    Text Field

    ラベル・補助テキスト付きの基本の入力欄。フォーカスで枠色とリングが変わり、通常状態とエラー状態を並べて比べられる。

  • 入力

    自動リサイズテキストエリア

    Auto-grow Textarea

    入力量に合わせて高さが自動で伸びるテキストエリア。scrollHeight に合わせて高さを更新し、文字数カウンタも連動する。

  • クリック

    セレクト

    Select / Dropdown

    ボタンを押すとリストボックスが開くカスタムのセレクト。矢印キー・Enter・Escで操作でき、選択中の項目にはチェックが付く。

  • クリック

    ラジオボタン

    Radio Group

    選択肢をカード状に並べたラジオグループ。ネイティブの input を使うので矢印キーで移動でき、選んだカードだけ枠と丸が色づく。

  • 入力

    検索バー

    Search Bar

    先頭に虫めがねアイコンを置いた検索入力。文字を入れるとクリア(×)ボタンが現れ、押すと入力が消えてフォーカスが戻る。

  • 入力

    パスワード強度メーター

    Password Strength Meter

    表示/非表示トグル付きのパスワード欄。長さと文字種の多さから強度を判定し、弱い/普通/強いのバーとラベルがリアルタイムに変化する。

  • 入力

    ログインフォーム

    Login Form

    メール・パスワード・「ログイン状態を保持」チェック・送信ボタン・パスワード再発行リンクを備えた定番のログイン画面。送信すると短いローディング演出が出る。

  • 入力

    新規登録フォーム

    Sign Up Form

    お名前・メール・パスワード(簡易強度表示)・利用規約同意を備えた新規登録フォーム。各欄はフォーカスを外した時点で検証し、問題があればその場でメッセージを出す。