Panoramica di Axe DevTools C#

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Panoramica di Axe DevTools per Web per C#, inclusi prerequisiti e limitazioni note

Not for use with personal data

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.