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
は ユーザー体験を向上させるための“キーボード切り替えスイッチ”。
正しい値を設定すると、スマホ利用者は「入力しやすい!」と感じてくれます。