Riferimento API Playwright per axe DevTools per Web
Riferimento per le API nel pacchetto @axe-devtools/playwright
Costruttore
Nella configurazione standard, l'unico argomento richiesto da passare al costruttore è l'istanza di Playwright. Se desideri utilizzare una versione di axe-core diversa da quella originariamente inclusa o un set di regole personalizzato, puoi anche passare queste opzioni al costruttore.
Non è possibile selezionare contemporaneamente una versione non standard di axe-core e un set di regole personalizzato.
Costruttore di Axe DevTools Playwright:
AxeDevToolsBuilder({ page: PlaywrightPage, source: string, rulesetId: AxeDevtoolsRulesetID})È necessario passare un'istanza di PlaywrightPage come primo argomento. Il secondo argomento può essere un ID del set di regole o un oggetto axe. Se non si specifica un secondo argomento, è necessario configurare il file di configurazione della regola personalizzata @axe-devtools/script-builder, altrimenti il costruttore genererà un'eccezione. Deve essere chiamato con la parola chiave new.
// instantiate with the Section 508 rule set
const builder = new AxeDevToolsBuilder({ page, rulesetId: '508' });
// or with a specific axe instance
const { source } = require('../axe-core-2.3.0');
const builder = new AxeDevToolsBuilder({ page, source });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
analizzare
AxeDevToolsBuilder.analyze(): Promise<axe.Results | Error>Esegue un'analisi e passa l'oggetto risultato e gli eventuali errori.
new AxeDevToolsBuilder({ page })
.analyze()
.then(results => {
console.log(results);
})
.catch(e => {
// Do something with error
});Opzioni di concatenazione
Esistono due opzioni per definire l'ambito delle scansioni di axe DevTools. Puoi scegliere di includere o escludere ambiti CSS specifici. I metodi concatenati indicati di seguito rendono possibile tutto ciò. Questi metodi possono essere concatenati per creare scansioni complesse e mirate.
include
AxeDevToolsBuilder.include(selector: String | String[])Aggiunge un selettore CSS all'elenco degli elementi da includere nell'analisi. Gli elementi al di fuori dell'ambito passato a .include() non verranno scansionati.
new AxeDevToolsBuilder({ page }).include('<CSS-Selector>');escludi
AxeDevToolsBuilder.exclude(selector: String | String[])Aggiungere un selettore CSS all'elenco degli elementi da escludere dall'analisi. Verranno analizzati solo gli elementi al di fuori dell'ambito passato a .exclude() .
Questi metodi possono essere concatenati per perfezionare ulteriormente l'ambito della scansione.
new AxeDevToolsBuilder({ page }).exclude('<CSS-Selector>');In questo esempio, tutti gli elementi all'interno di <CSS-Selector> verrebbero scansionati, ad eccezione degli elementi all'interno di <Inner-CSS-Selector>:
new AxeDevToolsBuilder({ page }).include('<CSS-Selector>').exclude('<Inner-CSS-Selector>');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
AxeDevToolsBuilder.withRules(rules: String|Array)Limita l'analisi solo alle regole con gli ID regola specificati. Accetta una stringa di un singolo ID regola o un array di più ID regola.
//with a single rule ID
AxeDevToolsBuilder({ page }).withRules('html-lang');
//with an array of rule IDs
AxeDevToolsBuilder({ page }).withRules(['html-lang', 'image-alt']);conTags
AxeDevToolsBuilder.withTags(tags: String|Array)Limita l'analisi solo alle regole contrassegnate con il tag fornito. Accetta un singolo tag o un array di tag.
//with a single tag
AxeDevToolsBuilder({ page }).withTags('wcag2a');
//with an array of tags
AxeDevToolsBuilder({ page }).withTags(['wcag2a', 'wcag2aa']);disabilitaRegole
AxeDevToolsBuilder.disableRules(rules: String|Array)Salta la verifica delle regole fornite. Accetta una stringa che rappresenta un singolo ID regola o un array di più ID regola. Le chiamate successive a AxeDevToolsBuilder.options(), AxeDevToolsBuilder.disableRules() sostituiranno le opzioni specificate.
new AxeDevToolsBuilder({ page }).disableRules('color-contrast');Opzioni axe-core
Queste opzioni accedono alla configurazione axe-core sottostante. Per maggiori informazioni su queste opzioni, consultare la documentazione di axe-core.
configurazione
AxeDevToolsBuilder.configure(config: axe.Spec): AxeDevToolsBuilderImposta la configurazione per axe-core. Questo valore viene passato direttamente a axe.configure() axe-core.
opzioni
AxeDevToolsBuilder.options(runOptions: axe.RunOptions): AxeDevToolsBuilderOpzioni da passare direttamente a axe.run(). Consultare la documentazione di axe-core per l'uso. Sovrascriverà tutte le altre opzioni configurate, incluse le chiamate a AxeDevToolsBuilder.withRules() e AxeDevToolsBuilder.withTags().
Servizio di utilizzo
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)AxeDevToolsBuilder({ page }).enableTracking(true)setTrackingUrl
Questo metodo consente agli utenti di modificare la destinazione dei dati relativi alle metriche di utilizzo.
.setTrackingUrl(url: string)AxeDevToolsBuilder({ page }).setTrackingUrl('https://foobar.biz')impostaDistinctId
Questo metodo consente agli utenti di modificare quale ID specifico viene memorizzato o utilizzato.
.setDistinctId(distinctId: string)AxeDevToolsBuilder({ page }).setDistinctId('foobar')