Bonjour

Les navigateurs de mobiles, et en particulier les Safari sous iOS, traitent les balises <input> de facon à faciliter la saisie avec les claviers virtuels.
D'une part ils tirent parti de type='"number", "url", "mail" pour afficher un clavier virtuel adapté à la saisie, d'autre part ils ont des attributs "autocorrection" ou "autocapitalize" pour indiquer s'il faut ou non utiliser ces possibilités.

Questions :
1) est il raisonnable d'utiliser ces attributs sur des pages qui risquent d'être lues sur des navigateurs anciens?
2) existe-t-il un moyen de détecter par Javascript si le navigateur supporte ces attributs, de façon à modifier éventuellement leur contenu au chargement de la page?

Merci pour vos avis
Pour les types number, url, tel, email, etc. l'écrasante majorité des navigateurs les remplacent implicitement par text s'ils ne les supportent pas. Dans la plupart des cas c'est donc sans danger, hormis un clavier pas spécialement adapté au type de saisie attendu.

Ca peut être un peu plus gênant pour les types date et assimilés, dans ce cas l'utilisateur ne peut pas ouvrir de calendrier pour l'aider dans sa saisie. Il faudrait dans tous les cas toujours indiquer le format attendu et toujours donner un moyen de saisir la date manuellement, même si tu prévois un composant de sélection (je trouve qu'il n'y a rien de plus agaçant que les champs de saisie de date où on ne peut QUE entrer sa saisie à l'aide d'un widget, alors que ça va 36 fois plus vite à la main quand on sait ce qu'on veut).
Attention, sauf erreur seuls les navigateurs mobiles supportent les types date et dérivés, et pas tous les sous-types proposés dans la spec.

C'est particulièrement gênant pour le type color, car alors il faut saisir la couleur à la main sous la forme #RRGGBB. Je ne le recommanderais pas à l'heure actuelle, surtout que le support est assez limité (seules les versions récentes de chrome et firefox bureau le prennent en charge)
Modifié par QuentinC (27 Aug 2015 - 19:26)