Übersicht über 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

Übersicht über Axe DevTools für Web für C#, einschließlich Voraussetzungen und bekannter Einschränkungen

Not for use with personal data

Axe DevTools C# umfasst:

  • axe-core Version 4
  • Unterstützung für Microsoft Visual Studio 2019 IDE
  • Unterstützung für Microsoft .NET Core 2.2.0 CLI

Standardmäßig werden Scans gegen WCAG 2.1 Level AA ausgeführt, wobei Best-Practice- und experimentelle Regeln deaktiviert sind. Siehe Regeln anpassen, um das Regelwerk zu ändern oder Best Practices zu aktivieren.

Voraussetzungen

Axe DevTools erfordert eine Selenium WebDriver-Bindung für einen Browser Ihrer Wahl. Um Axe DevTools zu verwenden, müssen Sie zuerst Selenium WebDriver installieren und konfigurieren.

Annahmen und bekannte Einschränkungen

  • Die Verwendung dieser Integration setzt voraus:

    • Sie haben den gewünschten Zustand der Seite festgelegt, bevor Sie die Tests durchführen.
    • Sie haben das Selenium-Objekt nicht verändert, außer um Axe auszuführen und Ihre Konfiguration anzuwenden.
    • Sie schließen die getestete Webseite nach Abschluss des Tests.
  • Beste Praxis: Führen Sie keine zusätzlichen Tests durch, ohne die Seite zu aktualisieren. Das Ändern des Zustands einer Webseite während eines Selenium-Testlaufs und das Durchführen der Tests, ohne den ursprünglichen erwarteten Seitenzustand wiederherzustellen, führt zu unvorhersehbaren Testergebnissen. Axe DevTools C# kann während des Testens Inhalte in eine Webseite injizieren. Versuche, Axe DevTools wiederholt auf einer bereits getesteten Seite auszuführen, führen zu unvorhersehbaren Testergebnissen.

Benutzerdefinierte Elemente und ElementInternals

Ab Axe DevTools C# 4.13.0 lesen die Scans die ARIA-Semantiken, die Web-Komponenten in JavaScript über ElementInternals deklarieren, und nicht nur die im Markup vorhandenen role- und aria-*-Attribute. Eine Konfiguration ist nicht erforderlich. Semantiken im DOM haben nach wie vor Vorrang: Ein explizites role- oder aria-*-Attribut am Element überschreibt den Wert von ElementInternals.

Ihre Komponenten müssen ihre Interna veröffentlichen, damit dies wirksam wird, und eine Komponente, die sie in einem privaten Klassenfeld speichert, kann nicht gelesen werden. Siehe Testen benutzerdefinierter Elemente, die ElementInternals verwenden.