axe-devtools-behave API-Referenz

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard
Not for use with personal data

Dieses Paket integriert axe DevTools in Behave, ein Cucumber-ähnliches Python-Testframework.

Verwendung

Bevor Sie axe-devtools-behave verwenden können, müssen Sie einige Dinge einrichten.

Zunächst müssen Sie das Öffnen und Schließen eines Browsers konfigurieren, über features/environment.py:

# features/environment.py

import behave_webdriver

def before_all(context):
    context.behave_driver = behave_webdriver.Chrome()

def after_all(context):
    # cleanup after tests run
    context.behave_driver.quit()

Als nächstes müssen Sie axe-devtools-behave importieren. Dies können Sie folgendermaßen in features/steps/axe.py tun:

# features/steps/axe.py

from axe_devtools_behave import *

Jetzt können Sie axe-devtools-behave in Ihren Feature-Dateien verwenden.

Das Paket axe-devtools-behave verwendet behave-webdriver, sodass alle Schritte aus dieser Bibliothek übernommen und zur Verwendung verfügbar sind.

Cucumber-Schritte für Barrierefreiheit

Die Beispiele für die Barrierefreiheitsprüfungen unten verwenden Then the page should be axe clean[fehlendes Objekt], aber alle Prüfungen funktionieren austauschbar mit Then the page should be audited for accessibility[fehlendes Objekt].

Der Unterschied besteht darin, dass should be axe clean [fehlendes Objekt] axe ausgeführt wird und der Test bei Verstößen fehlschlägt, während should be audited for accessibility [fehlendes Objekt] axe ausgeführt wird und die Ergebnisse in einem axe-reports [fehlendes Objekt] Verzeichnis speichert. should be audited for accessibility scheitert nie.

Um einen Cucumber-Schritt mit axe accessibility zu konstruieren, beginnen Sie mit dem Basisschritt und fügen Sie alle erforderlichen Klauseln an. Die folgenden Klauseln können alle kombiniert werden. Sie müssen jedoch in der angegebenen Reihenfolge vorkommen:

Then the page should be axe clean [including] [excluding] [according-to] [checking-rules/checking-only-rules] [skipping-rules]

Basisschritt

    Then the page should be axe clean

Der Basisschritt ist die Kernkomponente des Cucumber-Schritts. Dies ist ein eigenständiger Schritt und überprüft, ob die aktuell geladene Seite mit der Standardkonfiguration von axe.a11yCheck zugänglich ist (die gesamte Dokumentprüfung verwendet die Standardregeln).

Einschlussklausel

    Then the page should be axe clean within "#selector"

Die Einschlussklausel (within "#selector") gibt an, welche Elemente auf der Seite überprüft werden sollen. Die Einschlussklausel muss einen gültigen CSS-Selektor enthalten, der in doppelte Anführungszeichen eingeschlossen ist. Verwenden Sie zusammengesetzte Selektoren, um mehrere Elemente auszuwählen. Z.B. within "#header, .footer"

note

Weitere Informationen finden Sie unter Kontextparameter .

Ausschlussklausel

    Then the page should be axe clean excluding "#selector"

Die Ausschlussklausel (excluding "#selector") gibt an, welche Dokumentelemente ignoriert werden sollen. Geben Sie einen gültigen CSS-Selektor in doppelten Anführungszeichen ein. Verwenden Sie zusammengesetzte Selektoren, um mehrere Elemente auszuwählen. Z.B. excluding "#widget, .ad"

note

Weitere Informationen finden Sie unter Kontextparameter .

Verwenden Sie das Semikolon (;) oder das Wort " but ", um die Ausschlussklausel von der Einschlussklausel (falls vorhanden) zu trennen.

    Then the page should be axe clean within "main"; excluding "aside"
    Then the page should be axe clean within "main" but excluding "aside"

Accessibility Standard (Tag) Klausel

    Then the page should be axe clean according to: tag-name

Die Tag-Klausel gibt an, welcher Barrierefreiheitsstandard (oder welche Barrierefreiheitsstandards) bei der Seitenprüfung verwendet werden soll. Geben Sie die Barrierefreiheitsstandards mit Namen (Kennzeichnung) an. Die Angabe mehrerer Standards ist durch Kommas getrennt möglich. Z.B. according to: wcag2a, section508

Akzeptable Tag-Namen werden dokumentiert , zusätzlich gibt es eine vollständige Liste der Regelbeschreibungen , die jedem Tag entsprechen.

Um den Tag-Satz vom vorhergehenden Satz zu trennen, kann ein Semikolon (;) verwendet werden.

    Then the page should be axe clean within "#header"; according to: best-practice

„Regeln prüfen“-Klausel

    Then the page should be axe clean checking: ruleId

Die Klausel „Checking-Rules“ gibt alle zusätzlichen Regeln an, die (zusätzlich zu den angegebenen Tags oder dem Standardregelsatz) ausgeführt werden sollen. Regeln werden durch Kommas getrennte Regel-IDs angegeben.

Eine Liste gültiger Regel-IDs finden Sie unter Regelbeschreibungen .

Verwenden Sie ein Semikolon (;) oder das Wort and , um die Prüfregeln-Klausel von der vorhergehenden Klausel zu trennen.

    Then the page should be axe clean according to: wcag2a; checking: color-contrast
    Then the page should be axe clean according to: wcag2a and checking: color-contrast

Ausschließlichkeitsregel-Klausel

    Then the page should be axe clean checking only: ruleId

Diese Klausel ist nicht getrennt. Durch Hinzufügen des Wortes only zur Prüfregelnklausel können Sie die Bedeutung des Schritts ändern. Wie bereits beschrieben, gibt die Klausel für Prüfregeln zusätzliche Regeln an, die standardmäßig ausgeführt werden sollen. Bei Verwendung des Worts only werden nur die angegebenen Regeln überprüft.

Klausel zum Überspringen von Regeln

    Then the page should be axe clean skipping: ruleId

Die Klausel zum Überspringen von Regeln gibt an, welche Regeln übersprungen werden sollen. Geben Sie den zu verwendenden Zugänglichkeitsstandard (über die Tag-Klausel) an, während eine bestimmte Regel ignoriert wird. Geben Sie durch Regel-IDs, die durch Kommas getrennt sind, Regeln an.

Eine Liste gültiger Regel-IDs finden Sie unter Regelbeschreibungen

Verwenden Sie ein Semikolon (;) oder das Wort but , um die Klausel zum Überspringen von Regeln von der vorhergehenden Klausel zu trennen.

Then the page should be axe clean according to: wcag2a; skipping: accesskeys
Then the page should be axe clean according to: wcag2a but skipping: accesskeys

Markierte Regelsätze

Greifen Sie über eine Cucumber-Klausel auf markierte Regelsätze zu. Mithilfe dieser Funktion können Entwickler einen Regelsatz (z. B. 508, wcag2, wcag2.1) angeben, um die Barrierefreiheit von Seiten zu prüfen.

Der folgende Code demonstriert die Cucumber-Gherkin-Syntax, die zum Auswerten eines bestimmten Regelsatzes während der Analyse erforderlich ist:

Scenario: Test Page with options
  When I visit "http://abcdcomputech.dequecloud.com/"
  Then the page should be audited for accessibility within "title" according to ruleset: wcag2.1