Trogdor, un moteur de recherche très rapide… mais imposant le JavaScript
Par Victor Brito, le mercredi 4 février 2009, à 11h15 - Catégorie Accessibilité - Lien permanent
Olivier Andrieu a publié hier un article sur Abondance où il rapporte l'existence d'un moteur de recherche très rapide, appelé Trogdor, proposé par le site PieIsGood et propulsé par les outils BOSS de Yahoo!.
Ce moteur de recherche est d'autant plus rapide que les résultats s'affichent au fur et à mesure qu'on tape la requête, leur mise à jour s'effectuant dès qu'on saisit un caractère supplémentaire.
Seulement voilà : cette fonctionnalité est basée sur du JavaScript et, lorsque JavaScript est désactivé, un message d'avertissement apparaît sous le champ de saisie : Instant search results are unavailable because JavaScript is disabled
(en français : Les résultats de recherche instantanés ne sont pas disponibles parce que JavaScript est désactivé
).
Qui plus est, le formulaire de recherche est dépouvu de bouton de validation, même lorsque JavaScript est désactivé. Et si, malgré ce manque, on valide la requête saisie en appuyant sur Entrer, on est redirigé vers la page de résultats de Yahoo!, qui, heureusement, tient compte de la requête saisie et affiche les résultats de la recherche correspondants.
Bref, à quoi ça sert de mettre en place un moteur de recherche sur un site s'il s'agit de perturber certains utilisateurs (les utilisateurs d'un lecteur d'écran lisant le JavaScript auront-ils le temps de remarquer que des résultats s'affichent déjà ?), voire de les désorienter en les redirigeant vers Yahoo! si jamais, se servant du clavier, ils adoptent un réflexe courant de validation d'un formulaire ? Autant utiliser directement le moteur de recherche de Yahoo!, qui semble plus accessible que Trogdor…


Commentaires
Je pense qu'il s'agit plus d'une démonstration que d'un projet sérieux, en témoignent les quelques lignes invitant à reprendre le code pour l'améliorer à loisir.
L'affichage en temps réel des résultats représentent un réel plus, selon moi, pour une recherche rapide : on tape des mots jusqu'à tomber sur une description de site semblant convenir à nos besoins.
Davantage une invitation à envisager une autre forme de moteur donc, clairement.
Que l'affichage des résultats en temps réel soit une valeur ajoutée apportant un confort d'utilisation, je veux bien. Mais, il ne doit pas écarter la possibilité d'accéder aux résultats de manière plus classique (saisie de la requête, validation par un bouton de soumission et traitement du formulaire côté serveur) quand JavaScript est désactivé ou mal pris en charge.
Bien sûr, mais la raison de ces manques est justement, je pense, le fait que ce ne soit qu'une démonstration, et pas un truc complet.
Je serais tenté de répondre dans le sens de Victor.
Lorsqu'on développe ce genre de chose, même si c'est là un exercice de style, je conçois très volontiers l'intérêt de la solution trouvée, mais on peut à mon avis aborder le problème dans l'autre sens : dans un premier temps, on crée un moteur de recherche «conventionnel» incluant un bouton de soumission et fonctionnant sans JavaScript. Ensuite, et je dirais que c'est là le véritable défi, on ajoute la recherche instantanée en JavaScript. Avec une bonne utilisation des gestionnaires d'évènement et du DOM, on peut développer un fichier JavaScript externe et il ne reste qu'à ajouter l'insertion du script dans l'entête HTML.
Comme ça, ça fonctionnera correctement pour tout le monde.