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

API-Referenz für das axe-devtools-behave-Paket für Behave-basierte Python-Tests

Not for use with personal data

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

Verwendung

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

Zuerst 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, was in features/steps/axe.py geschehen kann:

# features/steps/axe.py

from axe_devtools_behave import *

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

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

Accessibility Cucumber-Schritte

Die untenstehenden Beispiele für Barrierefreiheitsprüfungen verwenden Then the page should be axe clean, aber alle Prüfungen funktionieren gleichermaßen mit Then the page should be audited for accessibility.

Der Unterschied besteht darin, dass should be axe clean axe ausführt und den Test bei Verstößen fehlschlagen lässt, während should be audited for accessibility axe ausführt und die Ergebnisse in einem axe-reports-Verzeichnis speichert. should be audited for accessibility schlägt nie fehl.

Um einen Cucumber-Schritt zur Überprüfung der Barrierefreiheit mit Axe zu erstellen, beginnen Sie mit dem Basis-Schritt und fügen Sie alle notwendigen Klauseln hinzu. Alle folgenden Klauseln können miteinander kombiniert werden; sie müssen jedoch in der angegebenen Reihenfolge erscheinen:

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

Basis-Schritt

    Then the page should be axe clean

Der Basis-Schritt ist die Kernkomponente des Cucumber-Schritts. Er ist für sich genommen ein vollständiger Schritt und überprüft, dass die aktuell geladene Seite mit der Standardkonfiguration von axe.a11yCheck barrierefrei ist (die Überprüfung des gesamten Dokuments 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 in Anführungszeichen enthalten. Verwenden Sie zusammengesetzte Selektoren, um mehrere Elemente auszuwählen. Zum Beispiel: within "#header, .footer"

note

Siehe Kontextparameter für weitere Informationen.

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 Anführungszeichen an. Verwenden Sie zusammengesetzte Selektoren, um mehrere Elemente auszuwählen. Zum Beispiel: excluding "#widget, .ad"

note

Siehe Kontextparameter für weitere Informationen.

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

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

Klausel für Barrierefreiheitsstandard (Tag)

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

Die Tag-Klausel gibt an, welchen Barrierefreiheitsstandard (oder welche Standards) bei der Seitenüberprüfung verwendet werden. Geben Sie die Barrierefreiheitsstandards nach Name (Tag) an. Mehrere Standards können durch Kommas getrennt angegeben werden. Zum Beispiel: according to: wcag2a, section508

Akzeptable Tag-Namen sind dokumentiert zusätzlich zu einem vollständige Liste der Regeldeskriptionen, die jeweils zu einem Tag gehören.

Ein Semikolon (;) kann verwendet werden, um die Tag-Klausel von der vorhergehenden Klausel zu trennen.

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

Prüfregelklausel

    Then the page should be axe clean checking: ruleId

Die Prüfregelklausel gibt an, welche zusätzliche Regeln ausgeführt werden sollen (zusätzlich zu den angegebenen Tags oder den Standardregeln). Regeln werden durch kommagetrennte Regel-IDs angegeben.

Siehe Regelbeschreibungen für eine Liste gültiger Regel-IDs.

Verwenden Sie das Semikolon (;) oder das Wort and, um die Prüfregelklausel 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ßliche Regelklausel

    Then the page should be axe clean checking only: ruleId

Diese Klausel ist nicht separat. Indem Sie das Wort only zur Prüfregelklausel hinzufügen, können Sie die Bedeutung des Schritts ändern. Wie zuvor beschrieben, gibt die Prüfregelklausel zusätzliche Regeln an, die standardmäßig ausgeführt werden sollen. Nur die angegebenen Regeln werden überprüft, wenn das Wort only verwendet wird.

Klausel zum Überspringen von Regeln

    Then the page should be axe clean skipping: ruleId

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

Siehe Regelbeschreibungen für eine Liste gültiger Regel-IDs

Verwenden Sie das 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

Getaggte Regelsets

Greifen Sie über eine Cucumber-Klausel auf getaggte Regelsets zu. Diese Funktionalität ermöglicht es Entwicklern, ein Regelset (z.B.: 508, wcag2, wcag2.1) anzugeben, um die Barrierefreiheit der Seite zu überprüfen.

Der folgende Code demonstriert die erforderliche Cucumber Gherkin-Syntax, um ein spezifisches Regelset während der Analyse zu bewerten:

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