J'ai des boutons qui sont des éléments div et je veux les faire pour qu'il soit possible pour l'utilisateur d'appuyer sur la touche de tabulation de son clavier et de se déplacer entre eux. J'ai essayé d'encapsuler leur texte dans des balises d'ancrage, mais cela ne semble pas fonctionner.
Quelqu'un a-t-il une solution?
href
attribut, cela devrait fonctionner. Il peut s'agir ou non d'une utilisation appropriée du balisage à moins que l'élément activable ne fasse réellement quelque chose.Réponses:
Ajoutez des
tabindex
attributs à votrediv
éléments.Exemple:
Selon le commentaire de steveax, si vous ne voulez pas que l'ordre de tabulation diffère de l'endroit où se trouve l'élément dans la page, définissez le
tabindex
sur0
:la source
tabindex=0
pour ne pas gâcher l'ordre de tabulation naturel.pour ceux qui sont intéressés, en plus de la réponse acceptée, vous pouvez ajouter la jquery suivante pour faire le changement de style div lorsque vous y accédez, et également gérer Entrée et Espace pour déclencher un clic (alors votre gestionnaire de clics fera le reste)
Je suis sûr que quelqu'un en a fait un plugin jq $ (). MakeTabStop
la source
Ajoutez l'
tabindex="0"
attribut à chaque div que vous voulez tabbable. Utilisez ensuite les pseudo-classes CSS: hover et: focus, par exemple pour signifier à l'utilisateur de l'application que le div est au point et cliquable, par exemple. Utilisez JavaScript pour gérer le clic.la source
Rendre les éléments tabables et cliquables avec une pression de touche à l'aide de jquery
Hypothèses
Exemple html:
Code Jquery: C'est le code qui s'exécutera lorsque la page sera chargée. Il doit s'exécuter sur votre page HTML.
Vous pouvez trouver un exemple fonctionnel ici .
la source