Riferimento API C#
Classi C# di Axe DevTools
Questa pagina documenta le classi che compongono axe DevTools C#
class Deque.AxeDevtools.Selenium.AxeSelenium
L'interfaccia per axe. Contiene configurazioni per modificare il modo in cui funziona axe e la possibilità di utilizzarlo.
Campo statico | Tipo | Descrizione |
---|---|---|
defaultAxeSource | string | La stringa axe-core predefinita che verrà utilizzata. |
AxeSelenium(OpenQA.Selenium.Remote.RemoteWebDriver, ReportConfiguration?, stringa)
Crea un nuovo oggetto AxeSelenium per una pagina con una configurazione specifica.
Param | Descrizione |
---|---|
webdriver | Oggetto Selenium della pagina da testare. Dovrebbe essere nello stato pronto per il test. |
reportConfiguration | Configurazione per varie informazioni specifiche del report. Impostato di default su ReportConfiguration.GetDefault() |
axeSource | sorgente axe-core da utilizzare. Impostato di default su AxeSelenium.defaultAxeSource |
Risultati rapportoAnalizza()
Esegui axe sulla pagina.
Restituisce: il report ottenuto eseguendo axe-core sulla pagina.
var report = new AxeSelenium(driver).Analyze();
AxeSelenium Configura(Specifiche)
Configura axe. Fatto tramite axe.configure
Param | Descrizione |
---|---|
spec | Oggetto Spec da passare. |
Restituisce: Questo oggetto per il concatenamento.
var spec = new Spec.Spec {
Checks = new Spec.Check[] {
new Spec.Check() {
Id = "dylang",
Options = (object) new string[] { "dylan" },
Evaluate = @"function (node, options) {
var lang = (node.getAttribute('lang') || '').trim().toLowerCase();
var xmlLang = (node.getAttribute('xml:lang') || '').trim().toLowerCase();
var invalid = [];
(options || []).forEach(function(cc) {
cc = cc.toLowerCase();
if (lang && (lang === cc || lang.indexOf(cc.toLowerCase() + '-') === 0)) {
lang = null;
}
if (xmlLang && (xmlLang === cc || xmlLang.indexOf(cc.toLowerCase() + '-') === 0)) {
xmlLang = null;
}
});
if (xmlLang) {
invalid.push('xml:lang='' + xmlLang + ''');
}
if (lang) {
invalid.push('lang='' + lang + ''');
}
if (invalid.length) {
this.data(invalid);
return true;
}
return false;
}"
}
},
Rules = new Spec.Rule[] {
new Spec.Rule() {
Id = "dylang",
Selector = "html",
Tags = new string[] { "wcag2aa" },
All = new string[0],
Any = new string[0],
None = new string[] { "dylang" }
}
}
};
var report = new AxeSelenium(driver)
.Configure(spec)
.Analyze()
AxeSeleniumDisabilitareRegole(stringa[])
Disattiva alcune regole quando esegui axe.
Param | Descrizione |
---|---|
rules | Elenco degli id delle regole. |
Restituisce: Questo oggetto per il concatenamento.
var report = new AxeSelenium(driver)
.DisablingRules("html-has-lang", "label")
.Analyze()
AxeSeleniumEsclusione(stringa[])
Specifica la parte della pagina da escludere quando si esegue axe.
Param | Descrizione |
---|---|
selector | Elenco di selettori CSS per gli elementi. |
Restituisce: Questo oggetto per il concatenamento.
var report = new AxeSelenium(driver)
.Excluding(".third-party-ad", ".iframe1")
.Analyze()
AxeSeleniumInclusione(string[])
Specifica la parte della pagina su cui eseguire axe.
Param | Descrizione |
---|---|
selector | Elenco di selettori CSS per gli elementi. |
Restituisce: Questo oggetto per il concatenamento.
var report = new AxeSelenium(driver)
.Including(".sidebar", ".some-class")
.Analyze()
AxeSelenium OpzioniEsecuzione(OpzioniEsecuzione)
Specificare RunOptions
da passare ad axe quando si invoca axe.run
.
Param | Descrizione |
---|---|
opzioni | Oggetto da passare |
Restituisce: Questo oggetto per il concatenamento.
var options = new RunOptions.RunOptions {
IFrames = false,
RunOnly = RunOptions.RunOnly.Tags(RunOptions.TagType.Wcag2a)
};
var report = new AxeSelenium(driver)
.RunOptions(options)
.Analyze()
AxeSeleniumConConfigFile(string)
Imposta dove trovare un file di configurazione. Il percorso predefinito è config/axe-ruleset.json
o $AXE_RULESET_PATH
.
Param | Descrizione |
---|---|
percorso | Percorso del file di configurazione. |
Restituisce: Questo oggetto per il concatenamento.
var report = new AxeSelenium(driver)
.WithConfigFile("path/to/file.json")
.Analyze();
AxeSelenium ConRegole(string[] {#axeselenium-withrulesstring})
Specificare le regole (per ID) da utilizzare durante l'esecuzione di axe.
Param | Descrizione |
---|---|
rules | Elenco degli id delle regole. |
Restituisce: Questo oggetto per il concatenamento.
var report = new AxeSelenium(driver)
.WithRules("document-title", "label")
.WithRules("html-has-lang")
.Analyze()
AxeSeleniumConSetDiRegole(string, bool)
Utilizzare un set di regole specifico (ad esempio wcag2.1
, 508
).
Param | Descrizione |
---|---|
rulesetId | ID del ruleset da utilizzare. |
enableBestPractices | Se attivare o meno le regole etichettate best-practice . Impostato di default su false |
Restituisce: Questo oggetto per il concatenamento.
var report = new AxeSelenium(driver)
.WithRuleset("508", true)
.Analyze()
AxeSelenium ConTag(TipoTag[])
Specificare le regole (tramite tag) da utilizzare durante l'esecuzione di axe.
Param | Descrizione |
---|---|
tags | Elenco dei tag delle regole. |
Restituisce: Questo oggetto per il concatenamento.
var report = new AxeSelenium(driver)
.WithTags(RunTagType.BestPractice)
.Analyze()
Variabili ambientali
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 |
AxeSeleniumAbilitaTracciamento(bool)
Scegli se inviare o meno i dati al servizio di utilizzo.
Param | Descrizione |
---|---|
stato | Se il monitoraggio è abilitato |
Restituisce: Questo oggetto per il concatenamento.
AxeSeleniumSetTrackingUrl(string)
Imposta dove inviare i dati delle metriche di utilizzo. Impostato di default su https://usage.deque.com
Param | Descrizione |
---|---|
url | URL dove verrà inviato |
Restituisce: Questo oggetto per il concatenamento.
AxeSeleniumSetDistinctId(string)
Imposta un ID distinto da utilizzare durante l'invio delle metriche di utilizzo.
Param | Descrizione |
---|---|
id | UUID da inviare come id unico |
Restituisce: Questo oggetto per il concatenamento.
class Deque.AxeDevtools.Selenium.ReportConfiguration
Configura informazioni specifiche del report come il nome della suite di test o le informazioni dell'agente utente
Campo statico | Tipo | Descrizione |
---|---|---|
TIMESTAMP_FORMAT | string | Formato dei timestamp nei report. |
statico ReportConfigurationGetDefault()
Ottiene la configurazione predefinita corrente. Si noti che la configurazione predefinita può essere modificata.
Restituisce: il valore predefinito corrente.
static void ResetDefault()
Ripristina il predefinito al suo stato iniziale.
void SetAsDefault()
Imposta questo oggetto come predefinito.
ReportConfiguration.GetDefault()
.TestSuiteName("my-tests")
.UIState("home-page")
.SetAsDefault();
ReportConfigurationTestMachine(stringa)
Imposta la macchina su cui sono stati eseguiti questi test.
Param | Descrizione |
---|---|
testMachine | ID della macchina. |
Restituisce: Questo oggetto per il concatenamento.
ReportConfigurationTestSuiteName(stringa)
Imposta il nome della suite di test.
Param | Descrizione |
---|---|
nome | Nome. |
Restituisce: Questo oggetto per il concatenamento.
ReportConfigurationUIState(stringa)
Specificare lo stato dell'interfaccia utente per questo set di test. Utilizzato come ID.
Param | Descrizione |
---|---|
id | State id. |
Restituisce: Questo oggetto per il concatenamento.
ReportConfigurationUserAgent(stringa)
Imposta l'agente utente utilizzato durante il test.
Param | Descrizione |
---|---|
userAgent | Stringa dell'agente utente. |
Restituisce: Questo oggetto per il concatenamento.
class Deque.AxeDevtools.Selenium.Results.Check
Il risultato di un controllo di axe.
Campo | Tipo | Descrizione |
---|---|---|
Dati | oggetto | Informazioni aggiuntive specifiche del tipo di controllo, facoltative. Ad esempio, un controllo del contrasto dei colori includerebbe il colore di primo piano, il colore di sfondo, il rapporto di contrasto, ecc. |
Id | string | Identificatore univoco per questo controllo. Gli ID dei controlli potrebbero essere gli stessi degli ID delle Regole. |
Impatto | string | Quanto è serio questo particolare controllo. Può essere "lieve", "moderato", "grave" o "critico". Ogni verifica che fa parte di una regola può avere impatti diversi. Per la regola viene segnalato l'impatto più elevato tra tutti i controlli falliti. |
Messaggio | Stringa | Descrizione del motivo per cui questa verifica è stata superata o fallita. |
RelatedNodes | List<Nodo> | Matrice facoltativa di informazioni su altri nodi correlati a questo controllo. Ad esempio, una violazione del test degli ID duplicati elencherebbe gli altri selettori che avevano lo stesso ID duplicato. |
class Deque.AxeDevtools.Selenium.Results.CheckedNode
Un nodo HTML che è stato controllato da una regola.
Campo | Tipo | Descrizione |
---|---|---|
Tutti | Elenco<Controllo> | Array dei controlli effettuati, dove tutti devono essere stati superati. |
Qualsiasi | Elenco<Controllo> | Array dei controlli effettuati, di cui almeno uno deve essere stato superato. |
Impatto | string | Quanto è grave la violazione. Può essere "minore", "moderato", "grave" o "critico" se il test non è riuscito, oppure nullo se il controllo è stato superato. |
Nessuno | Elenco<Controllo> | Array dei controlli effettuati, dove nessuno deve essere stato superato. |
class Deque.AxeDevtools.Selenium.Results.Node
Specifica un nodo HTML specifico.
Campo | Tipo | Descrizione |
---|---|---|
Html | string | Frammento di HTML dell'elemento. |
Target | oggetto | Array di stringhe o Array di Array di stringhe. Se l'elemento nell'array è una stringa, allora si tratta di un selettore CSS. Se l'array contiene più elementi, ogni elemento corrisponde a un livello di iframe o frame. Se è presente un iframe o un frame, nel target dovrebbero esserci due voci. Se ci sono tre livelli di iframe, nel target dovrebbero esserci quattro voci. Se l'elemento nell'Array è un Array di stringhe, allora punta a un elemento in un shadow DOM e ogni elemento (tranne l'n-1esimo) in questo array è un selettore per un elemento DOM con un shadow DOM. L'ultimo elemento dell'array punta al nodo shadow DOM finale. |
class Deque.AxeDevtools.Selenium.Results.Platform
La piattaforma su cui è stato eseguito il test.
Campo | Tipo | Descrizione |
---|---|---|
TestMachine | string | ID della macchina su cui è stato eseguito il test. |
UserAgent | string | User agent su cui è stato eseguito il test. |
class Deque.AxeDevtools.Selenium.Results.ReportResults
Risultati di un test compatibili con il formato del generatore di rapporti.
var axe = new AxeSelenium(driver, ReportConfiguration.GetDefault().UIState("UIState"));
var res = axe.Analyze();
File.WriteAllText(reportPath, JsonConvert.SerializeObject(res));
Campo | Tipo | Descrizione |
---|---|---|
EndTime | string | Quando il test è stato completato. |
Risultati | Risultati del test | Risultati di Axe. |
Id | string | Id per l'esecuzione del test. |
Nome | string | Nome dell'esecuzione del test. |
Piattaforma | Piattaforma | Informazioni sulla piattaforma su cui è stato eseguito il test. |
TestSubject | TestSubject | Informazioni su dove è stato eseguito il test (ad esempio l'URL della pagina web). |
Tipo | string | Tipo di report. È sempre "attest-result". |
class Deque.AxeDevtools.Selenium.Results.Rule
Risultato per una singola regola.
Campo | Tipo | Descrizione |
---|---|---|
CreatedDate | string | Data e ora in cui è stata completata l'analisi. |
Descrizione | string | Stringa di testo che descrive lo scopo della regola. |
Help | string | Testo di aiuto che descrive il test eseguito. |
HelpUrl | stringa | URL che fornisce maggiori informazioni sui dettagli della violazione. Link a una pagina del sito della Deque University. |
Id | string | Identificatore univoco per la regola. |
Impatto | string | Quanto è grave la violazione. Può essere "minore", "moderato", "grave" o "critico" se la regola non è stata superata, oppure nullo se il controllo è stato superato. |
Nodi | Array<NodoControllato> | Array di tutti gli elementi testati dalla regola. |
Tag | Elenco<string> | Array dei tag a cui è assegnata questa regola. Questi tag possono essere utilizzati nella struttura delle opzioni per selezionare quali regole eseguire. |
Url | string | URL della pagina testata. |
class Deque.AxeDevtools.Selenium.Results.TestEngine
Informazioni sul motore axe-core su cui è stato eseguito il test.
Campo | Tipo | Descrizione |
---|---|---|
Nome | string | Nome del motore. |
Version | string | Numero di versione del motore. |
class Deque.AxeDevtools.Selenium.Results.TestEnvironment
Informazioni sull'ambiente in cui è stato eseguito il test.
Campo | Tipo | Descrizione |
---|---|---|
OrientationAngle | double? | Angolo di orientamento dello schermo. (ad esempio 0) |
OrientationType | string | Tipo di orientamento dello schermo. (ad esempio "landscape-primary") |
UserAgent | string | User agent del browser in cui è stato eseguito il test. |
WindowHeight | int | Altezza della finestra. |
WindowWidth | int | Larghezza della finestra. |
class Deque.AxeDevtools.Selenium.Results.TestResults
Risultati restituiti eseguendo axe sulla pagina.
Campo | Tipo | Descrizione |
---|---|---|
Inapplicabile | List<Regola> | Questi risultati sono stati interrotti e richiedono ulteriori test. Ciò può accadere a causa di restrizioni tecniche relative a ciò che la regola può testare oppure perché si è verificato un errore JavaScript. |
Incompleto | List<Regola> | Questi risultati indicano quali regole non sono state eseguite perché non è stato trovato alcun contenuto corrispondente nella pagina. Ad esempio, senza video, quelle regole non verranno eseguite. |
Superamenti | List<Regola> | Questi risultati indicano quali elementi hanno superato le regole. |
TestEngine | TestEngine | Informazioni sul motore axe-core utilizzato nel test. |
TestEnvironment | TestEnvironment | Informazioni sull'ambiente in cui è stato eseguito il test. |
TestRunner | TestRunner | Nome dell'esecutore di test. |
Timestamp | string | Data e ora in cui è stata completata l'analisi. |
ToolOptions | oggetto | Opzioni applicate durante il test. |
Url | string | URL della pagina testata. |
Violazioni | Elenco<Regola> | Questi risultati indicano quali elementi non hanno soddisfatto le regole. |
class Deque.AxeDevtools.Selenium.Results.TestRunner
Nome dell'esecutore del test.
Campo | Tipo | Descrizione |
---|---|---|
Nome | stringa | Il nome. |
class Deque.AxeDevtools.Selenium.Results.TestSubject
Informazioni su ciò che viene testato.
Campo | Tipo | Descrizione |
---|---|---|
FileName | string | Nome file del sito sottoposto a test. (Può essere un URL.) |
LineNum | int | Numero di riga del test. |
Stato | string | Stato del file. |
class Deque.AxeDevtools.Selenium.RunOptions.Context
Specificare quale elemento deve essere testato e quale no.
void Excluding(string[])
Aggiungere un set di selettori per gli elementi che non devono essere testati.
Param | Descrizione |
---|---|
exclude | Set di selettori CSS. |
void Including(string[])
Aggiungere un set di selettori per gli elementi che devono essere testati.
Param | Descrizione |
---|---|
include | Set di selettori CSS. |
enum Deque.AxeDevtools.Selenium.RunOptions.ResultGroup
- Superati
- Violazioni
- Incompleto
- Inapplicabile
class Deque.AxeDevtools.Selenium.RunOptions.RuleStatus
Abilita o disabilita una regola.
Campo | Tipo | Descrizione |
---|---|---|
Abilitato | bool | Se è abilitato o meno. |
class Deque.AxeDevtools.Selenium.RunOptions.RunOnly
Limita le regole da eseguire in base ai nomi o ai tag.
Static RunOnlyRules(string[])
Costruisci un limitatore per le regole basate sugli ID.
Param | Descrizione |
---|---|
rules | Elenco degli ID delle regole da utilizzare. |
Restituisce: L'oggetto RunOnly
.
Static RunOnly Tag(TagType[])
Costruisci un limitatore per le regole basate sui tag.
Param | Descrizione |
---|---|
tipologie | Elenco dei tag da utilizzare. |
Restituisce: L'oggetto RunOnly
.
enum Deque.AxeDevtools.Selenium.RunOptions.RunOnlyType
- Regola
- Regole
- Tag
- Etichette
class Deque.AxeDevtools.Selenium.RunOptions.RunOptions
Una configurazione flessibile per il funzionamento di axe.
Campo | Tipo | Descrizione |
---|---|---|
ElementRef | bool? | Restituisce i riferimenti agli elementi in aggiunta al target. |
IFrames | bool? | Indica ad axe di eseguire all'interno degli iframe. |
ResultTypes | ResultGroup[] | Limita i tipi di risultati da elaborare e aggregare |
Regole | Dizionario<string, StatoRegola> | Consente di personalizzare le proprietà di una regola (incluso { enable: false }). |
RunOnly | RunOnly | Limita le regole da eseguire in base ai nomi o ai tag. |
Selettori | bool? | Restituisce i selettori xpath per gli elementi. |
enum Deque.AxeDevtools.Selenium.RunOptions.TagType
- Wcag2a
- Wcag2aa
- Wcag2aaa
- Wcag21a
- Wcag21aa
- Wcag21aaa
- Wcag22a
- Wcag22aa
- Wcag22aaa
- Section508
- TTv5
- EN301549
- BestPractice
class Deque.AxeDevtools.Selenium.Spec.Check
Utilizzato per aggiungere controlli all'elenco dei controlli utilizzati dalle regole o per sovrascrivere le proprietà dei controlli esistenti.
Campo | Tipo | Descrizione |
---|---|---|
After | string | Questa è la funzione che viene chiamata per i controlli che operano a livello di pagina, per elaborare i risultati degli iframe. |
Abilitato | bool? | Viene utilizzato per indicare se il controllo è attivato o disattivato per impostazione predefinita. I controlli disattivati non vengono valutati, anche se inclusi in una regola. Ignorare questa regola è un metodo comune per disattivare un controllo specifico su più regole. |
Valuta | string | Questa è la funzione che implementa la funzionalità del controllo. |
Id | stringa | Identifica in modo univoco la verifica. Se il controllo esiste già, tutte le proprietà di controllo fornite verranno sovrascritte. |
Corrispondenze | string | Un selettore CSS di filtraggio che escluderà gli elementi che non corrispondono al selettore CSS. |
Opzioni | oggetto | Questa è la struttura delle opzioni che viene passata alla funzione di valutazione e che è destinata a essere utilizzata per configurare i controlli. Si tratta della proprietà più comune che si intende sovrascrivere per i controlli esistenti. |
class Deque.AxeDevtools.Selenium.Spec.Rule
Utilizzato per aggiungere regole al set di regole esistente o per sovrascrivere le proprietà delle regole esistenti.
Campo | Tipo | Descrizione |
---|---|---|
Tutto | string[] | Questo è un elenco di controlli che, se uno di essi "fallisce", genera una violazione. |
Ogni | string[] | Questo è un elenco di controlli che, se nessuno "supera", genera una violazione. |
Abilitato | bool? | Se la regola è attivata. Questo è un attributo comune per la sovrascrittura. |
ExcludeHidden | bool? | Indica se gli elementi nascosti a tutti gli utenti devono essere passati alla regola per la valutazione. |
Id | string | Identifica in modo univoco la regola. Se la regola esiste già, verrà sostituita con uno qualsiasi degli attributi forniti. |
Corrispondenze | stringa | Un selettore CSS di filtraggio che escluderà gli elementi che non corrispondono al selettore CSS. |
Nessuno | string[] | Questo è un elenco di controlli che, se uno qualsiasi di essi "supera", genereranno una violazione. |
PageLevel | bool? | Se impostato su true, questa regola viene applicata solo quando viene testata l'intera pagina. I risultati dei nodi su frame diversi vengono combinati in un unico risultato. |
Selettore | string | Un selettore CSS utilizzato per identificare gli elementi che vengono passati alla regola per la valutazione. |
Tag | string[] | Elenco dei tag che "classificano" la regola. In pratica, è necessario fornire alcuni tag validi, altrimenti la valutazione predefinita non invocherà la regola. La convenzione prevede l'inclusione dello standard (WCAG 2, sezione 508, Trusted Tester v5 o EN 301 549), del livello WCAG 2, del paragrafo della sezione 508 e dei criteri di successo WCAG 2. I tag vengono creati convertendo tutte le lettere in minuscolo, rimuovendo spazi e punti e concatenando il risultato. Ad esempio, il criterio di successo WCAG 2 A 1.1.1 diventerebbe ["wcag2a", "wcag111"] |
class Deque.AxeDevtools.Selenium.Spec.Spec
Configura il formato dei dati utilizzati da axe. Può essere utilizzato per aggiungere nuove regole, che devono essere registrate nella libreria per poter essere eseguite.
Campo | Tipo | Descrizione |
---|---|---|
Branding | Branding | Utilizzato per impostare il branding degli helpUrls. |
Controlli | Check[] | Utilizzato per aggiungere controlli all'elenco dei controlli utilizzati dalle regole o per sovrascrivere le proprietà dei controlli esistenti. |
Locale | Locale | Un oggetto locale da applicare (in fase di esecuzione) a tutte le regole e i controlli. |
ReporterVersion | ReporterVersion? | Utilizzato per impostare il formato di output che verrà restituito dalla funzione axe.run. |
Regole | Regola[] | Utilizzato per aggiungere regole al set di regole esistente o per sovrascrivere le proprietà delle regole esistenti. |