Panoramica di Axe DevTools C#
Panoramica di Axe DevTools per Web per C#, inclusi prerequisiti e limitazioni note
Axe DevTools C# include:
- versione 4 di axe-core
- supporto Microsoft Visual Studio 2019 IDE
- supporto Microsoft .NET Core 2.2.0 CLI
Le scansioni vengono eseguite di default secondo il livello AA delle WCAG 2.1, con le regole di migliori pratiche e sperimentali disattivate. Vedi Personalizzare le regole per cambiare il set di regole o attivare le migliori pratiche.
Prerequisiti
Axe DevTools richiede un binding Selenium WebDriver per un browser a tua scelta. Per utilizzare Axe DevTools, devi prima installare e configurare Selenium WebDriver.
Assunzioni e limitazioni note
-
L'uso di questa integrazione presuppone:
- Hai impostato lo stato desiderato della pagina prima di eseguire i test.
- Non hai modificato l'oggetto Selenium se non per eseguire axe e applicare la tua configurazione.
- Chiudi la pagina web testata al termine del test.
-
Buona pratica: non eseguire test aggiuntivi senza aggiornare la pagina. Modificare lo stato di una pagina web durante un test Selenium e eseguire i test senza ripristinare lo stato originale previsto della pagina causerà risultati di test imprevedibili. Axe DevTools C# può iniettare contenuti in una pagina web durante il test. Tentativi di eseguire ripetutamente Axe DevTools su una pagina già testata causeranno risultati di test imprevedibili.
Elementi Personalizzati ed ElementInternals
A partire da Axe DevTools C# 4.13.0, le scansioni leggono la semantica ARIA che i componenti web dichiarano in JavaScript tramite ElementInternals, anziché solo gli attributi role e aria-* presenti nel markup. Non è richiesta alcuna configurazione. La semantica nel DOM ha comunque la precedenza: un attributo role o aria-* esplicito sull'elemento sovrascrive il valore di ElementInternals.
I tuoi componenti devono pubblicare i loro elementi interni affinché tutto ciò abbia effetto, e un componente che li memorizza in un campo privato di classe non può essere letto. Vedi Testare Elementi Personalizzati che Usano ElementInternals.
