Lors de la création d'un guide de style de site global, comment déterminez-vous quand un bouton ou un lien hypertexte doit être destiné à autre chose que la navigation?
Je vois beaucoup de temps avec l'utilisation intensive de jQuery et AJAX, les hyperliens font plus que de la navigation. Est-ce une mauvaise conception de les utiliser pour autre chose que la navigation?
En général, les utilisateurs s'attendent à ce que les liens à lier et les boutons de commande à commander. C'est-à-dire que les liens naviguent, présentent du nouveau contenu sans modifier les objets de données sous-jacents ou leurs relations ou positions. Les boutons changent ces choses, effectuant la création, la suppression, l'association, la conversion, la duplication, etc. Une règle empirique simple est si la légende la plus laconique pour le contrôle est un nom (par exemple, Accueil, Produits, Plan du site), puis utilisez un lien. Si la légende est un verbe (par exemple, mettre à jour, soumettre, supprimer, acheter), utilisez un bouton.
Cependant, vous avez raison de dire que des liens ont récemment été utilisés à la place des boutons de commande dans divers sites Web et même certains guides de style approuvent cela. En fait, des liens ont été utilisés à la place de presque tous les autres contrôles (par exemple, les boutons radio, les onglets, les cases à cocher). De plus, dans les applications de bureau pour clients lourds, les boutons peuvent naviguer, en particulier dans les applications plus anciennes qui ont vu le jour avant que le Web (et les liens) ne soient couramment utilisés. Je crois que cela déroute les utilisateurs et nous devons vraiment utiliser des contrôles d'apparence distincte pour des fonctions distinctes. Les applications Web et les applications de bureau doivent distinguer clairement la navigation et les commandes en utilisant respectivement des liens et des boutons. La navigation est nettement distincte des commandes car:
Les utilisateurs reviennent facilement à la navigation en cliquant sur Retour ou en fermant la fenêtre. C’est toujours une action "sûre". Les commandes ne peuvent souvent pas être annulées dans une application Web. Si les commandes peuvent être annulées, c'est par le biais d'une fonction Annuler, qui implique une réponse utilisateur différente de Retour ou Fermer.
Dans les applications de bureau, les utilisateurs n'ont pas besoin d'enregistrer après avoir navigué. L'enregistrement est souvent nécessaire après une commande.
Les commandes fournissent des commentaires différents qui sont souvent plus subtils que la navigation. Cela apparaît généralement lorsque l'utilisateur reçoit un nouveau contenu. Les commandes peuvent montrer le changement dans le contenu, mais souvent aucun changement n'est apparent (par exemple, pour Copier ou Enregistrer). Les applications Web ont souvent recours à des pages de confirmation (qui ne comptent pas comme navigation dans mon livre).
Pour ces raisons, cela aide l'utilisateur à avoir des contrôles distincts pour la navigation et les commandes, et heureusement, les attentes des utilisateurs pour les boutons et les liens facilitent la tâche. Cependant, l'utilisation continue de liens pour les commandes (et de boutons pour la navigation) sape ces attentes, et nous allons bientôt perdre cette opportunité.
La navigation et les commandes qui nous distinguent graphiquement nous offrent de puissants moyens de communiquer avec nos utilisateurs. Par exemple, si Contactez-nous est un lien, il affiche une liste d'adresses et de numéros de téléphone (je l'appellerais "Contactez-nous" plutôt que les "Contacts" les plus laconiques, car "Contactez-nous" est une telle convention courante, les utilisateurs numérisent spécifiquement dans les menus). En revanche, si Contactez-nous est un bouton, il amène les utilisateurs à un formulaire où ils peuvent directement soumettre des questions ou des commentaires (la légende du bouton doit avoir des points de suspension pour indiquer que plus d'informations sont requises pour la commande).
Je conviens que les boutons de commande ont tendance à être plus gros et plus laids que les liens, en particulier lorsque vous devez en avoir beaucoup dans la même fenêtre, ce qui est typique pour les applications Web qui n'ont pas d'interface de sélection d'objet ou de menus de commandes déroulantes. . Cependant, la solution consiste à développer une version allégée des contrôles appropriés, et non à recruter un autre contrôle avec des attentes utilisateur totalement différentes. De tels contrôles légers peuvent être techniquement des liens, mais ils devraient ressembler au contrôle qu'ils imitent. Par exemple, un "bouton" léger peut être une image liée d'un petit rectangle ombré avec une légende alignée au centre.
Il y a une zone grise dans la distinction navigation/commande que nous devons trier. Je recommande ce qui suit jusqu'à ce que la recherche appropriée puisse être effectuée:
Utilisez des liens pour:
Chargement d'une page de contenu
Chargement de contenu généré dynamiquement.
Chargement de contenu dans une partie d'une page si aucune autre option n'est tenable (par exemple, un onglet).
Navigation entre les pages d'un assistant (contrairement aux assistants de bureau traditionnels qui utilisent des boutons).
Utilisez les boutons de commande pour:
Actions qui modifient ou appliquent le contenu ou les objets de données sous-jacents.
Actions qui affectent la vue du contenu si aucune autre option n'est tenable.
Exécution des commandes d'une boîte de dialogue, y compris l'action Terminer d'un assistant.
L'annulation d'une boîte de dialogue, en supposant que l'annulation réinitialise les paramètres des boîtes de dialogue aux valeurs par défaut ou précédentes.
Utilisez un bouton de commande avec des points de suspension à la fin de la légende pour accéder à une boîte de dialogue.
Encore plus de détails, si vous pouvez le croire, sur http://www.zuschlogin.com/?p=18 .
De manière générale, s'il ressemble à un lien, je m'attends à ce qu'il charge une nouvelle page de contenu à partir d'une URL différente. Parfois, cela changera ma concentration dans le document actuel (c'est-à-dire href = "# fragment"), ce qui n'est pas trop un problème, tant qu'il est évident.
S'il ressemble à un bouton standard (c'est-à-dire le même que le bouton standard de mon système d'exploitation), je m'attends à ce qu'il ait le même effet, mais avec un effet secondaire que certaines informations que j'ai saisies affecteront la page résultante.
Tout autre comportement, sensiblement différent, devrait, à mon avis, être signalé, principalement par le style. C'est la vision puriste. D'un point de vue pragmatique, on pourrait faire valoir que, si un utilisateur clique sur quelque chose qui ressemble à un lien et, plutôt que de naviguer vers une URL différente, une partie de la page change d'une manière ou d'une autre (le lien `` ajouter un commentaire '' sur ce site est un bon exemple), l'utilisateur va en conséquence "perdre" beaucoup.
Notez que ce site a énormément de styles/comportements de liens différents (je compte au moins 8) mais c'est moins un problème car le public principal est susceptible d'être très averti du Web.
Le Web est devenu plus qu'une collection de pages HTML statiques où les hyperliens sont uniquement utilisés pour naviguer dans les documents. Je ne pense pas que ce soit une mauvaise conception d'utiliser des hyperliens pour exécuter des commandes. Si nous devions utiliser des boutons pour tout ce qui peut être cliqué et qui n'est pas de la navigation, les applications Web auraient l'air moche et très occupées.
Une chose très importante à noter dans les différences entre les liens et les boutons est que les robots (à la fois pour les sites de recherche comme Google et pour de nombreux moteurs de recherche au niveau du site) n'iront pas vers la cible d'un bouton; ils ne suivent que des liens.