axe-devtools-api Python API-Referenz
API-Referenz für das axe-devtools-api Python-Paket zum Injizieren und Ausführen von axe-core
Bietet eine API, mit der axe-core in eine Webseite injiziert und ausgeführt werden kann.
axe_devtools_api.Axe
Konfiguriert, wie axe-core ausgeführt wird, und führt es auf der Seite aus.
report = Axe(page).with_rules("document-title", "label").analyze()Axe(page, report_configuration=None, axe_source=None)
Initialisiert eine Axe-Instanz mit einem Browser-Adapter und optionaler Konfiguration.
page: Ein Browser-Adapter, wie etwa eine AxeDriver-Instanz von axe-devtools-selenium.
report_configuration: Optional. Ein Berichtskonfigurationsobjekt.
axe_source: Optional. Ein String mit axe-core-Quellcode, der anstelle der gebündelten Version verwendet werden soll.
analyze()
Injiziert axe-core in die Seite und führt die Barrierefreiheitsanalyse durch.
Gibt ein Results-Objekt zurück. Siehe Berichte mit Python erstellen für das vollständige Results-API und wie man Berichtsdaten konfiguriert.
report = Axe(page).analyze()including(*selector)
Bestimmen Sie einen Teil der Seite, den axe-core analysieren soll. Um mehrere nicht zusammenhängende Teile der Seite zu analysieren, rufen Sie including() einmal für jeden Teil auf und übergeben jedes Mal einen einzelnen Selector.
selector: Ein einzelner CSS-Selector für die einzuschließenden Elemente. Wenn Sie mehr als einen Selector in einem einzelnen Aufruf übergeben, wird dies immer als iframe-Selector interpretiert und nicht als separate Einschlussliste: Jeder Selector außer dem letzten entspricht einer Ebene der iframe-Verschachtelung, und der letzte korrespondiert mit dem Element, das innerhalb des innersten iframes analysiert werden soll.
Gibt dieses Objekt zur Verkettung zurück.
# Analyze .sidebar and .some-class, which are both in the top-level document
report = Axe(page).including(".sidebar").including(".some-class").analyze()
# Analyze .some-class inside the iframe matched by .sidebar-frame
report = Axe(page).including(".sidebar-frame", ".some-class").analyze()excluding(*selector)
Bestimmen Sie einen Teil der Seite, den axe-core bei der Analyse überspringen soll. Um mehrere nicht zusammenhängende Teile der Seite zu überspringen, rufen Sie excluding() einmal für jeden Teil auf und übergeben jedes Mal einen einzelnen Selector.
selector: Ein einzelner CSS-Selector für die auszuschließenden Elemente. Wenn Sie mehr als einen Selector in einem einzelnen Aufruf übergeben, wird dies immer als iframe-Selector interpretiert und nicht als separate Ausschlussliste: Jeder Selector außer dem letzten entspricht einer Ebene der iframe-Verschachtelung, und der letzte korrespondiert mit dem Element, das innerhalb des innersten iframes übersprungen werden soll.
Gibt dieses Objekt zur Verkettung zurück.
# Skip .third-party-ad and .cookie-banner, which are both in the top-level document
report = Axe(page).excluding(".third-party-ad").excluding(".cookie-banner").analyze()
# Skip .third-party-ad inside the iframe matched by .iframe1
report = Axe(page).excluding(".iframe1", ".third-party-ad").analyze()with_rules(*rules)
Spezifizieren Sie Regeln (nach ID), die axe-core ausführen soll. Nur die angegebenen Regeln werden verwendet. Diese Option ist mit with_tags nicht kompatibel.
rules: Eine oder mehrere Regel-IDs. Siehe Regelbeschreibungen für eine Liste gültiger IDs.
Gibt dieses Objekt zur Verkettung zurück.
Erzeugt RuntimeError, wenn sie zusammen mit with_tags auf derselben Instanz aufgerufen wird.
report = Axe(page).with_rules("document-title", "label").analyze()with_tags(*tags)
Spezifizieren Sie Regeln (nach Tag), die axe-core ausführen soll. Nur die angegebenen Regeln werden verwendet. Diese Option ist mit with_rules nicht kompatibel.
tags: Ein oder mehrere Tag-Namen. Siehe axe-core-Tags für eine Liste gültiger Tags.
Gibt dieses Objekt zur Verkettung zurück.
Erzeugt RuntimeError, wenn sie zusammen mit with_rules auf derselben Instanz aufgerufen wird.
report = Axe(page).with_tags("best-practice", "wcag2a").analyze()disabling_rules(*rules)
Deaktivieren Sie spezifische Regeln beim Ausführen von axe-core.
rules: Eine oder mehrere Regel-IDs.
Gibt dieses Objekt zur Verkettung zurück.
report = Axe(page).disabling_rules("html-has-lang", "label").analyze()run_options(options)
Geben Sie runOptions an, um sie an axe-core beim Aufruf von axe.run zu übergeben.
options: Optionsobjekt, das an axe-core übergeben werden soll.
Gibt dieses Objekt zur Verkettung zurück.
options = {"iframes": False}
report = Axe(page).run_options(options).analyze()configure(spec)
Konfigurieren Sie axe-core über axe.configure.
spec: Spezifikationsobjekt, das an axe.configure übergeben werden soll.
Gibt dieses Objekt zur Verkettung zurück.
report = Axe(page).configure(spec).analyze()without_iframe_sandboxes()
Entfernen Sie das sandbox-Attribut von iframes, sodass axe-core in ihnen ausgeführt werden kann.
Gibt dieses Objekt zur Verkettung zurück.
report = Axe(page).without_iframe_sandboxes().analyze()with_config_file(config_path)
Legen Sie den Pfad zu einer Konfigurationsdatei für das Regelsatz fest. Der Standardpfad ist config/axe-ruleset.json oder der Wert der $AXE_RULESET_PATH-Umgebungsvariable, falls gesetzt.
config_path: Pfad zur Konfigurationsdatei.
Gibt dieses Objekt zur Verkettung zurück.
report = Axe(page).with_config_file("path/to/file.json").analyze()with_ruleset(ruleset_id, enable_best_practices=False)
Verwenden Sie ein bestimmtes Regelset für den axe-core-Durchlauf.
ruleset_id: ID des zu verwendenden Regelsatzes. Verfügbare Regelsätze: wcag2, wcag2.1, wcag2.2, wcag2aaa, wcag2.1aaa, wcag2.2aaa, 508, en301549, ttv5, rgaav4.
enable_best_practices: Ob Regeln mit dem Tag best-practice aktiviert werden sollen. Standardmäßig False.
Gibt dieses Objekt zur Verkettung zurück.
report = Axe(page).with_ruleset("508").analyze()set_legacy_mode(state=True)
Verwenden Sie axe.run anstelle von axe.runPartial. Hat Auswirkungen auf Cross-Origin.
state: Ob der Legacy-Modus aktiviert werden soll. Standardmäßig True.
Gibt dieses Objekt zur Verkettung zurück.
report = Axe(page).set_legacy_mode().analyze()Nutzungsdienst
Erhalten Sie Einblicke in die Nutzungstrends von Axe DevTools innerhalb Ihrer Organisation. Standardmäßig ist der Nutzungsdienst aktiviert und meldet an https://usage.deque.com. Setzen Sie die Umgebungsvariable AXE_TRACK_USAGE auf false, um ihn zu deaktivieren.
Umgebungsvariablen des Nutzungsdienstes
Diese Umgebungsvariablen ermöglichen es Ihnen, den Nutzungsdienst zu konfigurieren und die Eigenschaften der gemeldeten Ereignisse zu ändern.
| Name | Typ | Kann überschrieben werden | Beschreibung |
|---|---|---|---|
AXE_DISTINCT_ID |
String | — | Ein UUID-Identifikator, der für den angemeldeten Benutzer gleich bleibt (außer er wird neu generiert). In Ruby heißt diese Variable DEQUE_DISTINCT_ID. |
AXE_INCLUDE_TEST_RESULTS |
Boolean | — | Setzen Sie true, um die vollständigen axe-core-Ergebnisse im testResults-Objekt jedes Ereignisses einzuschließen (Standard ist false). Wird nur von der CLI und den Node.js-APIs unterstützt. |
AXE_METRICS_URL |
String | — | Die URL des REST-Nutzungsendpunkts (Standard ist https://usage.deque.com) |
AXE_TRACK_USAGE |
Boolean | — | Setzen Sie false, um das Reporting des Nutzungsdienstes zu deaktivieren. Das Reporting ist standardmäßig aktiviert. |
AXE_APPLICATION |
String | false | Die Anwendung, die verwendet wurde, um Barrierefreiheitsfehler zu überprüfen |
AXE_DEV_INSTANCE |
Boolean | true | Zeigt an, ob dieses Ereignis durch die Aktionen eines Softwareentwicklers entstanden ist. Nützlich zum Markieren und späteren Entfernen von Ereignissen, die während der Entwicklung oder des Testens protokolliert wurden. |
AXE_DEPARTMENT |
String | true | Die Abteilung des Benutzers innerhalb der Organisation |
AXE_KEYCLOAK_ID |
String | false | Die Keycloak-ID des Benutzers |
AXE_LOGGED_IN |
Boolean | false | Zeichnet auf, ob der Benutzer im zu testenden Anwendung angemeldet ist |
AXE_ORGANIZATION |
String | true | Die Organisation des Benutzers. Um Ihre Nutzung in Axe Reports anzuzeigen, setzen Sie dies auf die ID Ihrer Organisation (kontaktieren Sie Deque, um diese zu erhalten). |
AXE_SESSION_ID |
String | false | Ein UUID, das die Sitzung des Benutzers identifiziert |
AXE_USER_ID |
String | false | Die Identität eines bestimmten Benutzers, wie eine E-Mail-Adresse, ein Name oder eine Login-ID. Axe Reports zählt anhand dieses Wertes eindeutige Benutzer. |
AXE_USER_JOB_ROLE |
String | false | Die Rolle des Benutzers im Beruf |
AXE_USER_STATUS |
String | false | Statusinformationen, die Sie mit dem Benutzer verknüpfen möchten |
enable_tracking(state)
Wählen Sie aus, ob Daten an den Nutzungsdienst gesendet werden sollen oder nicht. Das Senden ist standardmäßig aktiviert.
state: Ob das Tracking aktiviert ist.
Gibt dieses Objekt zur Verkettung zurück.
report = Axe(page).enable_tracking(True).analyze()set_tracking_url(url)
Legen Sie fest, wohin Nutzungsmetriken gesendet werden.
url: URL, wohin die Daten gesendet werden.
Gibt dieses Objekt zur Verkettung zurück.
report = Axe(page).set_tracking_url("https://usage.deque.com").analyze()set_distinct_id(id)
Legen Sie die eindeutige ID fest, die beim Senden von Nutzungsmetriken verwendet wird.
id: Zu sendende eindeutige ID.
Gibt dieses Objekt zur Verkettung zurück.
report = Axe(page).set_distinct_id("SOMEUUID").analyze()