J'essaie de résoudre une discussion avec un collègue et d'obtenir un aperçu d'une pratique courante pour le comportement d'affinement de la recherche.
J'ai lu Meilleures pratiques pour la conception de filtres de recherche à facettes et vu des discussions qui touchent au sujet, mais je n'ai encore rien rencontré concernant ce que je conçois comme une mauvaise utilisation des éléments de formulaire.
Certes, lorsque vous offriez plusieurs choix de sélection sous une forme standard, on utiliserait des cases à cocher. Je comprends également comment les cases à cocher se sont retrouvées dans les menus d'affinement des résultats; après tout, lorsque vous proposez une sélection parallèle, vous devez indiquer clairement que plusieurs sélections sont disponibles.
Voici où j'ai besoin d'aide:
Corrigez-moi si je me trompe sur ce point - je crois que lorsque vous utilisez des éléments de formulaire, ce qui arrive, eh bien, dans un <form>
, vous devez fournir un bouton d'envoi ( référence W3C ). Cela étant, comment se fait-il qu'une exception soit faite par de nombreux sites Web dans le cas du raffinement des résultats par sélection parallèle? Je parle spécifiquement des résultats d'actualisation automatique lorsqu'une case de raffinement est cochée acheter l'utilisateur.
N'est-ce pas là un cas d'utilisation abusive d'éléments de formulaire par nature? Je veux dire, si un formulaire nécessite un bouton d'envoi et que les cases à cocher ne sont pas destinées à initier une soumission de formulaire, comment se fait-il que de nombreux sites remplacent le comportement par défaut en tant que tel? Il semble plus idéal d'éliminer les cases à cocher pour la sélection parallèle.
Je ne pense pas que ce soit une mauvaise utilisation des éléments de formulaire, car dans référence W3C vous avez indiqué ce qui suit me paraissait:
Cependant, dans la section Test (non souligné dans l'original):
Ce que nous avons est une exigence selon laquelle "une demande HTTP [...] soumet des données saisies dans un formulaire" et une technique consiste à utiliser un bouton d'envoi. Si c'est la technique que vous choisissez d'utiliser, alors pour tester, vous vérifierez que chaque formulaire a un bouton d'envoi.
Cependant, l'utilisation d'un script côté client pour actualiser automatiquement les résultats au clic de l'utilisateur sur l'élément est une autre technique qui satisfait l'exigence d'envoi d'une requête HTTP.
La vraie question est: qu'est-ce qui est le mieux pour l'utilisateur?
L'actualisation automatique des facettes et des résultats a un cas d'utilisation spécifique qui en fait une technique valide appropriée pour certains cas d'utilisation. Si, en sélectionnant une facette, l'ensemble de données résultant n'inclut pas certaines des autres facettes, vous devez l'indiquer à l'utilisateur et l'empêcher de les sélectionner.
Après chaque sélection, l'actualisation automatique donnera une rétroaction immédiate et précise à l'utilisateur. Il les informe qu'en sélectionnant l'option A, vous avez éliminé l'option B de votre recherche et les empêche de prendre une action qui entraînerait un état invalide/indésirable.
C'est exactement à cela que servent les recherches à facettes - en éliminant les données non pertinentes de l'expérience de votre utilisateur.
En utilisant un bouton de soumission où vous attendez une publication initiée par l'utilisateur, vous pouvez affirmer qu'il faudrait plus de clics et plus de messages expliquant qu'aucun résultat n'existe pour les facettes définies par l'utilisateur. L'utilisateur ne serait pas aussi bien servi par cette conception.
Lors de la conception d'interactions pour de vraies personnes essayant d'atteindre de vrais objectifs, la lettre de toute spécification est davantage une ligne directrice. Connaître les règles et les suivre est une bonne pratique, mais c'est aussi votre prérogative de "casser" ces règles lorsque cela se traduirait par une meilleure expérience.
Bien que dans ce cas, je ne suis pas vraiment d'accord pour dire que c'est une "règle" que vous avez d'avoir un bouton de soumission car la langue dans votre lien implique que ce n'est qu'une technique sans spécifier d'alternatives .