Fermer

septembre 12, 2018

L'importance des tests manuels d'accessibilité


À propos de l’auteur

Eric est un designer de Boston qui aide à créer des solutions simples qui répondent aux besoins pratiques, physiques, cognitifs et émotionnels d’une personne.
Plus sur Eric

Les tests d’accessibilité automatisés sont une excellente ressource, mais ils ne peuvent pas automatiquement rendre votre site accessible. Utilisez-les comme une étape d'un processus de test plus important.

Plus tôt cette année, un homme a conduit sa voiture dans un lac après avoir suivi les instructions d'une application pour smartphone qui aide les conducteurs à naviguer en leur donnant des instructions détaillées. Malheureusement, la programmation de l'application ne comprenait pas d'instructions pour éviter les routes qui se transforment en lanceurs de bateaux.

Du point de vue de l'application, elle faisait exactement ce qu'il était programmé, à savoir trouver le meilleur itinéraire du point A au point B compte tenu des informations mises à sa disposition. Du point de vue de l'homme, il a échoué en ne prenant pas en compte le monde réel.

Le même principe s'applique aux tests d'accessibilité.

Concevoir pour l'accessibilité et l'inclusion

vos utilisateurs, plus votre conception est accessible. Examinons de plus près les différents objectifs d’accessibilité grâce auxquels vous pouvez affiner vos conceptions. Lire l’article →

Test d’accessibilité automatisé

Je suppose que vous lisez cet article parce que vous souhaitez apprendre à tester vos sites Web et vos applications Web pour vous assurer qu’elles sont accessibles. Si vous voulez en savoir plus sur la nécessité de l’accessibilité, le sujet a été largement traité ailleurs.

Le test d’accessibilité automatisé est un processus qui utilise une série de scripts pour vérifier de certaines conditions dans le code. Ces conditions sont dictées par les Web Content Accessibility Guidelines (WCAG) une norme du W3C qui explique comment rendre les expériences numériques accessibles.

Par exemple, un test d'accessibilité automatisé peut vérifier si l'attribut tabindex est présent et si sa valeur est supérieure que 0 . Le pseudocode serait quelque chose comme:


 Un organigramme qui demande si la valeur de tabindex est présente. Si oui, il demande si la valeur de tabindex est supérieure à 0. Si elle est supérieure à zéro, elle échoue. Sinon, ça passe. Si aucune valeur tabindex n'est présente, elle passe également.

Les erreurs peuvent ensuite être collectées et utilisées pour générer des rapports qui divulguent le nombre et la gravité des problèmes d'accessibilité. Certains produits d’accessibilité automatisés peuvent également être intégrés à un outil de déploiement continu ou Déploiement continu (CI / CD), présentant des avertissements juste à temps aux développeurs qui tentent d’ajouter du code à un dépôt central.

Ces programmes automatisés sont des ressources incroyables. Les sites Web et les applications Web modernes sont des tâches complexes qui impliquent des centaines d'états, des milliers de lignes de code et des interactions multi-écrans complexes. Il serait absurde de s'attendre à ce qu'un humain (ou une équipe d'êtres humains) s'occupe de tout le code contrôlant toutes les permutations possibles du site, sans parler de régressions et Tests A / B .

L'automatisation est vraiment là.

Cependant, les tests d’accessibilité automatisés ne sont pas une solution clé en main, ils ne sont pas non plus une solution miracle. Il faut garder à l'esprit certaines limitations lors de leur utilisation.

Penser en pensant aux choses

L'un des aspects les meilleurs et les pires du Web est qu'il existe de nombreuses manières d'implémenter une solution à un problème. Bien que cette flexibilité ait permis au Web de rester robuste et adaptable tout en s’assurant qu’il surpasse d’autres technologies concurrentes, cela signifie également que vous verrez parfois du code implémenté de manière créative.

pensé pour vérifier. Un développeur naïf pourrait uniquement écrire des tests pour le chemin heureux où tout le monde écrit du code HTML sémantique, du code JavaScript tolérant aux pannes et du code CSS bien défini. Cependant, c'est le monde réel. Nous devons reconnaître que des délais serrés, une méconnaissance du langage de programmation, saisie utilisateur atypique et des scripts tiers partiels existent.

Par exemple, le site automatisé de test d'accessibilité Tenon.io inclut judicieusement une règle qui vérifie si un élément de formulaire a à la fois un élément label et un aria-label associé et si les chaînes de texte des deux déclarations diffèrent . Si tel est le cas, il le signalera comme un problème, car l'étiquette visible peut être différente de ce que quelqu'un entendrait s'il naviguait à l'aide d'un lecteur d'écran.

service qui comprend cette règle, il ne sera pas signalé. Le code «passera» quand même, mais il passe par omission, pas parce qu’il est réellement accessible.

État

Certains tests d’accessibilité automatisés ne permettent pas d’analyser les différents états du contenu interactif. Les parties critiques de l'interface utilisateur sont invisibles à l'automatisation, à moins que le test ne soit exécuté lorsque le contenu est actif, sélectionné ou désactivé.

Par contenu interactif, j'entends des choses sur lesquelles l'utilisateur n'a pas encore agi, ou ne sont pas présents lors du chargement de la page. Les modaux non ouverts, les accordéons repliés, le contenu des onglets masqués et les diapositives de carrousel en sont tous des exemples.

Il faut des logiciels sophistiqués pour tester automatiquement les différents états de chaque composant sur un seul écran, sans parler d'une application Web ou d'un site Web. Bien qu'il soit possible d'étendre le logiciel de test avec des contrôles d'accessibilité automatisés, il nécessite beaucoup de ressources, nécessitant généralement une équipe d'ingénieurs dédiée pour la configuration et la maintenance.

Balisage «valide»

Applications Internet riches accessibles (ARIA) est un ensemble d'attributs qui étendent le langage HTML pour lui permettre de décrire une interaction qui peut être mieux comprise par les technologies d'assistance. Par exemple, l'attribut aria-extended peut être basculé par JavaScript pour communiquer par programme si un composant est développé ( true ) ou réduit ( false ) état. Ceci est supérieur à basculer une classe CSS comme .is-expand la mise à jour en état n'est communiquée que visuellement .

Le simple fait d'avoir ARIA ne garantit pas rendra automatiquement accessible quelque chose. Malheureusement, malgré sa première règle d'utilisation ARIA est souvent mal comprise et a par conséquent abusé . Une grande partie du code standard a ce problème, perpétuant le problème.

Par exemple, certains attributs et valeurs ARIA ne peuvent être appliqués qu'à certains éléments . Si elle n'est pas appliquée correctement, la technologie d'assistance ignorera ou déclarera mal la déclaration. Certains rôles, connus sous le nom de Rôles abstraits n'existent que pour établir la taxonomie globale et ne devraient jamais être mis en surbrillance.






Source link