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 @axe-devtools/script-builder-Konfigurationsdatei für benutzerdefinierte Regeln konfigurieren, andernfalls wirft der Konstruktor eine Ausnahme.
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 Web lesen Sie den Leitfaden zur Generierung und Integration von benutzerdefinierten 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 angegebenen Client durch. Ein Promise wird zurückgegeben, das mit dem von axe-core zurückgegebenen Ergebnis der Barrierefreiheit auflöst.
analysiereUniversell
Die analyzeUniversal() -Methode führt die Analyse durch und gibt die Ergebnisse im Axe Universal Formatzurü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 einen CSS-Selektor der Liste der zu analysierenden Elemente hinzu. Elemente außerhalb des übergebenen Umfangs von include() werden nicht gescannt.
ausschließen
new AxeDevToolsBuilder(driver).exclude('<CSS-Selector>');Fügt einen CSS-Selektor der Liste der von der Analyse auszuschließenden Elemente hinzu. Es werden nur Elemente außerhalb des übergebenen Umfangs von exclude() 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 nur auf die Regeln mit den angegebenen Regel-IDs. Sie akzeptiert einen String 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 nur auf die Regeln, die mit dem angegebenen Tag verbunden sind. Sie 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 Regel-Array beim Ausführen einer Analyse übersprungen wird.
axe-core-Optionen
Optionen
.options(options: Axe.RunOptions)Die options Methode legt fest, welche Optionen von axe.run verwendet werden sollen. Sie überschreibt alle anderen konfigurierten Optionen, einschließlich Aufrufe von withRules und withTags. Weitere Informationen finden Sie in der axe-core-API-Dokumentation .
new AxeDevToolsBuilder(page).options({
checks: { 'valid-lang': ['orcish'] }
});konfigurieren
.configure(config: Axe.Spec)Die configure Methode injiziert ein axe-Konfigurationsobjekt, um das Regelwerk vor einer Analyse zu ändern. Nachfolgende Aufrufe dieser Methode heben vorherige auf, 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 deaktiviert und die standardmäßige URL ist https://usage.deque.com.
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 (es sei denn, er wird neu generiert) |
AXE_METRICS_URL |
String | — | Die URL des REST-Nutzungsendpunktes |
AXE_TRACK_USAGE |
Boolean | — | Aktiviert die Berichtserstattung über den Nutzungsdienst (Standard ist false) |
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 |
AXE_SESSION_ID |
String | false | Ein UUID, das die Sitzung des Benutzers identifiziert |
AXE_USER_ID |
String | false | Eine spezifische Benutzeridentität wie Name oder Login-ID |
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
Diese Methode ermöglicht es den Nutzern, sich für das Senden von Daten an den Nutzungsdienst zu entscheiden.
.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')