41 votes

Comment désactiver les onglets pour les <a>tags</a>

J'utilise des balises pour les liens sur une page Web. Comment puis-je désactiver la touche de tabulation de sélectionner l'un ou l'autre.

183voto

Sergey Ilinsky Points 16803

Sinon, vous pouvez choisir une solution HTML simple.

<a href="http://foo.bar" tabIndex="-1">inaccessible by tab link</a>

La spécification HTML5 dit :

Si la valeur est un entier négatif
L'agent d'utilisateur doit définir l'indicateur de focus de tabindex de l'élément, mais ne doit pas permettre l'atteinte de l'élément à l'aide de la navigation de focus séquentielle.

5voto

meouw Points 21368

J'ai dû empêcher les divs avec et le débordement: règle automatique de css d'avoir un tabulation d'arrêt avant et ce que j'ai fait était (transposé pour a):

 var links = document.getElementsByTagName( 'a' );

for( var i = 0, j =  links.length; i < j; i++ ) {
    links[i].setAttribute( 'tabindex', '-1' );
}
 

L'utilisation de tabindex plutôt que de flou signifie que le focus passera à l'élément suivant.

Êtes-vous sûr de vouloir désactiver tabindex? C'est un peu vital pour la navigation sans souris.

Je viens de remarquer une réponse similaire en HTML simple

0voto

nlaq Points 11379

Essayer

 <a onfocus="this.blur();" href = "bla">Bla</a>
 

0voto

2astalavista Points 7092

La balise <a> doit pouvoir être indexée par tabulation. Cela facilite la navigation.

utilisez plutôt <p> ou <span> , width onclick="window.location.href='URL'" attribut d'événement.

Exemple:

 <span onclick="window.location.href='http://www.w3schools.com'">text that redirects you to W3S on click, where you can read more about HTML standards.</span>
 

-5voto

Evan Fosmark Points 17732

Vous pouvez faire quelque chose comme ceci pour ces liens:

  <a href="http://foo.bar" onfocus="this.blur()">Can't focus on this!</a>
 

Vous devriez cependant utiliser la réponse ci-dessous.

http://stackoverflow.com/a/457115/974680

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X