Erweiterte API-Nutzung mit Ruby
Erweiterte Nutzung von Axe DevTools für Web Ruby, einschließlich benutzerdefinierter Regeln, Berichtsoptionen und des Nutzungsdienstes
Dieses Dokument behandelt benutzerdefinierte Regeln, Berichtsoptionen und den Nutzungsdienst mit Ruby.
Benutzerdefinierte Regeln
Sie können benutzerdefinierte Axe-Regeln in einer JSON-Datei angeben.
Wenn Sie noch keine benutzerdefinierten Regeln haben und mit einem leeren Regelwerk beginnen möchten, erstellen Sie eine axe-ruleset.json-Datei im lokalen Verzeichnis mit einem leeren JavaScript-Objekt, z. B.: {}.
Benutzerdefinierte Regeln über eine Umgebungsvariable konfigurieren
Die Standardkonfiguration erwartet den Speicherort der benutzerdefinierten Regeln unter config/axe-ruleset.json relativ zum aktuellen Arbeitsverzeichnis.
Sie können diesen Speicherort mit der AXE_RULESET_PATH-Umgebungsvariable oder manuell über die Axe DevTools-Konfiguration überschreiben.
Setzen Sie die AXE_RULESET_PATH-Umgebungsvariable, um den Speicherort Ihrer axe-ruleset.json zu ändern:
AXE_RULESET_PATH=/path/to/your/axe-ruleset.jsonBenutzerdefinierte Regeln über die Axe DevTools-Konfiguration konfigurieren
Ein Konfigurationsobjekt steht zur Verfügung, um einen benutzerdefinierten Regel-Speicherort mit der AxeDevTools.configure-Methode zu definieren, falls Sie nicht mit der AXE_RULESET_PATH-Umgebungsvariable arbeiten möchten.
Alle nachstehenden Einstellungen sind optional. Sie können die gesamte AxeDevTools.configure-Aufrufung auslassen, um die ursprünglichen Standardwerte zu verwenden.
AxeDevTools.configure do |config|
# path to json configuration providing custom rules and checks
# set defaults to "config/axe-ruleset.json"
config.axe_ruleset_path = "config/axe-ruleset.json"
# Configure user pre-defined standard rule sets. Custom
# rules override these rule sets. See https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md
config.rule_set_id = '508'
endBerichtsoptionen
Berichtsoptionen mit der Axe DevTools-Konfiguration einstellen
Die axe-devtools-*-Gems ermöglichen das Protokollieren von Testergebnissen. Verwenden Sie den AxeDevTools.Configure-Aufruf, um eine globale Konfiguration für Berichte einzurichten:
AxeDevTools.configure do |config|
config.output_directory: 'my-results',
config.test_machine: 'my-server',
config.test_suite_name: 'Accessibility Tests For Application',
config.user_agent: 'Headless Chrome'
end
expect(page).to be_audited_for_accessibility.logging_results({
ui_state: 'Landing Page Load',
})Die Berichts-Konfiguration kann folgende Eigenschaften haben:
| Attribut | Standardwert | Beschreibung |
|---|---|---|
| ui_state (erforderlich) | Attribut zum Übergeben im options-Objekt. |
|
| output_directory (optional) | axe-reports |
Verzeichnisname, in das die Berichte erstellt werden sollen. |
| test_machine (optional) | Wert, um darzustellen, wo der Test ausgeführt wird. Z. B., CircleCI, TesterMachine01 |
|
| test_suite_name (optional) | axe-a11yCheck |
Suite-Name für die Tests. Z. B., My Module Test Suite |
| user_agent (optional) | null | Einen Ziel-User-Agent übergeben. Z. B., Chrome. |
| verbose (optional) | false | Flag zur Aktivierung/Deaktivierung von detaillierten Protokollen der Stacktrace und Nachrichten. |
Beachten Sie auch, dass alle oben genannten Optionen für AxeDevTools.configure beim Konfigurieren des bevorzugten WebDrivers übergeben werden können. Zum Beispiel:
require 'axe-devtools-capybara'
AxeCapybara.configure do |config|
config.axe_config_path = 'config/my-ruleset.json'
endSiehe auch
- Hochladen von JSON-Zugänglichkeitsergebnissen zu den Axe-Berichten beschreibt, wie Sie Ihre Ergebnisse in Axe-Berichte hochladen können.
- Erhalten eines Axe-Berichts-API-Schlüssels erklärt, wie Sie einen API-Schlüssel erhalten, um mit der Verwendung der Axe-Berichte zu beginnen.
- Erstellen und Filtern von Berichten zeigt, wie Sie Barriereberichte in CSV, XML oder HTML aus Ihren JSON-Barrierefreiheitsergebnissen erstellen können. Sie können Ihre Ausgabe auch nach Schweregrad filtern, indem Sie dieses Tool verwenden.
- Wie JSON-Ergebnisse auf der Festplatte gespeichert werden beschreibt die Namenskonventionen für JSON-Barrierefreiheitsergebnisse.
- Verwenden des CLI zum Senden von Zugänglichkeitsergebnissen an die Axe Developer Hub zeigt, wie Sie Ihre
.jsonErgebnisdateien zu Axe Developer Hub hochladen können.
Nutzungsdienst
Mit dem Nutzungsdienst können Sie Einblicke in die Nutzungstrends von Axe DevTools in Ihrer Organisation gewinnen.
Standardmäßig ist der Nutzungsdienst aktiviert, und die Tracking-URL ist https://usage.deque.com.
In der Ruby-API verwenden Sie die unten beschriebene enableTracking Konfigurationseigenschaft, um das Nutzungs-Tracking auszuschalten, anstatt die AXE_TRACK_USAGE Umgebungsvariable. Wenn Ihre Nutzungsdaten nicht bei Deque ankommen, setzen Sie die Tracking-URL explizit mit setTrackingUrl.
Optionen für den Nutzungsdienst mit AxeDevTools-Konfiguration einstellen
Die axe-devtools-*-Gems ermöglichen die Konfiguration des Nutzungsdienstes über eine globale Konfiguration:
AxeDevTools.configure do |config|
config.setTrackingUrl: 'https://usage.deque.com',
endDie spezifischen Konfigurationseigenschaften des Nutzungsdienstes sind:
| Attribut | Standardwert | Beschreibung |
|---|---|---|
| enableTracking | true | Option zur Aktivierung der Nutzungserfassung. |
| setTrackingUrl | https://usage.deque.com |
Option zum Überschreiben der Tracking-URL. |
Beachten Sie auch, dass alle oben genannten Optionen für AxeDevTools.configure auch bei der Konfiguration des gewünschten WebDrivers übergeben werden können. Zum Beispiel bei Capybara:
require 'axe-devtools-capybara'
AxeCapybara.configure do |config|
config.enableTracking = false
endKonfigurieren von Nutzungsdienst-Optionen mit Umgebungsvariablen
Zusätzlich können Nutzungsdienst-Optionen über Umgebungsvariablen konfiguriert werden.
| 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 |
