romy.tetue.net

Développement front et conception web
X-HTML, CSS, SPIP, sémantique et accessibilité

Paris-Web 2010, j’y vais ! (du 14 au 16 octobre).

Signaler le focus améliore la navigation


13 avril,
par Romy Duhem-Verdière

Partagez cet article : Voter pour cet artice sur hellocoton.fr Netvibes Yahoo myspace Technorati stumbleupon Digg Del.ico.us

Ne supprimez pas la bordure pointillée autour des liens ! Au contraire, stylez le focus : il doit attirer l’attention.

Le lien ou l’élément qui a le focus est celui que l’internaute a atteint en tabulant au clavier, ou en positionnant le curseur de la souris ou encore le doigt sur l’écran tactile.

Essayez donc de tabuler sur un site (en pressant plusieurs fois la touche Tab de votre clavier) : si ce site est bien fait, vous verrez « s’allumer » les éléments que vous atteignez ainsi : liens, champs de saisie des formulaires, boutons, etc. Sinon pleurez.

Ne masquez pas le focus !

Méfiez-vous des reset CSS dont certains suppriment le style du focus, d’un coup de :focus { outline: 0; } par exemple, ce qui prive les internautes naviguant au clavier de tout repère et gène considérablement leur navigation. N’oubliez pas de le redéfinir, comme le recommande d’ailleurs Eric Meyer en commentaire de son fameux reset : remember to define focus styles !

La petite bordure en pointillés autour des liens (sous Firefox), que beaucoup cherchent à supprimer, est au contraire bien utile. Elle est même insuffisante. Avec ça, arrivez-vous vraiment à repérer le focus dans la page lorsque vous tabulez ? Non. Le pointillé par défaut est souvent très difficile à repérer, voir impossible (sur une image, par exemple, ou quand il se trouve hors champ).

Pour permettre la navigation au clavier, il est indispensable de faire ressortir le focus davantage qu’avec le style par défaut du navigateur.

Focus et survol, même combat ?

La méthode la plus simple consiste à styler d’une pierre deux coup, en ajoutant la pseudo-classe :focus à la règle stylant le survol des liens, en premier. Par exemple :

a:focus, a:hover { text-decoration: underline; }

Focus et survol se démarquent alors exactement de la même façon. Mais ce n’est pas idéal : si le soulignement suffit souvent à confirmer le survol du pointeur que l’on suit des yeux à l’écran, le focus, qui n’est quant à lui pas précédé du regard, a besoin d’être signalé de façon beaucoup plus forte que le survol.

Renforcez plutôt le focus

Parcourir la page à coup de tabulations fait sauter le focus d’un coin à l’autre de l’écran de façon parfois imprévisible. Pour éviter de le perdre et de trop le chercher du regard, le focus doit attirer l’attention. Allons-y franchement, en stylant ainsi :

Cela fait d’ailleurs partie de ma feuille CSS de base, que je complète parfois de façon plus radicale, comme ici :

Essayez, vous verrez !

Voici quelques sites où la navigation a été rendue plus agréable en stylant ainsi les pseudo classes CSS : openweb.eu.org, lewebaccessible.com, lesintegristes.net, goetter.fr. Avouez que c’est mieux !

Je remercie Monique Brunel d’avoir attiré notre attention sur cela lors de l’atelier accessibilité de ParisWeb 2008. Voir aussi : Better CSS outline suppression, Survol des hyperliens et :focus par tabindex, sans oublier LoVe Fuck HAte.

Vos commentaires

  • Le 13 avril à 18:16, par Jacques Pyrat

    Et une autré référence sur le même sujet trouvée il y a quelques jours : Whenever you use :hover, also use :focus.

  • Le 27 mai à 14:22, par Philippe @ HTML5 débloque-notes

    Rhôooo... on ne peut pas spammer ici mais tout juste commenter.

    J’ai mis ça en place aussi mais IE8 applique le zoom sur la totalité de la page de la page de mon côté.
    Je l’ai empêché de faire le focus tout simplement faute d’avoir trouver un hack. :-(

Un message, un commentaire ?

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Suivre les commentaires : RSS 2.0 | Atom



© 2000-2010 Romy Duhem-Verdière | Certains droits réservés | Qui suis-je ? | Contact | Aide | Top ↑
Vérifiez vous-même la qualité du code de cette page en la soumettant aux validateurs XHTML et CSS.