inputmode
Indique au navigateur quel type de clavier virtuel afficher lors de la saisie dans un champ, sans changer la validation du type d'input.
Description
L’attribut inputmode permet de spécifier le type de clavier virtuel à afficher sur mobile sans contraindre la validation du champ. Contrairement à type, inputmode n’affecte pas la sémantique ni la validation — il optimise uniquement l’expérience de saisie.
Syntaxe
<input type="text" inputmode="numeric" pattern="[0-9]*">
<input type="text" inputmode="tel">
Valeurs
| Valeur | Clavier affiché |
|---|---|
none | Pas de clavier (contrôle personnalisé) |
text | Clavier texte standard (défaut) |
decimal | Clavier numérique avec séparateur décimal |
numeric | Clavier numérique sans décimal (0-9) |
tel | Clavier téléphonique (0-9, *, #) |
search | Clavier optimisé pour la recherche |
email | Clavier avec @, ., caractères email |
url | Clavier avec /, ., caractères URL |
Exemples
Code PIN à 4 chiffres :
<label for="pin">Code PIN :</label>
<input type="password" id="pin" name="pin"
inputmode="numeric" pattern="[0-9]{4}"
maxlength="4" autocomplete="current-password">
Montant en euros :
<label for="montant">Montant (€) :</label>
<input type="text" id="montant" name="montant"
inputmode="decimal" placeholder="0,00">
Notes
inputmode vs type : type="number" contraint la validation et le format; inputmode="numeric" affiche un clavier numérique sur un champ texte standard, acceptant n’importe quelle valeur. Utile pour les codes postaux, codes PIN, numéros de carte.
Support mobile : ignoré sur les claviers physiques. Son effet dépend du navigateur et du système d’exploitation.
Support navigateurs
Chrome66+ · Firefox95+ · Safari12.1+ · Edge79+