Barrierefreiheitstestwerkzeuge

Avatar of Chris Coyier
Von Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Es gibt die Ansicht, dass Barrierefreiheit keine Checkliste ist, was bedeutet, dass man, wenn man wirklich versucht, eine Website barrierefrei zu gestalten, nicht einfach einige Punkte von einer Liste abhaken und sie für perfekt halten kann. Die Liste mag unvollkommen sein und schlimmer noch, sie schließt den Benutzer aus der Gleichung aus, so wird gesagt.

Karl Groves argumentierte einst dagegen

Ich würde argumentieren, dass ein gut dokumentierter Prozess, der bewertungsbasierte Checklisten beinhaltet, besser geeignet ist, um sicherzustellen, dass die Bedürfnisse aller Benutzer erfüllt werden, nicht nur die einiger Benutzer.

Ich erwähne dies, weil Sie ein automatisiertes Werkzeug zum Testen der Barrierefreiheit als eine weitere Form einer Checkliste betrachten könnten. Diese Werkzeuge haben eingebaute Regeln und testen Ihre Website anhand dieser Regeln.

Ich bin ziemlich neu in diesem Bereich, also kein Experte hier, aber es scheint eine ganze Menge Optionen zu geben! Werfen wir einen Blick auf einige davon.

aXe

The Accessibility Engine for automated testing of HTML-based user interfaces. Drop the aXe on your accessibility defects!

aXe kann ein HTML-Dokument analysieren, potenzielle Barrierefreiheitsprobleme finden und sie Ihnen melden. Zum Beispiel gibt es Browser-Erweiterungen (Firefox / Chrome), mit denen Sie einen Bericht über Barrierefreiheitsprobleme auf der von Ihnen betrachteten Seite erstellen können.

Im Grunde ist es ein Skript, so dass es auf vielfältige Weise eingesetzt werden kann. Zum Beispiel könnten Sie dieses Skript in einem Pen laden und diesen Pen auf Barrierefreiheit testen.

Es gibt eine CLI, so dass Sie sie in Build-Prozesse oder Testumgebungen oder Deployment-Flows oder was auch immer integrieren können.

Es sieht so aus, als ob intern-a11y helfen kann, aXe für zusätzliche Funktionalität zu skripten.

Pa11y

Pa11y ist Ihr automatisierter Barrierefreiheitstest-Kumpel. Er führt HTML CodeSniffer von der Kommandozeile aus für programmatische Barrierefreiheitsberichte.

Pa11y ist ein weiteres Werkzeug in dieser Richtung. Es ist ein Skript, das eine URL auf Barrierefreiheitsprobleme testen kann. Sie können es von der Kommandozeile mit einem Dateipfad oder einer URL aufrufen (pa11y http://example.com) und einen Bericht erhalten.

Sowie die Verwendung aus einer Node-Umgebung und die Konfiguration nach Bedarf. Es ist eigentlich absichtlich nur für die programmatische Verwendung gedacht, da es die programmatische Version von HTML_CodeSniffer ist, der Bookmarklet/visuellen Version.

Es gibt auch eine native App-Version namens Koa11y, falls das die Nutzung erleichtert.

Seren Davies schrieb kürzlich über ein bestimmtes Szenario, in dem sie Pa11y gegenüber aXe bevorzugten.

Wir begannen mit der Untersuchung von aXe CLI, merkten aber bald, dass es nicht unseren Anforderungen entsprach. Es konnte keine Seiten überprüfen, die einen Besucher-Login erforderten, sodass wir zwar unsere Produktseiten testen konnten, aber keine Kundenkontoseiten. Stattdessen wechselten wir zu Pa11y. Sein beforeScript-Schritt bedeutete, dass wir uns in die Seite einloggen und Seiten wie die Bestellhistorie testen konnten.

Google Accessibility Developer Tools

Google ist mit Accessibility Developer Tools ebenfalls im Rennen.

Die Hauptkomponente ist die Zugänglichkeitsprüfung: eine Sammlung von Prüfregeln, die auf häufige Barrierefreiheitsprobleme prüfen, und eine API zum Ausführen dieser Regeln auf einer HTML-Seite.

Es ist ähnlich wie die anderen, da es für die Verwendung auf verschiedene Weise konzipiert ist, z. B. als Grunt-Aufgabe, über die Kommandozeile oder den Browser.

Addy Osmani hat a11y, angetrieben von Chrome Accessibility Tools, das eine schönere API und schönere Berichte zu bieten scheint.

Es scheint jedoch, dass der Großteil des Google-Aufwands für Website-Audits heutzutage auf Lighthouse gelegt wird, das Barrierefreiheitstests beinhaltet. Zum Beispiel der Test „Buttons Have An Accessible Name“, aber dieser Test verwendet tatsächlich aXe im Hintergrund.

Es ist mir nicht klar, ob Lighthouse eine vollständige und aktuelle aXe-Audit durchführt oder nicht, und ob die Accessibility Developer Tools zugunsten dessen irgendwie veraltet sind, oder was.

Automated Accessibility Testing Tool (AATT)

PayPal ist mit AATT ebenfalls im Rennen, einer Kombination und Erweiterung bereits erwähnter Werkzeuge.

Browserbasierte Werkzeuge und Plugins für Barrierefreiheitstests erfordern manuelles Testen jeder Seite, eine nach der anderen. Werkzeuge, die eine Website durchsuchen können, können nur Seiten scannen, die keine Anmeldedaten benötigen und die sich nicht hinter einer Firewall befinden. Anstatt eine separate Testsuite für Barrierefreiheit zu entwickeln, zu testen und zu verwenden, können Sie jetzt Barrierefreiheitstests in Ihre bestehende Automatisierungs-Testsuite integrieren, indem Sie AATT verwenden.

AATT umfasst HTML CodeSniffer, aXe und Chrome Developer Tool mit Express und PhantomJS, die unter Node laufen.

Es startet einen Server mit einer API, die Sie zum Testen von Seiten auf anderen Servern verwenden können.

accessibilityjs

GitHub selbst hat kürzlich accessibilityjs veröffentlicht, das Werkzeug, das sie selbst für Barrierefreiheitstests verwenden. Sie nutzen es auf der Client-Seite, wo es beim Finden eines Fehlers einen großen roten Rahmen anbringt und einen Klick-Handler hinzufügt, damit Sie darauf klicken können, um zu erfahren, was das Problem ist.

Sie beschränken es auf diese häufigen Fehler:

  • ImageWithoutAltAttributeError
  • ElementWithoutLabelError
  • LinkWithoutLabelOrRoleError
  • LabelMissingControlError
  • InputMissingLabelError
  • ButtonWithoutLabelError
  • ARIAAttributeMissingError

Tenon.io

Tenen.io ist vielleicht das einfachste aller Werkzeuge, um loszulegen, da die Homepage oben einen Validator hat, mit dem Sie HTML kopieren und einfügen oder eine URL einfügen können, um sie zu validieren.

Tenon.io kann 508- und WCAG 2.0-Probleme in jeder Umgebung identifizieren – sogar auf dem Laptop Ihres Entwicklers. Denn die Produktion ist kein guter Ort, um Fehler zu entdecken.

Es gibt eine kostenlose Testversion für 30 Tage / 500 API-Aufrufe, danach ist es ein kostenpflichtiges Produkt.

Tenon.io integriert sich an vielen Stellen. Karl hat mir selbst erzählt:

Wir haben eine CLI. Wir haben Grunt & Gulp Plugins, Node-Module und Plugins für Chrome, Firefox, IE und Opera. PHP-Klassen, Ruby Gems, CMS-Integrationen für WordPress, Drupal usw.

Ehrenwerte Erwähnungen

Ich versuche nicht absichtlich, ein bestimmtes Barrierefreiheitstestwerkzeug hervorzuheben oder zu verstecken. All das ist neu für mich. Es schien nur, dass dies viele der großen Akteure waren. Aber eine Web-Suche enthüllt noch viel mehr!

  • Tanaguru: „Automated accessibility (a11y) testing tool, with emphasis on reliablity and automation“
  • The A11y Machine „ist ein automatisiertes Barrierefreiheitstestwerkzeug, das Seiten jeder Webanwendung durchsucht und testet, um detaillierte Berichte zu erstellen.“
  • tota11y: „ein Visualisierungstoolkit für Barrierefreiheit (a11y)“