Comment permettre le focus du clavier de liens dans Firefox?
Aller à cette ultra-simple violon dans un navigateur Webkit et cliquez sur l'une des entrées:
<input type="text">
<input type="text">
<input type="text">
<a href="#">my first link</a>
<a href="#">my second link</a>
<a href="#">my third link</a>
Ensuite, notez que vous pouvez clavier naviguer à travers à la fois les entrées et les liens à l'aide de la Tab clé (et Maj+Tab pour naviguer dans l'ordre inverse).
Maintenant, regardez le même violon dans Firefox sur Mac OS et faire la même chose. Les entrées de recevoir le focus, mais les liens ne pas recevoir le focus. Ce n'est pas un CSS problème d'affichage. L'accent des sauts à partir de la dernière entrée de la barre d'URL.
J'ai essayé les combinaisons infinies de tabindex
déclarations dans le balisage, et en vain, par exemple:
Ce que le diable se passe ici? Je vais accepter toute réponse a:
a) un violon de travail dans Firefox
b) une explication de ce qui se passe exactement ici dans Mozilla tête. Il semble en contradiction avec la spec.
- Pas sûr de ce qui se passe, il peut être un bizarre JSFiddle & FF bug. Essayez de laisser tomber tous les
tabindex
s, et de mettretabindex="-1"
sur tous et seulement les liens. Je n'ai pas accès à FF pour tester. - nah c'est un mac chose. voir ma réponse...
- Oh ouais. Ce comportement doit également se produire dans Safari aussi, si vous n'avez pas de "toutes les commandes" activé ou quoi que ce soit. Ce n'est pas une question Moz
Vous devez vous connecter pour publier un commentaire.
Ok, quelqu'un l'a expliqué à moi. C'est un problème de Mac. Mozilla est vrai pour les paramètres du système d'exploitation Mac OS.
Il y a deux façons distinctes autour de ce côté de l'utilisateur. Les deux semblent fonctionner:
Dans Préférences Système → Clavier, dans le Raccourcis volet, cochez la case “toutes les commandes”, à la radio à fond.
Dans Firefox, tapez "
about:config
" dans la barre d'URL. Il n'y a pas deaccessibility.tabfocus
préférence sur le mac, de sorte que vous aurez à faire un. Clic droit dans la fenêtre créer un nouveau "integer" pref, et 7.Aucune de ces sont terriblement évident. Aussi, aucune de ces sont une solution côté serveur pour les développeurs, ce qui est frustrant.
vous pouvez modifier
<a>
sur<button>
si il est possible dans votre situationhttp://jsfiddle.net/eK4TT/26/
<a>
avectarget="_blank"
, qui ne devrait pas déclencher les bloqueurs -- ils déclenchent si le clic a été reporté. Voir jsfiddle.net/eK4TT/37