Generare report
Converti i risultati di accessibilità JSON in report HTML, JUnit XML o CSV utilizzando il comando axe reporter.
Quando utilizzi le API di Axe DevTools o il CLI axe per testare l'accessibilità, i risultati vengono salvati come file JSON. Usa il comando axe reporter per convertire quei file JSON in report in formato HTML, JUnit XML, CSV o universale. Puoi anche filtrare i risultati per tipo prima di generare un report.
Il Comando axe reporter
axe reporter <results-dir> [dest-dir] [options]Il <results-dir> è la directory che contiene i file di risultati JSON. L'opzionale [dest-dir] è il luogo dove vengono scritti i report; puoi anche usare --dest per specificarlo.
Se stai utilizzando il CLI axe per generare risultati JSON con axe o axe spec, puoi usare il flag --format direttamente su quei comandi invece. Vedi Analizza Pagine e Analizza Pagine Utilizzando un File di Specifica.
Genera un report CSV dai risultati JSON:
axe reporter ./axe-results/ ./axe-reports/csv/ --format=csvGenera report in più formati contemporaneamente:
axe reporter ./axe-results/ ./axe-reports/ --format=csv,html,junitOpzioni
-d, --dest <path>
Specifica la directory di output per i report generati. Puoi anche specificare la destinazione come secondo argomento posizionale.
-f, --format <type(s)>
Formato(i) di output: html, junit (XML), csv o universal. Per generare più formati in un'unica esecuzione, fornisci loro separati da virgole, spazi, punti e virgole o segni più. Gli spazi attorno ai separatori vengono ignorati.
Il valore universal produce un file JSON nel Formato Universale Axe, che è uno schema standard condiviso tra i prodotti Axe. Usa le opzioni di accompagnamento sotto per controllare quale metadata viene registrato nell'output.
--universal-ruleset <id>
Specifica l'ID del set di regole da registrare nei metadati dell'output in formato universale. Il valore predefinito è wcag2.1. Vedi il tabella dei set di regole per i valori validi.
--universal-best-practices
Registra bestPracticesEnabled=true nei metadati dell'output in formato universale.
Report HTML
Un report HTML si renderizza automaticamente quando lo apri. Prima di scrivere il file, il CLI tenta anche di pre-renderizzarlo in un markup statico, in modo che il suo contenuto sia già lì e venga visualizzato non appena lo apri, anziché un attimo dopo. Questo passaggio non è correlato al browser utilizzato per i test, quindi opzioni come --chrome-path e --chrome-options non si applicano qui.
Se hai installato il CLI come pacchetto Node.js, il pre-rendering funziona automaticamente e non è necessario alcun browser. Se stai utilizzando l'eseguibile autonomo, il CLI cerca invece un Chrome, Edge o Brave installato per utilizzare in questo passaggio. Per puntarlo a un browser specifico, imposta la variabile d'ambiente AXE_DEVTOOLS_REPORTER_BROWSER_PATH.
Se il CLI non trova alcun browser (quando si utilizza l'eseguibile autonomo), stampa un avviso e scrive comunque il report. Il report si visualizza e funziona comunque normalmente quando lo apri, solo senza quella ottimizzazione di visualizzazione istantanea.
Su una macchina di build lenta o con un report di grandi dimensioni, la generazione di un report HTML può fallire con un errore come browser render timed out after 30000ms. Per concedere più tempo, imposta AXE_DEVTOOLS_REPORTER_RENDER_TIMEOUT_MS a un numero di millisecondi. Il valore predefinito è 30000 (30 secondi). Scrivi il valore come cifre semplici; qualsiasi altro valore viene ignorato e viene utilizzato il predefinito.
export AXE_DEVTOOLS_REPORTER_RENDER_TIMEOUT_MS=120000Per le altre variabili d'ambiente che controllano come vengono generati i report HTML, vedi Pre-rendering dei report HTML.
--filter <type(s)>
Filtra quali tipi di risultati includere nel report. Accetta uno o più di: passes, violations, incomplete, inapplicable. Separa più valori con virgole e senza spazi. Richiede --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>
Quando una directory dei risultati contiene risultati da più browser, usa questa opzione per generare un report solo dai risultati di un browser. Il nome dovrebbe corrispondere al browser utilizzato durante l'esecuzione dei test, per esempio, chrome o firefox.
Risultati JSON sul disco
Capire come il CLI del Axe DevTools nomina e organizza i file di risultati JSON è utile quando si lavora con il comando axe reporter o si elaborano i risultati in modo programmatico.
Struttura della Directory
Per ciascun progetto in un file spec, i risultati sono salvati in una sottodirectory che porta il nome del id del progetto, all'interno della directory di output specificata:
<output-dir>/<project-id>/Questa sottodirectory viene creata automaticamente. Se esiste già da un'esecuzione precedente, viene archiviata rinominandola in <project-id>-<timestamp> prima di creare una nuova directory.
Denominazione dei File
Ogni file di risultato JSON è nominato usando il id del progetto e uno stato della pagina derivato dal id della pagina e dall'opzionale title dell'azione analyze:
<project-id>-<page-id>[-<analyze-title>].jsonIl id della pagina proviene dal campo id in pageList. Se il id non è esplicitamente impostato su una pagina, viene derivato automaticamente dal name della pagina rimuovendo gli spazi.
Il segmento analyze-title viene aggiunto solo quando un titolo è fornito nell'azione analyze, o quando una pagina ha più chiamate analyze (in tal caso, ogni risultato ottiene un suffisso unico per evitare collisioni).
Esempio
Dato un progetto con id: "deque" e una pagina con name: "Deque search" (nessun id esplicito), l'ID pagina auto-derivato è Dequesearch. Una singola chiamata analyze senza titolo produce:
<output-dir>/deque/deque-Dequesearch.jsonCon analyze the page with title "initial state":
<output-dir>/deque/deque-Dequesearch-initial state.json