enum Valeurs : none,text,decimal,numeric,tel,search,email,url

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

ValeurClavier affiché
nonePas de clavier (contrôle personnalisé)
textClavier texte standard (défaut)
decimalClavier numérique avec séparateur décimal
numericClavier numérique sans décimal (0-9)
telClavier téléphonique (0-9, *, #)
searchClavier optimisé pour la recherche
emailClavier avec @, ., caractères email
urlClavier 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+