Riferimento API WebdriverIO per Axe DevTools per Web
Riferimento per le API nel pacchetto @axe-devtools/webdriverio
Costruttore
Nella configurazione standard, l'unico argomento richiesto per il costruttore di WebdriverIO è l'istanza di WebdriverIO. Se desideri utilizzare una versione di axe-core diversa da quella inclusa originalmente o un set di regole personalizzato, puoi passare queste opzioni nel costruttore.
Non puoi selezionare una versione axe-core non standard e un set di regole personalizzato.
AxeDevToolsWebdriverIO(options: Options)L'interfaccia Options è un oggetto che contiene le seguenti proprietà:
client(obbligatorio): un client WebdriverIOaxeSource(opzionale): una stringa di codice sorgente axe-corerulesetID(opzionale): un ID set di regole ('wcag2', 'wcag2.1', 'wcag2.2', 'wcag2aaa', 'wcag2.1aaa', 'wcag2.2aaa', '508', 'en301549', 'rgaav4', 'ttv5')
Non puoi fornire sia axeSource che rulesetID. I due sono reciprocamente esclusivi.
Definizione della versione di axe-core
Di default, @axe-devtools/webdriverio utilizzerà l'ultima versione disponibile di axe-core. Per configurare una versione diversa di axe-core, passa l'opzione axeSource. Tutte le versioni di axe-core possono essere ottenute da npm o tramite unpkg visitando http://unpkg.com/axe-core@<version>/axe.js (sostituisci <version> con il numero di versione). Sono supportate tutte le versioni di axe-core posteriori alla 2.1.0.
Questo è un esempio di inizializzazione di Axe DevTools WebdriverIO con axe-core 2.3.0 da un file situato nella directory principale del file di test.
const axeSource = require('../axe-core-3.5.0').source;
const axeDevTools = new AxeDevToolsWebdriverIO({ client, axeSource });Metodo analyze
Questo metodo esegue l'analisi e in ultima istanza restituisce i risultati della scansione di accessibilità.
analyze(client: webdriverio.Client): Promise<axe.AxeResults>Esegui un'analisi utilizzando la configurazione predefinita sul client dato. Viene restituito un Promise, che si risolve con l'insieme di risultati restituito da axe-core.
Regole personalizzate
Per informazioni sull'uso di regole personalizzate con Axe DevTools, leggi la guida sulla generazione e integrazione del set di regole personalizzato nel guida CLI.
Metodo analyzeUniversal
Esegue un'analisi e restituisce i risultati nel Formato Universale di Axe. Il metodo analyze() esistente non è cambiato.
analyzeUniversal(): Promise<UniversalExport>Opzioni di catena
Esistono diverse opzioni per limitare il campo delle tue scansioni Axe DevTools. Puoi includere o escludere specifici ambiti CSS e/o ignorare gli iframe. I metodi di catena (sotto) sul costruttore lo rendono possibile.
disableFrame
AxeDevToolsWebdriverIO.disableFrame(selector: string): AxeDevToolsWebdriverIODisabilita l'iniezione di axe-core nei frame che corrispondono al selettore CSS dato. Questo metodo può essere chiamato un numero qualsiasi di volte.
includi
AxeDevToolsWebdriverIO.include(selector: string): AxeDevToolsWebdriverIOSelettore da includere nell'analisi. Può essere chiamato un numero qualsiasi di volte.
escludi
AxeDevToolsWebdriverIO.exclude(selector: string): AxeDevToolsWebdriverIOSelettore da escludere nell'analisi. Può essere chiamato un numero qualsiasi di volte.
Configurazione delle regole
Queste opzioni modificano la configurazione delle regole per il set di regole scelto. Queste opzioni sovrascrivono la configurazione standard delle regole e modificheranno i tuoi risultati. Ulteriori chiamate con questi metodi sovrascriveranno le chiamate precedenti.
conRegole
AxeDevToolsWebdriverIO.withRules(rules: RuleID[]): AxeDevToolsWebdriverIOLimita l'analisi solo alle regole specificate. Non può essere utilizzato con AxeDevToolsWebdriverIO.withTags().
conTag
AxeDevToolsWebdriverIO.withTags(tags: axe.TagValue[]): AxeDevToolsWebdriverIOLimita l'analisi solo ai tag specificati. Non può essere utilizzato con AxeDevToolsWebdriverIO.withRules().
disabilitaRegole
AxeDevToolsWebdriverIO.disableRules(rules: RuleID[]): AxeDevToolsWebdriverIOImposta l'elenco delle regole da saltare durante l'esecuzione di un'analisi.
Opzioni di axe-core
Queste opzioni accedono alla configurazione sottostante di axe-core. Per maggiori informazioni su queste opzioni, vedi il documentazione di axe-core.
configurare
AxeDevToolsWebdriverIO.configure(config: axe.Spec): AxeDevToolsWebdriverIOImposta la configurazione per axe-core. Questo valore viene passato direttamente a axe.configure().
opzioni
AxeDevToolsWebdriverIO.options(runOptions: axe.RunOptions): AxeDevToolsWebdriverIOIl runOptions da passare direttamente a axe.run(). Vedi il documentazione di axe-core per l'uso. Sovrascriverà qualsiasi altra opzione configurata, incluse le chiamate a AxeDevToolsWebdriverIO.withRules() e AxeDevToolsWebdriverIO.withTags().
Servizio di utilizzo
Il servizio di utilizzo ti consente di ottenere informazioni sulle tendenze di utilizzo di Axe DevTools all'interno della tua organizzazione.
Per impostazione predefinita, il servizio di utilizzo è abilitato e l'URL predefinito è https://usage.deque.com. Imposta la variabile d'ambiente AXE_TRACK_USAGE su false per disabilitarlo.
Variabili d'ambiente
Queste variabili d'ambiente ti consentono di configurare il servizio di utilizzo e modificare le proprietà degli eventi riportati.
| Nome | Tipo | Può Sovrascrivere | Descrizione |
|---|---|---|---|
AXE_DISTINCT_ID |
Stringa | — | Un identificatore UUID che rimane lo stesso per l'utente connesso (a meno che non venga rigenerato). In Ruby, questa variabile è denominata DEQUE_DISTINCT_ID. |
AXE_INCLUDE_TEST_RESULTS |
Booleano | — | Imposta su true per includere i risultati completi di axe-core nell'oggetto testResults di ogni evento (predefinito è false). Supportato solo dalla CLI e dalle API di Node.js. |
AXE_METRICS_URL |
Stringa | — | L'URL dell'endpoint di utilizzo REST (predefinito è https://usage.deque.com) |
AXE_TRACK_USAGE |
Booleano | — | Imposta su false per disabilitare il servizio di reporting sull'utilizzo. Il reporting è abilitato per impostazione predefinita. |
AXE_APPLICATION |
Stringa | falso | L'applicazione utilizzata per controllare gli errori di accessibilità |
AXE_DEV_INSTANCE |
Booleano | vero | Indica se questo evento è dovuto ad azioni di uno sviluppatore software. Utile per marcare e successivamente rimuovere eventi registrati durante lo sviluppo o i test. |
AXE_DEPARTMENT |
Stringa | vero | Il dipartimento utente all'interno dell'organizzazione |
AXE_KEYCLOAK_ID |
Stringa | falso | L'ID Keycloak dell'utente |
AXE_LOGGED_IN |
Booleano | falso | Registra se l'utente è connesso all'applicazione in test |
AXE_ORGANIZATION |
Stringa | vero | L'organizzazione dell'utente. Per fare sì che il tuo utilizzo appaia nei Rapporti Axe, imposta questo valore sull'ID della tua organizzazione (contatta Deque per ottenerlo). |
AXE_SESSION_ID |
Stringa | falso | Un UUID che identifica la sessione dell'utente |
AXE_USER_ID |
Stringa | falso | L'identità di un utente specifico come un indirizzo email, un nome o un ID di accesso. I Rapporti Axe contano gli utenti unici a partire da questo valore. |
AXE_USER_JOB_ROLE |
Stringa | falso | Il ruolo lavorativo dell'utente |
AXE_USER_STATUS |
Stringa | falso | Informazioni sullo stato che si desidera associare all'utente |
attivaTracciamento
Questo metodo consente agli utenti di scegliere se desiderano inviare o meno dati al servizio di utilizzo. L'invio è abilitato per impostazione predefinita.
.enableTracking(state: boolean): AxeDevToolsWebdriverIOimpostaTrackingUrl
Questo metodo consente agli utenti di modificare la destinazione dei dati delle metriche di utilizzo
.setTrackingUrl(url: string): AxeDevToolsWebdriverIOimpostaIdDistinto
Questo metodo consente agli utenti di modificare l'id distinto memorizzato/utilizzato
.setDistinctId(distinctId: string): AxeDevToolsWebdriverIO