Est-il possible de définir le focus d'entrée par défaut sur un formulaire HTML sans utiliser JavaScript, par exemple:
<html>
<form>
Input 1: <input type="text" name="textbox1"/>
<br/>
Input 2: <input type="text" name="textbox2"/>
</form>
</html>
Je souhaite définir le focus par défaut sur l'une des zones de texte lorsque le formulaire est chargé sans utiliser JavaScript (car je souhaite que le comportement se produise lorsqu'un utilisateur a js désactivé).
Vous pouvez le faire en HTML5, mais sinon, vous devez utiliser JavaScript.
HTML5 vous permet d'ajouter autofocus
à votre élément de formulaire, par exemple:
<input type="text" name="myInput" autofocus />
Cela fonctionne dans les navigateurs qui prennent en charge HTML5 (ou plutôt, les navigateurs qui prennent en charge cette partie particulière de HTML5), mais comme vous le savez, tout le monde ne peut pas encore l'utiliser.
Ce qu'il faut savoir ... si vous définissez un élément de formulaire ciblé, toute personne utilisant la technologie Assisted Technology (AT) comme un lecteur d'écran devra sauvegarder pour afficher les menus et tout autre contenu se trouvant avant le champ ciblé.
Une méthode préférée, à mon avis, est de ne pas définir le focus sur aucun champ, sauf un lien sauté s'il est disponible. Cela leur donne la possibilité de sauter dans le contenu des pages ou de lire la page de haut en bas.
Comme d'autres l'ont dit, sans Javascript, vous ne pouvez pas garantir un champ par défaut. Une option alternative que vous pouvez essayer, si vous avez plusieurs champs auxquels un utilisateur peut vouloir accéder, est d'utiliser l'attribut accesskey
. Cela signifie essentiellement qu'un utilisateur peut revenir instantanément à l'un des champs au cours de la navigation, ce qui peut s'avérer utile pour les utilisateurs de lecteurs d'écran, etc.
L'article de Wikipédias sur ce sujet est très utile - http://en.wikipedia.org/wiki/Access_key
Ce n'est pas possible sans une forme de script. Même la page d'accueil de Google requiert JavaScript pour cibler le champ de recherche.