Rapporten genereren
Converteer JSON-toegankelijkheidsresultaten naar HTML-, JUnit XML- of CSV-rapporten met behulp van het axe reporter-commando.
Wanneer je de Axe DevTools API's of de axe CLI gebruikt om te testen op toegankelijkheid, worden de resultaten opgeslagen als JSON-bestanden. Gebruik het axe reporter commando om die JSON-bestanden om te zetten in HTML-, JUnit XML-, CSV- of universele formatenrapporten. Je kunt de resultaten ook filteren op type voordat je een rapport genereert.
Het axe reportercommando
axe reporter <results-dir> [dest-dir] [options]De <results-dir> is de directory die de JSON-resultaatbestanden bevat. De optionele [dest-dir] is waar de rapporten worden geschreven; je kunt ook --dest gebruiken om dit te specificeren.
Als je de axe CLI gebruikt om JSON-resultaten te genereren met axe of axe spec, kun je de --format vlag direct op die commando's gebruiken. Zie Analyseer pagina's en Analyseer pagina's met behulp van een spec-bestand.
Genereer een CSV-rapport van JSON-resultaten:
axe reporter ./axe-results/ ./axe-reports/csv/ --format=csvGenereer rapporten in meerdere formaten tegelijk:
axe reporter ./axe-results/ ./axe-reports/ --format=csv,html,junitOpties
-d, --dest <path>
Specificeert de uitvoermap voor gegenereerde rapporten. Je kunt in plaats daarvan de bestemming opgeven als het tweede positionele argument.
-f, --format <type(s)>
Outputformaat(en): html, junit (XML), csv of universal. Om meerdere formaten in één keer te genereren, geef ze gescheiden door komma's, spaties, puntkomma's of plus tekens. Spaties rond de scheidingstekens worden genegeerd.
De universal waarde genereert een JSON-bestand in de Axe Universele Format, wat een standaardschema is dat wordt gedeeld door Axe-producten. Gebruik de bijbehorende opties hieronder om te controleren welke metadata in de output worden opgenomen.
--universal-ruleset <id>
Specificeert het regels-ID dat in de metadata van de universele formaatoutput moet worden opgenomen. Standaard is wcag2.1. Zie de regelsysteemtabel voor geldige waarden.
--universal-best-practices
Legt bestPracticesEnabled=true vast in de metadata van de universele formaatoutput.
HTML-rapporten
Een HTML-rapport rendert zichzelf wanneer je het opent. Voordat het bestand wordt geschreven, probeert de CLI het ook voor te renderen naar statische markup, zodat de inhoud er al is en meteen wordt weergegeven zodra je het opent, in plaats van een moment later. Deze stap is niet gerelateerd aan de browser die je voor tests hebt gebruikt, dus opties zoals --chrome-path en --chrome-options zijn hier niet van toepassing.
Als je de CLI als een Node.js-pakket hebt geïnstalleerd, werkt het voorrenderen automatisch en is er geen browser nodig. Als je de zelfstandige uitvoerbare bestand gebruikt, zoekt de CLI in plaats daarvan naar een geïnstalleerde Chrome, Edge of Brave om voor deze stap te gebruiken. Om het naar een specifieke browser te verwijzen, stel je de omgevingsvariabele AXE_DEVTOOLS_REPORTER_BROWSER_PATH in.
Als de CLI geen browser vindt (wanneer je het zelfstandige uitvoerbare bestand gebruikt), geeft het een waarschuwing en schrijft het nog steeds het rapport. Het rapport wordt nog steeds normaal weergegeven en werkt normaal wanneer je het opent, alleen zonder die directe weergave-optimalisatie.
Op een langzame bouwmachine of met een groot rapport kan het genereren van een HTML-rapport mislukken met een fout zoals browser render timed out after 30000ms. Om meer tijd toe te laten, stel je AXE_DEVTOOLS_REPORTER_RENDER_TIMEOUT_MS in op een aantal milliseconden. De standaard is 30000 (30 seconden). Schrijf de waarde als gewone cijfers; elke andere waarde wordt genegeerd en de standaard wordt gebruikt.
export AXE_DEVTOOLS_REPORTER_RENDER_TIMEOUT_MS=120000Voor de andere omgevingsvariabelen die bepalen hoe HTML-rapporten worden gegenereerd, zie Voorrenderen van HTML-rapporten.
--filter <type(s)>
Filtert welke resultaatsoorten in het rapport worden opgenomen. Accepteert één of meer van: passes, violations, incomplete, inapplicable. Scheid meerdere waarden met komma's en zonder spaties. Vereist --format csv.
# Include only violations and incomplete results
axe reporter ./axe-results/ --format=csv --filter violations,incomplete
# Include only passed checks
axe reporter ./axe-results/ --format=csv --filter passes-b, --browser <name>
Wanneer een resultaten-directory resultaten van meerdere browsers bevat, gebruik deze optie om een rapport te genereren van slechts één browserresultaat. De naam moet overeenkomen met de browser die werd gebruikt tijdens het testen, bijvoorbeeld chrome of firefox.
JSON-resultaten op schijf
Begrijpen hoe de Axe DevTools CLI JSON-resultaatbestanden benoemt en organiseert is nuttig bij het werken met het axe reporter commando of het programmatisch verwerken van resultaten.
Mapstructuur
Voor elk project in een specificatiebestand worden de resultaten opgeslagen in een subdirectory genoemd naar de id van het project, binnen de uitvoer-directory die je opgeeft:
<output-dir>/<project-id>/Deze subdirectory wordt automatisch aangemaakt. Als deze al bestaat van een eerdere run, wordt deze gearchiveerd door deze te hernoemen naar <project-id>-<timestamp> voordat er een nieuwe directory wordt aangemaakt.
Bestandsnaamgeving
Elk JSON-resultaatbestand wordt benoemd met behulp van de project id en een paginastatus die is afgeleid van de pagina id en de optionele title van de analyze actie:
<project-id>-<page-id>[-<analyze-title>].jsonDe pagina id komt uit het id veld in pageList. Als id niet expliciet is ingesteld op een pagina, wordt deze automatisch afgeleid uit de pagina name door spaties te verwijderen.
Het analyze-title segment wordt alleen toegevoegd wanneer een titel is opgegeven in de analyze actie, of wanneer een pagina meerdere analyze calls heeft (in dat geval krijgt elk resultaat een unieke achtervoegsel om botsingen te voorkomen).
Voorbeeld
Bij een project met id: "deque" en een pagina met name: "Deque search" (geen expliciete id), is de automatisch afgeleide pagina-ID Dequesearch. Een enkele analyze call zonder titel produceert:
<output-dir>/deque/deque-Dequesearch.jsonMet analyze the page with title "initial state":
<output-dir>/deque/deque-Dequesearch-initial state.json