The inputmode attribute is a hint that specifies the type of keyboard to display on smartphones and tablets to make input easier.
input 要素などに付けて、スマホやタブレットで表示されるソフトウェアキーボードの種類を指定します。
例:数字専用キーボード、メールアドレス用キーボードなど。
type="text" だけでは入力内容が多目的すぎて、ユーザーが毎回キーボードを切り替える手間が発生。
type="number" などでは 自動バリデーション も一緒に有効になり、自由度が落ちることも。
inputmode なら「見た目のキーボード」だけを切り替え、バリデーションは任せません。
ポイント:ブラウザや端末によって表示は完全一致しませんが、「最適なキーボードを出すヒント」として広くサポートされています。
HTML
<!-- 数字のみを入力させたいが、type="text" で自由に扱いたい -->
<input type="text" inputmode="numeric" pattern="\d+">
pattern などと組み合わせると 見た目 と バリデーション を分離できます。
type 属性type="email" は自動で形式検証が入る。pattern, JavaScript など)。inputmode は ユーザー体験を向上させるための“キーボード切り替えスイッチ”。
正しい値を設定すると、スマホ利用者は「入力しやすい!」と感じてくれます。