WebDriverJS-API-Referenz für Axe DevTools für Web
Referenz für die APIs im @axe-devtools/webdriverjs-Paket
Konstruktor
In der Standardkonfiguration ist das einzige Argument, das an den Axe DevTools-Konstruktor übergeben werden muss, die WebDriverJS-Instanz. Wenn Sie eine andere Version von axe-core als die ursprünglich enthaltene oder ein benutzerdefiniertes Regelset verwenden möchten, können Sie diese Optionen an den Konstruktor übergeben.
Sie können keine nicht standardmäßige axe-core-Version und ein benutzerdefiniertes Regelset auswählen.
Axe DevTools WebDriverJS-Konstruktor:
AxeDevToolsBuilder(driver:WebDriver, String:ruleset|Object:axe (optional))Sie müssen eine Instanz eines Selenium WebDriver als erstes Argument übergeben. Das zweite optionale Argument kann entweder eine Regelset-ID oder ein axe-Objekt sein. Wenn Sie kein zweites Argument angeben, müssen Sie die benutzerdefinierte Regelkonfigurationsdatei von @axe-devtools/script-builder konfigurieren, andernfalls wird der Konstruktor eine Ausnahme auslösen.
Diese Beispiele zeigen, wie der Konstruktor verwendet wird:
// instantiate with the Section 508 rule set
const builder = new AxeDevToolsBuilder(driver, '508');
// or with a specific axe instance
const axe = require('../axe-core-2.3.0');
const builder = new AxeDevToolsBuilder(driver, axe);Benutzerdefinierte Regeln
Für Informationen zur Verwendung benutzerdefinierter Regeln mit Axe DevTools für das Web lesen Sie den Leitfaden zur Erstellung und Integration benutzerdefinierter Regelsets im CLI-Leitfaden.
analysieren
Die analyze()-Methode führt die Analyse durch und gibt die Ergebnisse des Barrierefreiheitsscans zurück.
analyze(): Promise<axe.AxeResults>Führen Sie eine Analyse mit der Standardkonfiguration auf dem gegebenen Client durch. Ein Promise wird zurückgegeben, der sich mit dem von axe-core zurückgegebenen Barrierefreisetzungsergebnisset auflöst.
analysiereUniversell
Die analyzeUniversal()-Methode führt die Analyse durch und gibt die Ergebnisse in der Axe Universal Format zurück. Die bestehende analyze()-Methode bleibt unverändert.
analyzeUniversal(): Promise<UniversalExport>Kettenoptionen
Es gibt zwei Optionen, um Ihre Axe DevTools-Scans einzuschränken. Sie können wählen, bestimmte CSS-Bereiche einzuschließen oder auszuschließen. Die Kettenmethoden (unten) am Konstruktor machen dies möglich.
einschließen
new AxeDevToolsBuilder(driver).include('<CSS-Selector>');Fügt der Liste der Elemente, die in die Analyse einbezogen werden sollen, einen CSS-Selektor hinzu. Elemente außerhalb des an include() übergebenen Bereichs werden nicht gescannt.
ausschließen
new AxeDevToolsBuilder(driver).exclude('<CSS-Selector>');Fügen Sie der Liste von Elementen, die von der Analyse ausgeschlossen werden sollen, einen CSS-Selektor hinzu. Es werden nur Elemente außerhalb des an exclude() übergebenen Bereichs gescannt.
Diese Methoden können verkettet werden, um den Scan-Bereich weiter zu verfeinern, wie unten gezeigt:
new AxeDevToolsBuilder(driver).include('<CSS-Selector>').exclude('<Inner-CSS-Selector>');In diesem Beispiel würden alle Elemente innerhalb von <CSS-Selector> gescannt, außer den Elementen innerhalb von <Inner-CSS-Selector>.
Regelkonfiguration
Die Methoden zur Regelkonfiguration überschreiben die Standardregelkonfiguration. Zusätzliche Aufrufe dieser Methoden überschreiben frühere Aufrufe.
mitRegeln
Die withRules()-Methode beschränkt die Analyse auf nur diejenigen Regeln mit den angegebenen Regel-IDs. Sie akzeptiert eine Zeichenkette für eine einzelne Regel-ID oder ein Array mehrerer Regel-IDs.
Diese Beispiele zeigen die Verwendung von withRules mit einer einzelnen Regel-ID und einem Array von Regel-IDs:
//with a single rule ID
AxeDevToolsBuilder(driver).withRules('html-lang');
//with an array of rule IDs
AxeDevToolsBuilder(driver).withRules(['html-lang', 'image-alt']);mitTags
Die withTags()-Methode beschränkt die Analyse auf nur die Regeln, die mit dem angegebenen Tag verbunden sind. Akzeptiert ein einzelnes Tag oder ein Array von Tags, wie unten gezeigt:
//with a single tag
AxeDevToolsBuilder(driver).withTags('wcag2a');
//with an array of tags
AxeDevToolsBuilder(driver).withTags(['wcag2a', 'wcag2aa']);deaktiviereRegeln
AxeDevToolsBuilder.disableRules(rules: RuleID[]): AxeDevToolsBuilderDie disableRules()-Methode bewirkt, dass das bereitgestellte Array von Regeln bei der Durchführung einer Analyse übersprungen wird.
axe-core-Optionen
Optionen
.options(options: Axe.RunOptions)Die options-Methode gibt Optionen an, die von axe.run verwendet werden sollen. Sie überschreibt alle anderen konfigurierten Optionen, einschließlich Aufrufe von withRules und withTags. Siehe das axe-core-API-Dokumentation für Informationen.
new AxeDevToolsBuilder(page).options({
checks: { 'valid-lang': ['orcish'] }
});konfigurieren
.configure(config: Axe.Spec)Die configure-Methode injiziert ein axe-Konfigurationsobjekt, um das Regelset vor einer Analyse zu ändern. Nachfolgende Aufrufe dieser Methode machen vorherige ungültig, indem sie axe.configure() aufrufen und das Konfigurationsobjekt ersetzen. Siehe axe-core-API-Dokumentation für die Struktur des Objekts.
Das folgende Beispiel erstellt eine neue axe-core-Konfiguration und übergibt sie an Axe DevTools zur Verwendung für das Scannen:
const config = {
checks: [Object],
rules: [Object]
};
const results = await new AxeDevToolsBuilder(page).configure(config).analyze();Nutzungsdienst
Standardmäßig ist der Nutzungsdienst aktiviert, und die Standard-URL ist https://usage.deque.com. Setzen Sie die Umgebungsvariable AXE_TRACK_USAGE auf false, um ihn zu deaktivieren.
Umgebungsvariablen
Diese Umgebungsvariablen ermöglichen es Ihnen, den Nutzungsdienst zu konfigurieren und die Eigenschaften gemeldeter 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 |
enableTracking
Mit dieser Methode können Benutzer sich dafür entscheiden, Daten an den Nutzungsdienst zu senden oder nicht. Das Senden ist standardmäßig aktiviert.
.enableTracking(state: boolean)AxeDevToolsBuilder(driver).enableTracking(true)setTrackingUrl
Diese Methode erlaubt es Nutzern zu ändern, wohin die Daten der Nutzungsmetriken gesendet werden.
.setTrackingUrl(url: string)AxeDevToolsBuilder(driver).setTrackingUrl('https://foobar.biz')setDistinctId
Diese Methode erlaubt es Nutzern, die gespeicherte oder verwendete eindeutige ID zu ändern.
.setDistinctId(distinctId: string)AxeDevToolsBuilder(driver).setDistinctId('foobar')