Les liens et boutons, également appelés "call-to-actions" (CTA), sont des éléments clés dans la conception d'une interface utilisateur. Les liens et boutons permettent à l'utilisateur d'interagir avec l'interface et de réaliser des actions spécifiques, telles que l'envoi d'un formulaire ou l'accès à une nouvelle page. Leur design doit être soigné pour maximiser l'expérience utilisateur.
Les liens et les boutons ont 4 états distincts : neutre, focus, survol, désactivé. De plus, les liens peuvent avoir un état visité.
La zone interactive des liens doit respecter la norme de 36 pixels sur desktop et 44 pixels sur mobile (ref. 2.5.5 Taille de la cible) sauf pour les liens dans les textes courants qui suivent la taille du texte.
Sauf exceptions, les liens marquent un changement de page et les boutons une action à même une page. Un lien peut être déguisé en bouton afin d'augmenter sa visibilité.
Les libellés doivent être clairs, en fonction du contenu à afficher ou de l'action à poser.
L’information relative au document (type de document, poids, langue) doit être intégrée dans le lien.
Avantages | Inconvénients |
---|---|
|
|
Meilleures pratiques:
Utilisez une couleur contrastée pour les boutons et les liens pour qu'ils se démarquent sur la page.
Utilisez un langage clair et spécifique sur les boutons et les liens pour que les utilisateurs comprennent exactement ce qu'ils vont faire lorsqu'ils cliquent sur ces éléments.
Utilisez une taille de police appropriée pour que les boutons et les liens soient facilement lisibles.
Évitez les designs douteux, tels que des boutons qui ressemblent à des publicités ou des liens qui ressemblent à des liens de navigation.
Évitez d'utiliser trop de boutons sur une seule page. Utilisez plutôt des groupes de boutons pour classer les actions.
Testez l'emplacement et l'apparence des boutons et des liens pour voir ce qui fonctionne le mieux auprès des utilisateurs.
Références
Material Design: https://material.io/design/components/buttons.html
Ant Design: https://ant.design/components/button/
Bootstrap: https://getbootstrap.com/docs/5.0/components/buttons/
Apple HIG: https://developer.apple.com/design/human-interface-guidelines/ios/controls/buttons/
Recommandations
Différencier les boutons des liens
Les boutons <button>
/<input>
permettent à l’utilisateur de déclencher des actions. Ils sont à employer pour soumettre des informations, pour afficher l’élément suivant ou précédent dans un carrousel, pour fermer une fenêtre modale, etc.
Les liens <a> permettent à l’utilisateur de naviguer. Ils sont à employer pour pointer sur une autre page ou sur une zone précise de la page courante par l’intermédiaire d’un système d’ancres.
💬 Remarques
Il est recommandé d'utiliser la balise <input type="button">
à l'intérieur d'un <form>
(bouton Envoyer, etc...) et d'utiliser la balise <button>
lorsque c'est une action (flèche, bouton fermer, etc...).
📝 Ressources
Upload
Add shortcut
Distinguer les liens du texte courant (fka 4.1.1)
Lorsque des liens sont intégrés dans les contenus, ils doivent être différenciés visuellement du texte qui les entoure, par exemple, en les soulignant.
Cette règle concerne uniquement les liens à même le contenu principal. Les liens intégrés dans des groupes de liens (dans les menus, par exemple) ne sont pas concernés car suffisamment reconnaissables comme tels.
💡 Astuces
En plus de cette recommandation, il est également utile de prévoir l’apparence des liens au survol dans les maquettes :
Lien avec trait (exemple A) Normal : lien de couleur, souligné d'un trait pointillé 1 px. Survol : trait plein et large bande de couleur en arrière-plan. Usage : liens intégrés dans un texte courant. Pour les titres de grands formats et les titres dans un fil éditorial, le soulignement n'est pas nécessaire; cependant l'état de survol doit être précisé.
Lien sans trait (exemple B): Normal : lien de couleur. Survol : changement de couleur du lien et large bande de couleur en arrière-plan, déclinaison pâle de la couleur du lien. Usage : liens en énumération (module d'informations complémentaires, fil de liens éditoriaux, mots-clés, etc.).
💡 ₊ Astuces - bonification
Une autre bonne astuce est de modifier la couleur du lien lorsque le contenu a été consulté.
⚠️ Attention
Il est fortement déconseillé de :
Se baser uniquement sur la couleur pour différencier visuellement les liens du texte qui les entoure.
D’appliquer un effet de soulignement à d’autres éléments que les liens.
📝 Ressources
Upload
Add shortcut
Utiliser un intitulé explicite (4.2.1)
Un intitulé explicite doit être prévu pour chaque lien et chaque bouton, c’est-à-dire que la fonction du lien doit être parfaitement compréhensible à la lecture du seul intitulé, par exemple, Consulter le site.
Malgré tout, pour demeurer compréhensible, l’information précise concernant la page d’aboutissement doit se trouver dans l’attribut « title » (par exemple, Consulter le site Médium Large).
Identifier les liens externes (4.2.2)
Pour chaque lien qui déclenche une sortie du site, soit par l’ouverture d’une fenêtre d’extraction ou d’un nouvel onglet, prévoir une identification claire à l’aide d’une icône afin de prévenir l’utilisateur de cette action.
Cette icône complète le lien en le suivant immédiatement.
💬 Remarques
On applique une règle d'exception pour les contenus provenant de sites qui appartiennent à Radio-Canada, même si l'url diffère du site : ICI TOU.TV, ICI MUSIQUE, ICI EXPLORA, ICI ARTV.
Le pictogramme indiquant qu’il s’agit d’un lien externe complète le lien.
Préciser les liens pointant sur des documents à télécharger (4.2.3)
Chaque fois qu’un lien pointe sur un document à télécharger, les informations suivantes doivent être précisées à même l’intitulé :
Le nom du document;
Le type de document;
Le poids du document;
La langue du document (si celle-ci est différente de la langue principale de la page).
L’information relative au document (type de document, poids, langue) doit être intégrée dans le lien.
Références
Design Systems
https://design.quebec.ca/composantes/action/boutons
https://conception.canada.ca/configurations-conception-communes/boutons.html
https://m3.material.io/components/buttons/overview
https://mui.com/material-ui/react-link/
https://www.w3.org/TR/wai-aria-practices/#button
https://spectrum.adobe.com/page/button/
https://spectrum.adobe.com/page/link/
https://polaris.shopify.com/components/actions/button#navigation
https://polaris.shopify.com/components/navigation/link#navigation
https://www.lightningdesignsystem.com/components/buttons/
https://design.mindsphere.io/patterns/button.html
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a
https://developer.apple.com/design/human-interface-guidelines/ios/controls/buttons/
Documentation large
https://www.nngroup.com/videos/fittss-law-links-buttons/
https://www.smashingmagazine.com/2019/02/buttons-interfaces/
https://uxdesign.cc/button-design-user-interface-components-series-85243b6736c7
https://uxplanet.org/7-basic-rules-for-button-design-63dcdf5676b4
https://ux.iu.edu/writings/buttons-vs-links-basic/
https://a11y-101.com/design/button-vs-link
https://uxmovement.com/buttons/when-to-use-a-button-or-link/
Documentation spécifique
https://www.nngroup.com/articles/visual-treatments-accessibility/
https://www.nngroup.com/articles/better-link-labels/
https://www.nngroup.com/articles/link-promise/
https://www.smashingmagazine.com/2021/08/frustrating-design-patterns-disabled-buttons/
https://www.smashingmagazine.com/2018/01/ghost-button-design/
https://css-tricks.com/making-disabled-buttons-more-inclusive/
https://www.nngroup.com/articles/split-buttons/
https://conception.canada.ca/configurations-conception-communes/liens-telechargement.html