web-dev-qa-db-fra.com

Comment autoriser le focus clavier des liens dans Firefox?

Accédez à ce violon ultra-simple dans un navigateur Webkit et cliquez sur l'une des entrées:

http://jsfiddle.net/eK4TT/

<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 naviguer au clavier à travers les entrées et les liens à l’aide des touches Tab clé (et Shift+Tab naviguer dans l’ordre inverse).

Maintenant, regardez le même violon dans Firefox sur Mac OS et faites la même chose. Les entrées reçoivent le focus, mais les liens ne le recevront pas. Ce n'est pas un problème d'affichage CSS. Le focus passe de la dernière entrée à la barre d'URL.

J'ai essayé d'innombrables combinaisons de déclarations tabindex dans le balisage, mais en vain, par exemple:

http://jsfiddle.net/eK4TT/1/

Mais qu'est ce qu'il se passe ici? J'accepterai toute réponse qui a:

a) un violon travaillant dans Firefox
b) une explication de ce qui se passe exactement dans la tête de Mozilla. Il semble contredire le spec .

93
Ben

Ok, quelqu'un m'a expliqué ça. C'est un problème de Mac. Mozilla respecte les paramètres du système d'exploitation sous Mac OS.

Il y a deux manières distinctes de contourner cela du côté utilisateur. Les deux semblent fonctionner:

  1. Dans Préférences Système Clavier , dans le volet Raccourcis , cochez la case «Toutes les commandes» en bas.

  2. Dans Firefox, tapez "about:config" dans la barre d'URL. Il n'y a pas de préférence accessibility.tabfocus sur le Mac, vous devrez donc en créer un. Faites un clic droit dans la fenêtre, créez un nouveau "entier" pref et définissez-le sur 7.

Ni l'un ni l'autre ne sont terriblement évidents. En outre, aucune de ces solutions n’est une solution côté serveur pour les développeurs, ce qui est frustrant.

167
Ben

vous pouvez changer <a> sur <button> si cela est possible dans votre situation

http://jsfiddle.net/eK4TT/26/

0
sglazkov