Fermer

décembre 9, 2019

Test d'accessibilité automatisé


L'accessibilité sur le Web signifie créer des sites et des applications avec lesquels tout le monde peut naviguer et interagir. La meilleure façon de garantir que nous créons des expériences accessibles est de combiner les tests automatisés avec l'assurance qualité manuelle et les tests utilisateurs.

Nous avons parlé de tester manuellement certains aspects de nos pages dans mon article précédent Tests d'accessibilité manuels: clavier et écran navigation du lecteur .

Dans cet article, nous allons examiner certains des outils les plus populaires et les plus activement entretenus pour les tests d'accessibilité automatisés, et passer en revue certaines de leurs fonctionnalités.

Si vous voulez aller au-delà ces outils, il existe une multitude d'autres options répertoriées dans Sélection des outils d'évaluation de l'accessibilité du Web .

Lighthouse – Google

Lighthouse est un outil développé par Google pour vous aider à auditer certains aspects de votre pages. Il est intégré à Chrome DevTools, sous l'onglet Audits :

 lighthouse-audits "src =" https://d585tldpucybw.cloudfront.net/sfimages/default-source/default-album/lighthouse- auditsc826a2f7d80e4dfda723ef5653b1b66e.png? sfvrsn = b232052_0 "data-displaymode =" Original "/></p><p> Après avoir exécuté Lighthouse, vous obtiendrez un rapport sur la qualité de votre page. Les audits d'accessibilité vérifient en particulier des éléments comme les contrôles portant les noms et les étiquettes nécessaires, le contenu ayant un rapport de contraste suffisant, les identifiants étant uniques, etc.</p><p><img title= webhint – JS Foundation

webhint est un outil de nature très similaire à Lighthouse. Il a été initialement développé par l'équipe Microsoft Edge, puis donné à la Fondation JS.

Vous pouvez l'exécuter en ligne à la même URL:

 webhint-accessibility "src =" https://d585tldpucybw.cloudfront.net /sfimages/default-source/default-album/webhint-accessibilityb67010dadd7c4c7495670def08590bdf.png?sfvrsn=7ea3ad71_0 "data-displaymode =" Original "/></p><p> Vous pouvez également l'exécuter à partir du terminal, en faisant:</p><pre><code> npm install -g hint
indice https://products.office.com
</code></pre><p> L'outil recherchera un fichier <code> .hintrc </code> avec votre configuration. Vous pouvez lire tous les détails dans le <a href= guide de l'utilisateur Webhint mais nous pouvons créer un .hintrc avec ces contenus pour l'instant:

 {
   "étend"  :   [ "recommandé par le Web" ] 
} 

webhint exécutera les audits correspondants et enregistrera son rapport sur le disque sous hint-report / /index.html que vous pouvez ouvrir dans n'importe quel navigateur.

 webhint-terminal " src = "https://d585tldpucybw.cloudfront.net/sfimages/default-source/default-album/webhint-terminald000b27153b74e978a01394debc1d863.png?sfvrsn=90a5fd6a_0" data-displaymode = 1945] ""<p> J'ai constaté que, sur des pages complexes, les tests d'accessibilité que Webhint tente d'exécuter expirent souvent, de sorte que vous n'obtiendrez aucun résultat. Votre kilométrage peut varier.</p><h2 id= Accessibility Insights for Web – Microsoft

Accessibility Insights for Web est une extension pour Chrome et Edgium récemment publiée par Microsoft.

 accessibility-insights-extension "src =" https://d585tldpucybw.cloudfront.net/sfimages/default-source/default-album/accessibility-insights-extensiona6084fc1acd64ddaaf77511e392a4bdb.png?sfvrsn=ead6f5b0_0 "data-displaym"]<p> Il a trois modes:</p><ul><li><em> FastPass </em> qui exécute des tests automatisés pour vérifier les problèmes d'accessibilité courants.</li></ul><p><img title= Tota11y – Khan Academy

Tota11y est un bookmarklet développé par Khan Academy. Vous pouvez le faire glisser vers votre liste de signets, accéder à la page que vous souhaitez évaluer et cliquer sur le signet. Il ajoutera un petit bouton dans le coin inférieur gauche de votre page, sur lequel vous pourrez ensuite cliquer pour exécuter différents audits d'accessibilité:

 tota11y-bookmarklet "src =" https://d585tldpucybw.cloudfront.net/sfimages/default- source / album par défaut / tota11y-bookmarklet3ac439563ae54db9b144564214d55b19.png? sfvrsn = 26e4f439_0 "data-displaymode =" Original "/></p><p> Il vérifiera des éléments comme la hiérarchie des en-têtes, un contraste suffisant, l'étiquetage des contrôles, le texte alternatif de l'image, etc.</p><p> Il est vraiment facile à exécuter sur n'importe quelle page et donne des résultats clairs et exploitables. L'inconvénient est que vous ne pouvez pas l'exécuter à partir du terminal, vous ne pouvez donc pas automatiser complètement son exécution.</p><h2 id= ax – Deque

Enfin, il y a ax un moteur de test d'accessibilité développé par Deque Systems, un important fournisseur d'accessibilité.

Fait intéressant, la plupart des outils dont nous avons discuté ci-dessus (Lighthouse, webhint, Accessibility Insights for Web) utilisent ax sous le capot. Vous pouvez le consommer directement dans vos projets sous forme de package npm:

 npm install --save-dev ax-core

Vous pouvez ensuite l'intégrer dans votre suite de tests comme vous le souhaitez. Par exemple, si vous disposez d'une application React et que vous utilisez Jest pour les tests, vous pouvez créer un test unitaire qui vérifie si votre composant répond à vos exigences d'accessibilité:

 import  ax  from   " ax-core "; 
 import  React  de  " react "; 
 import  ReactDOM  de  " react-dom " ; 

 importation  Link  de   "./ Link" ; 

 const  axeConfig  =   {
  
}  ]; 

 const   axeRun   =  composant  => 
   nouveau   Promise  ( ( résoudre  rejeter )   =>   {
    
     const  wrapper  =  document .  createElement  ( "div" [19659022]) ; 
    document .  corps .  appendChild  ( wrapper ) ; 
    ReactDOM .  render  ( component  wrapper ) ; 
    
    ax .  run  ( wrapper  axeConfig   ( err  résultat ) ) [19659065] =>   {
       if   ( err )   {
         rejeter  ( err ) ; 
       ]}   else   {
         résoudre  ( résultat ) ; 
      } 
    } ) ; 
  } ) ; 

 décrivent  ( "Link"   ()   =>   {
   it  ( "rencontre a11y"   async   ()   =>   {
     const   { violations } [19659065] =   attendent   axeRun  (
       < Lien href  =  "https://products.office.com" >  Microsoft Bureau  < /  Lien > 
    ) ; [19659137] s'attendre à  ( violations ) .  àHaveLength  ( 0 ) ; 
  } )  ; 
} ) ; 

Si votre composant présente des problèmes d'accessibilité, le test échoue comme ceci:

 ax-jest-fail "src =" https://d585tldpucybw.cloudfront.net/sfimages/default-source/default- album / ax-jest-failc2dba3a1f4614e0b8774c2dcbe414f33.png? sfvrsn = f9753be0_0 "data-displaymode =" Original "/></p><p> Vous pouvez formater la sortie pour la rendre plus lisible avec une fonction d'assistance. Dans tous les cas, ax vous permet d'effectuer des vérifications d'accessibilité dans le cadre de vos tests unitaires normaux, ce qui est très pratique.</p><h2 id= Conclusion

Les tests d'accessibilité automatisés sont un outil de plus dans votre boîte à outils. Il fonctionne très bien en combinaison avec une assurance qualité manuelle et des tests utilisateur, mais ne remplace pas ces pratiques. Assurez-vous d'obtenir de véritables commentaires des utilisateurs!





Source link