tabindex en CSS

est-il possible de contrôler tabindex avec CSS et si oui, quels navigateurs le supportent et sur quels éléments?

EDIT

je devrais dire, mon but est de rattraper les évènements de keydown sur un div. J'ai vu cette page http://www.quirksmode.org/js/events/keys.html# qui teste les évènements du clavier et montre que le seul moyen pour que keydown tire sur autre chose que le document et le corps ou une sorte d'élément de forme ou de lien est de faire déclarer tabindex dessus. Mais J'ai lu sur le site du W3C:

les éléments suivants soutiennent attribut tabindex: A, zone, bouton, INPUT, OBJECT, SELECT, and TEXTAREA.

alors je suis un peu confus, que faire pour être compatible avec standarts et faire fonctionner mon use case?

EDIT2

tout mon cas d'utilisation est une div avec beaucoup de contenu avec une barre de défilement artificielle. Je suis capable de le faire défiler avec les évènements de la souris mais pas de chance avec le clavier donc loin.

40
demandé sur Boris Hamanov 2011-02-11 20:08:50

2 réponses

mise à Jour de 2017

comme le souligne @Wallop dans les commentaires, le nav-index propriété passé de la spec en 2015 en raison du"manque d'intérêt pour la mise en œuvre".


regardez nav-index propriété introduite par W3C dans CSS3-UI.

Cette propriété a exactement le même comportement qu'un tabindex et s'applique à n'importe quel élément.

le " nav-index’ la propriété est une façon neutre de spécifier l'ordre de navigation séquentiel (aussi appelé "tabbing order"). Cette propriété remplace l'attribut HTML4 / XHTML1 "tabindex"

étant probablement la meilleure solution conforme aux normes pour le cas d'utilisation,nav-index est interprété uniquement par Opera jusqu'à présent (à partir de juin 2012) et est également marqué comme "caractéristique à risque" par W3C, donc peut être abandonné à tout moment.

autres solutions de navigation croisée sont:

  • non conforme aux normes: définissez le tabindex attribut DIV. Cela fonctionnera dans tous les navigateurs courants.

  • conforme aux normes: remplacez DIV par un élément d'ancrage (A sans href ensemble d'attributs de style avec display: blocktabindex l'attribut.

en ce qui concerne BoltClocks point, je suis d'accord que l'ordre de tabbing est très logique (à la fois l'ordre de sélection de texte et l'ordre des onglets est étroitement lié à la séquence dans laquelle les éléments sont enchevêtrés dans le document). D'un autre côté, la SSC a aujourd'hui un objectif plus vaste. Il peut manipuler non seulement le contenu d'un document (content propriété) mais aussi le comportement quand et si des événements doivent être lancés: i.e. en utilisant pointer-events,display ou z-index l'ordre de l'événement pointeur va changer. Si ce sont des propriétés CSS très basiques, pourquoi ne devriez-vous pas être en mesure d'influencer KeyBoardEvents, aussi?

26
répondu daluege 2018-08-31 12:45:33

c'est un peu vieux mais maintenant il y a des options css comme-moz-user-focus. Je suis sûr qu'il y a un équivalent de webkit.

https://developer.mozilla.org/en-US/docs/CSS/-moz-user-focus

7
répondu Noitidart 2016-10-20 17:26:36