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 da passare al costruttore WebdriverIO è l'istanza di WebdriverIO. Se desideri utilizzare una versione di axe-core diversa da quella originariamente inclusa o un set di regole personalizzato, puoi passare queste opzioni al costruttore.
Non è possibile selezionare una versione non standard di axe-core e un set di regole personalizzato.
AxeDevToolsWebdriverIO(options: Options)
L' Options
interfaccia è un oggetto che contiene le seguenti proprietà:
client
(obbligatorio): un client WebdriverIOaxeSource
(facoltativo): una stringa di codice sorgente axe-corerulesetID
(facoltativo): un ID del set di regole ('wcag2', 'wcag2.1', 'wcag2.2', 'wcag2aaa', 'wcag2.1aaa', 'wcag2.2aaa', '508 ', 'en301549', 'ttv5')
Non è possibile fornire sia axeSource
e rulesetID
. Le due cose si escludono a vicenda.
Definizione della versione axe-core
Per impostazione predefinita, @axe-devtools/webdriverio utilizzerà l'ultima versione disponibile di axe-core. Per configurare una versione diversa di axe-core, inserire l'opzione nel campo axeSource
. Tutte le versioni di axe-core possono essere scaricate da npm o tramite unpkg visitando http://unpkg.com/axe-core@<version>/axe.js
(sostituisci con <version> il simbolo \ con il numero di versione). Sono supportate tutte le versioni di axe-core successive 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 padre 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 alla fine restituisce i risultati della scansione di accessibilità.
analyze(client: webdriverio.Client): Promise<axe.AxeResults>
Esegui un'analisi utilizzando la configurazione predefinita sul client specificato. Viene restituito un A Promise
, che si risolve con il set di risultati restituito da axe-core.
Regole personalizzate
Per informazioni sull'utilizzo di regole personalizzate con axe DevTools, leggere la guida sulla generazione e l'integrazione di set di regole personalizzati nella guida CLI.
Opzioni della catena
Esistono diverse opzioni per definire l'ambito delle scansioni di axe DevTools. È possibile includere o escludere ambiti CSS specifici e/o ignorare gli iframe. Ciò è possibile grazie ai metodi a catena (di seguito) del costruttore.
disabilitaFrame
AxeDevToolsWebdriverIO.disableFrame(selector: string): AxeDevToolsWebdriverIO
Disabilita l'iniezione di axe-core nei frame che corrispondono al selettore CSS specificato. Questo metodo può essere chiamato un numero qualsiasi di volte.
include
AxeDevToolsWebdriverIO.include(selector: string): AxeDevToolsWebdriverIO
Selettore da includere nell'analisi. Questo può essere chiamato un numero qualsiasi di volte.
escludi
AxeDevToolsWebdriverIO.exclude(selector: string): AxeDevToolsWebdriverIO
Selettore da escludere nell'analisi. Questo può essere chiamato un numero qualsiasi di volte.
Configurazione delle regole
Queste opzioni modificano la configurazione delle regole per il ruleset scelto. Queste opzioni sovrascrivono la configurazione standard delle regole e modificheranno i risultati. Ulteriori chiamate con questi metodi sovrascriveranno le chiamate precedenti.
conRegole
AxeDevToolsWebdriverIO.withRules(rules: RuleID[]): AxeDevToolsWebdriverIO
Limitare l'analisi solo alle regole specificate. Non può essere utilizzato con AxeDevToolsWebdriverIO.withTags()
.
con Tag
AxeDevToolsWebdriverIO.withTags(tags: axe.TagValue[]): AxeDevToolsWebdriverIO
Limita l'analisi solo ai tag specificati. Non è compatibile con AxeDevToolsWebdriverIO.withRules()
.
disabilitaRegole
AxeDevToolsWebdriverIO.disableRules(rules: RuleID[]): AxeDevToolsWebdriverIO
Imposta l'elenco delle regole da ignorare durante l'esecuzione di un'analisi.
Opzioni axe-core
Queste opzioni accedono alla configurazione axe-core sottostante. Per maggiori informazioni su queste opzioni, consultare la documentazione di axe-core.
configura
AxeDevToolsWebdriverIO.configure(config: axe.Spec): AxeDevToolsWebdriverIO
Imposta la configurazione per axe-core. Questo valore viene passato direttamente a axe.configure()
axe-core.
opzioni
AxeDevToolsWebdriverIO.options(runOptions: axe.RunOptions): AxeDevToolsWebdriverIO
Da passare direttamente a runOptions
. axe.run()
Consultare la documentazione di axe-core per l'uso. Sovrascriverà tutte le altre opzioni configurate, comprese 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 è disabilitato e l'URL predefinito è https://usage.deque.com
.
Variabili d'ambiente
Questo metodo consente agli utenti di modificare valori specifici del servizio di utilizzo tramite variabili di ambiente
Variabile d'ambiente | Tipo |
---|---|
AXE_IS_LOGGED_IN | Booleano |
AXE_KEYCLOAK_ID | String |
AXE_UTENTE_ID | String |
AXE_SESSIONE_ID | String |
STATO_UTENTE_AXE | String |
RUOLO_PROFESSIONE_UTENTE_AXE | String |
AXE_DISTINTO_ID | String |
ISTANZA_DEV_IS_AXE | Booleano |
AXE_ORGANIZZAZIONE | String |
AXE_APPLICAZIONE | String |
AXE_METRICS_URL | String |
AXE_TRACCIA_USO | Booleano |
enableTracking
Questo metodo consente agli utenti di scegliere di inviare dati al servizio di utilizzo
.enableTracking(state: boolean): AxeDevToolsWebdriverIO
setTrackingUrl
Questo metodo consente agli utenti di modificare la destinazione dei dati delle metriche di utilizzo
.setTrackingUrl(url: string): AxeDevToolsWebdriverIO
setDistinctId
Questo metodo consente agli utenti di modificare l'ID distinto memorizzato/utilizzato
.setDistinctId(distinctId: string): AxeDevToolsWebdriverIO