Riferimento API di Playwright per Axe DevTools per il 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 si desidera utilizzare una versione di axe-core diversa da quella originariamente inclusa o un set di regole personalizzato, è possibile passare anche queste opzioni nel costruttore.
Non è possibile selezionare una versione non standard di axe-core e un set di regole personalizzato contemporaneamente.
Costruttore di Axe DevTools Playwright:
AxeDevToolsBuilder({ page: PlaywrightPage, source: string, rulesetId: AxeDevtoolsRulesetID})Devi passare un'istanza di PlaywrightPage come primo argomento. Il secondo argomento può essere un id di set di regole o un oggetto axe. Se non fornisci un secondo argomento, devi configurare il file di configurazione delle regole personalizzate @axe-devtools/script-builder, altrimenti il costruttore lancerà 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'uso di regole personalizzate con Axe DevTools, leggi la guida sulla generazione e integrazione di set di regole personalizzate nella guida CLI
analizza
AxeDevToolsBuilder.analyze(): Promise<axe.Results | Error>Esegue un'analisi e passa l'oggetto risultato e eventuali errori.
new AxeDevToolsBuilder({ page })
.analyze()
.then(results => {
console.log(results);
})
.catch(e => {
// Do something with error
});analizzaUniversale
AxeDevToolsBuilder.analyzeUniversal(): Promise<UniversalExport>Esegue un'analisi e restituisce i risultati nel Formato Universale Axe. Il metodo esistente analyze() è invariato.
new AxeDevToolsBuilder({ page })
.analyzeUniversal()
.then(results => {
console.log(results);
})
.catch(e => {
// Do something with error
});Opzioni di Catena
Esistono due opzioni per delimitare le scansioni Axe DevTools. Puoi scegliere di includere o escludere scopi CSS specifici. I metodi di catena seguenti lo rendono possibile. Questi metodi possono essere concatenati per creare scansioni complesse e mirate.
include
AxeDevToolsBuilder.include(selector: String | String[])Aggiunge un selettore CSS all'elenco di elementi da includere nell'analisi. Gli elementi al di fuori dell'ambito passato a .include() non saranno scansionati.
new AxeDevToolsBuilder({ page }).include('<CSS-Selector>');esclude
AxeDevToolsBuilder.exclude(selector: String | String[])Aggiunge un selettore CSS all'elenco di elementi da escludere dall'analisi. Saranno scansionati solo gli elementi al di fuori dell'ambito passato a .exclude() saranno scansionati.
Questi metodi possono essere concatenati per raffinare ulteriormente l'ambito della scansione.
new AxeDevToolsBuilder({ page }).exclude('<CSS-Selector>');In questo esempio, tutti gli elementi all'interno di <CSS-Selector> verrebbero scansionati, eccetto per gli 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 set di regole scelto. Queste opzioni sovrascrivono la configurazione standard delle regole e modificheranno i tuoi risultati. Chiamate aggiuntive con questi metodi sovrascriveranno le chiamate precedenti.
conRegole
AxeDevToolsBuilder.withRules(rules: String|Array)Limita l'analisi solo a quelle con gli ID di regola specificati. Accetta una stringa di un singolo ID di regola o un array di più ID di regola.
//with a single rule ID
AxeDevToolsBuilder({ page }).withRules('html-lang');
//with an array of rule IDs
AxeDevToolsBuilder({ page }).withRules(['html-lang', 'image-alt']);conTag
AxeDevToolsBuilder.withTags(tags: String|Array)Limita l'analisi solo a quelle 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 di regola o un array di più ID di regola. Chiamate successive a AxeDevToolsBuilder.options(), AxeDevToolsBuilder.disableRules() sovrascriveranno le opzioni specificate.
new AxeDevToolsBuilder({ page }).disableRules('color-contrast');Opzioni di axe-core
Queste opzioni accedono alla configurazione sottostante di axe-core. Per ulteriori informazioni su queste opzioni, vedere 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().
opzioni
AxeDevToolsBuilder.options(runOptions: axe.RunOptions): AxeDevToolsBuilderOpzioni da passare direttamente a axe.run(). Vedi la documentazione 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 di ambiente
Queste variabili di ambiente ti permettono di configurare il servizio di utilizzo e modificare le proprietà degli eventi segnalati.
| 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) |
AXE_METRICS_URL |
Stringa | — | L'URL del punto di accesso REST per l'utilizzo |
AXE_TRACK_USAGE |
Booleano | — | Abilita il report del servizio di utilizzo (il valore predefinito è false) |
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 |
AXE_SESSION_ID |
Stringa | falso | Un UUID che identifica la sessione dell'utente |
AXE_USER_ID |
Stringa | falso | Un'identità specifica dell'utente come nome o ID di accesso |
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 |
abilitaMonitoraggio
Questo metodo consente agli utenti di scegliere di inviare dati al servizio di utilizzo.
.enableTracking(state: boolean)AxeDevToolsBuilder({ page }).enableTracking(true)impostaTrackingUrl
Questo metodo consente agli utenti di cambiare dove vengono inviati i dati delle metriche di utilizzo.
.setTrackingUrl(url: string)AxeDevToolsBuilder({ page }).setTrackingUrl('https://foobar.biz')impostaIdDistinto
Questo metodo consente agli utenti di cambiare quale ID distinto è memorizzato o utilizzato.
.setDistinctId(distinctId: string)AxeDevToolsBuilder({ page }).setDistinctId('foobar')