Testare le pagine con CLI
Opzioni per testare pagine web individuali con Axe DevTools per Web CLI
Quando si utilizza la modalità di input URI della CLI, sono disponibili diverse opzioni aggiuntive per modificare l'ambito e il set di regole di un test. Ad esempio, il seguente codice escluderà l'intestazione e il piè di pagina da un test e disabiliterà la regola del contrasto cromatico:
axe http://example.com --exclude footer,header --disable color-contrastOpzioni
-a, --axe-source <path>
Percorso per un axe.js file alternativo. La maggior parte degli utenti non necessita di questa opzione. È destinata a casi d'uso avanzati come il testing contro una versione specifica o corretta di axe-core.
--axe-devhub-api-key <your-API-key>
Specifica la chiave API dell'Axe Account da utilizzare per inviare i risultati di accessibilità all'Axe Developer Hub. I risultati vengono inviati al progetto associato con l'ID progetto specificato (specificato con l'opzione --axe-devhub-project-id della riga di comando) dopo che il test è completato. Sia --axe-devhub-api-key che --axe-devhub-project-id sono richiesti per inviare i risultati all'Axe Developer Hub. Vedi Utilizzare la CLI per inviare i risultati di accessibilità all'Axe Developer Hub per maggiori informazioni.
--axe-devhub-project-id <your-project-ID>
Specifica l'ID del progetto dell'Axe Developer Hub che deve ricevere i risultati dei test di accessibilità. Sia --axe-devhub-api-key che --axe-devhub-project-id sono richiesti per inviare i risultati all'Axe Developer Hub. Vedi Utilizzare la CLI per inviare i risultati di accessibilità all'Axe Developer Hub per maggiori informazioni.
--axe-devhub-server-url <url>
Specifica l'URL del server dell'Axe Developer Hub. Il valore predefinito è https://axe.deque.com. Equivale alla variabile d'ambiente AXE_DEVHUB_SERVER_URL . Vedi Utilizzare la CLI per inviare i risultati di accessibilità all'Axe Developer Hub per maggiori informazioni.
-c, --custom <path>
Specifica un set di regole personalizzato da utilizzare. Vedi Set di regole personalizzati per i dettagli su come generare un file di regole.
--chrome-options [options]
Elenco separato da virgole di opzioni della riga di comando di Chrome da passare al browser. Ad esempio:
axe http://example.com --chrome-options="some-switch,some-other-switch"--chrome-path <path>
Percorso assoluto all'eseguibile del browser Chrome. Utilizzare questo per puntare axe a un'installazione specifica di Chrome quando il browser predefinito non può essere trovato, o quando è necessario eseguire contro una versione particolare.
--chromedriver-path <path>
Percorso assoluto all'eseguibile di ChromeDriver. ChromeDriver è un binario separato dal browser Chrome stesso; funge da ponte che traduce i comandi WebDriver di axein istruzioni che Chrome può eseguire.
-d, --dir <path>
La directory in cui viene salvato il file dei risultati in formato JSON. Senza questo flag (o --save o --report), nessun file viene scritto, e i risultati vengono stampati nel terminale come un riassunto leggibile per gli esseri umani. Vedi anche -j, --stdout se hai bisogno di un output leggibile dalla macchina senza scrivere su disco.
-l, --disable <list>
Elenco di ID di regole da disabilitare, separato da virgole. Vedi le descrizioni delle regole di axe-core per un elenco completo degli ID delle regole.
axe http://example.com --disable color-contrast,duplicate-id-e, --exclude <list>
Elenco separato da virgole di selettori CSS per elementi da escludere dal test. Ad esempio:
# Exclude by element type
axe http://example.com --exclude footer,header
# Exclude by class or ID
axe http://example.com --exclude ".ad-banner,#cookie-notice"
# Exclude by attribute
axe http://example.com --exclude "[aria-hidden=true]"-f, --format <value>
Formato del rapporto generato. Richiede -r, --report. Vedi Creare e filtrare i rapporti per dettagli su cosa contiene ogni formato. Predefinito: html.
| Valore | Output |
|---|---|
html |
Rapporto HTML |
junit |
Rapporto JUnit XML |
csv |
Foglio di calcolo CSV |
universal |
Formato Universale Axe file JSON |
html+junit+csv |
Tutti e tre i formati contemporaneamente |
axe http://example.com --report ./reports --format html+junit+csv--filter <list>
Elenco di tipi di risultati separati da virgola da includere nell'output CSV. Verranno visualizzati solo i tipi specificati; tutti gli altri sono esclusi. I valori validi sono passes, violations, incomplete, e inapplicable. Richiede --format csv.
axe reporter ./axe-reports/json/ --format=csv --filter passes,inapplicable-i, --include <list>
Elenco di selettori CSS separati da virgola. Quando specificato, axe testa solo gli elementi che corrispondono, e tutto il resto della pagina viene ignorato. Questo è molto restrittivo, e la maggior parte degli utenti dovrebbe usare -e, --exclude invece. Utilizzare --include solo quando si desidera isolare il test a un componente specifico, come durante il debugging mirato o i controlli CI a livello di componente.
# Test only the main navigation
axe http://example.com --include nav
# Test only elements with a specific class or ID
axe http://example.com --include ".my-widget,#signup-form"
# Test only elements with a specific attribute
axe http://example.com --include "[data-testid=checkout]"-j, --stdout
Scrivi i risultati completi come JSON leggibile dalla macchina su stdout invece del sommario leggibile dall'utente nel terminale. Tutto l'altro output è silenziato. Usare questo quando si inviano i risultati a un altro programma.
--load-delay <n>
Imposta quanto tempo (millisecondi) axe attenderà dopo il caricamento della pagina prima di eseguire l'audit (predefinito: 0).
--no-git-data
Non riportare le informazioni sui rami Git e commit quando si inviano risultati ad Axe Developer Hub. Vedi Utilizzo della CLI per inviare i risultati di accessibilità ad Axe Developer Hub.
--no-reporter
Sopprime l'output del sommario delle violazioni (ID delle regole, conteggi, selettori coinvolti e URL di aiuto) senza silenziare tutto. I messaggi di progresso e i risultati scritti su disco tramite --save, --dir, o --report non sono influenzati. Utilissimo principalmente nei pipeline CI dove si stanno salvando i risultati su un file utilizzando --exit per il segnalamento di pass/fail e non si desidera avere i dettagli delle violazioni verbosi nel registro di compilazione. Per un silenzio completo con output di risultati in JSON, utilizzare -j, --stdout invece.
-q, --exit
Esci con codice di errore 1 se uno qualsiasi dei test di accessibilità fallisce.
-r, --report <output-dir>
La directory dove viene scritto il rapporto formattato. Funziona con -f, --format per controllare il formato di output (HTML per impostazione predefinita). Utilizzare questo quando si desidera un rapporto leggibile dall'uomo o analizzabile dalla macchina piuttosto che il raw JSON, per esempio, un rapporto in HTML per la condivisione con stakeholder o un file JUnit XML per l'integrazione CI. Per l'output JSON raw, utilizzare -d, --dir invece.
--rules <list>
Elenco di ID di regole separati da virgola da eseguire. Solo le regole specificate vengono verificate; tutte le altre vengono saltate. Vedi le descrizioni delle regole di axe-core per un elenco completo degli ID delle regole.
axe http://example.com --rules color-contrast,duplicate-id-s, --save [filename]
Salva i risultati come un file JSON nella directory corrente. Il nome del file è facoltativo; se omesso, il file viene chiamato axe-result.json. Per salvare in una directory specifica invece, utilizzare -d, --dir.
--show-errors
Quando axe incontra un errore di runtime (come un fallimento nell'inizializzare o un'eccezione lanciata durante l'esecuzione), normalmente stampa un breve messaggio di errore su stderr. Questo flag aggiunge il full stack trace a tale output. Non influisce su come vengono riportate le violazioni di accessibilità. Usare questo quando si esegue il debugging di un --axe-source file personalizzato, diagnosticando fallimenti inaspettati in CI, o raccogliendo informazioni per un rapporto di bug.
-t, --tags <list>
Elenco di tag separati da virgola per filtrare quali regole vengono eseguite. Solo le regole che corrispondono ad almeno uno dei tag specificati sono incluse. Vedi la documentazione dei tag di axe-core per un elenco completo dei tag disponibili.
axe http://example.com --tags wcag2a,wcag2aa--timer
Stampa tre misurazioni temporali sul terminale dopo ogni esecuzione del test:
- Tempo di caricamento della pagina di Axe: quanto tempo ci è voluto per caricare la pagina nel browser
- Tempo di esecuzione di axe-core: quanto tempo ha impiegato axe-core per analizzare la pagina
- Tempo totale del test: tempo trascorso end-to-end per l'esecuzione
Utilizzare questo per diagnosticare test lenti. Ad esempio, utilizzare questa opzione per determinare se il tempo viene speso in attesa del caricamento della pagina o nell'analisi di Axe, o per investigare perché un'esecuzione sta raggiungendo --page-timeout o --script-timeout limiti.
--universal-best-practices
Registra bestPracticesEnabled=true nei metadati dell'output del formato universale. Richiede --format universal.
--universal-ruleset <id>
Specifica l'ID del set di regole da registrare nei metadati dell'output del formato universale. Per impostazione predefinita wcag2.1. Richiede --format universal.
| ID del set di regole | Standard |
|---|---|
wcag2 |
WCAG 2.0 AA |
wcag2.1 |
WCAG 2.1 AA (predefinito) |
wcag2.2 |
WCAG 2.2 AA |
wcag2aaa |
WCAG 2.0 AAA |
wcag2.1aaa |
WCAG 2.1 AAA |
wcag2.2aaa |
WCAG 2.2 AAA |
508 |
Sezione 508 |
en301549 |
EN 301 549 |
ttv5 |
Trusted Tester v5 |
rgaav4 |
RGAA v4 |
Il 508 set di regole registra standard: "WCAG 2.1 AA" nell'output perché il formato universale non ha valori distinti dello standard Sezione 508.
-v, --verbose
Quando vengono trovate delle violazioni, stampa un blocco JSON dopo il riepilogo delle violazioni contenente:
- Motore di Test: la versione di axe-core utilizzata
- Ambiente di Test: user agent del browser, larghezza e altezza del viewport e orientamento dello schermo
- Esecutore di Test: il nome dell'esecutore
Nota che questo output appare solo quando vengono rilevate violazioni. Se una pagina non ha violazioni, i metadati non vengono stampati. Usalo quando hai bisogno di confermare esattamente quale versione di axe-core è stata eseguita, verificare le impostazioni del viewport o includere i dettagli dell'ambiente in un rapporto di bug.
Opzioni di configurazione
Le seguenti opzioni controllano il comportamento del browser e il timing dei test. A differenza delle opzioni sopra, queste persistono tra le esecuzioni CLI; impostarle una volta salva il valore in un file delle preferenze utilizzato per tutte le esecuzioni future. Possono anche essere impostate interattivamente utilizzando axe config-selenium.
| Opzione | Descrizione |
|---|---|
--accept-untrusted |
Accettare certificati SSL non affidabili. |
--browser [browser-name] |
Browser da usare. Richiede il binding Selenium WebDriver per il browser scelto. |
--headless |
Avvia il browser in modalità headless (nessuna finestra visibile). |
--page-timeout [ms] |
Tempo massimo di attesa per il caricamento di una pagina. Predefinito: 60000. |
--post-analyze-pause [ms] |
Pausa tra l'avvio dell'analisi della pagina e il passaggio all'azione successiva. Predefinito: 2000. |
--post-get-pause [ms] |
Pausa tra il caricamento della pagina e l'inizio della scansione. Predefinito: 2000. |
--post-script-pause [ms] |
Pausa tra un'azione di scripting e l'inizio della scansione. Predefinito: 2000. |
--remote-server [server-url] |
Utilizzare un server remoto WebDriver come BrowserStack o Sauce Labs. |
--script-timeout [ms] |
Tempo massimo consentito per l'esecuzione di uno script di file specifico. Predefinito: 60000. |
--window-size <width,height> |
Imposta la dimensione della finestra in pixel, ad esempio --window-size=1280,800. Si applica anche in modalità headless. |
Per tutti i dettagli, vedere Opzioni di configurazione.
