Tests & Tools

HTML_CodeSniffer erklärt: Die sekundäre Scan-Engine für Barrierefreiheit

HTML_CodeSniffer (HTMLCS) ist eine Open-Source-Engine für Barrierefreiheitstests, ursprünglich von Squiz Labs entwickelt, die älter ist als axe-core und einen etwas anderen Ansatz bei der Regelabdeckung verfolgt – einschließlich Prüfungen für WCAG-AAA-Kriterien und einiger präsentationsbezogener Markup-Muster, die das eigene Regelwerk von axe-core nicht abdeckt.

Warum man zwei Engines statt nur einer betreibt

Keine einzelne automatisierte Engine erkennt jedes automatisierbare WCAG-Problem – die Regelautoren verschiedener Werkzeuge haben unterschiedliche Designentscheidungen darüber getroffen, was und wie streng geprüft wird. HTMLCS zusätzlich zu axe-core als zweiten Durchgang laufen zu lassen, erfasst tatsächlich andere Befunde, die das eigene Regelwerk von axe-core nicht abdeckt, auf Kosten einer gewissen Überschneidung, die eine Deduplizierung erfordert (dasselbe zugrunde liegende Problem, das von beiden Engines gemeldet wird, sollte dem Nutzer einmal angezeigt werden, nicht zweimal).

Die drei Schweregrade von HTMLCS

Anders als das Vier-Kategorien-Ergebnismodell von axe-core klassifiziert HTMLCS jeden Befund als Fehler (error), Warnung (warning) oder Hinweis (notice):

  • Fehler werden als deterministische Verstöße behandelt, ähnlich der violations-Kategorie von axe-core
  • Warnungen werden ebenfalls als Befunde behandelt, die Aufmerksamkeit erfordern, allerdings mit etwas geringerer Sicherheit als Fehler
  • Hinweise sind beratende, manuelle Prüfungsaufforderungen für Kriterien, die tatsächlich nicht vollständig automatisiert werden können (reine Farbinformationsprüfungen, zeitbezogene Prüfungen, Fokusverhaltensprüfungen) – diese werden als "manuelle Prüfung erforderlich" angezeigt, nicht als bestätigte Verstöße gezählt

Ein konkretes Beispiel für die eigenständige Abdeckung von HTMLCS

Die H49-Technikprüfung von HTMLCS markiert veraltetes präsentationsbezogenes HTML – <center>, <font>, das align-Attribut – ein Muster, das das eigene Regelwerk von axe-core nicht speziell erfasst. Siehe Veraltetes präsentationsbezogenes Markup für die genauen Tags, die dies erkennt, und wie man jedes davon behebt; dies veranschaulicht gut, warum die unterschiedlichen Regelautoren einer zweiten Engine tatsächlich andere reale Probleme erkennen.

Wie mit Überschneidungen umgegangen wird

Wenn beide Engines dasselbe zugrunde liegende Problem auf demselben Element markieren würden (etwa ein fehlendes Alt-Attribut, das sowohl axe-core als auch HTMLCS jeweils unabhängig erkennen können), dedupliziert eine gut gebaute Scan-Pipeline nach Regel-und-Element-Fingerabdruck, sodass dasselbe reale Problem einmal in einem Bericht erscheint, nicht als zwei separate, redundante Befunde – die beiden Engines werden als ergänzende Schichten behandelt, nicht als vollständig unabhängige, unzusammenhängende Berichte.

Die praktische Erkenntnis

Keine der beiden Engines allein ist "die" Antwort – das Null-Falsch-Positive-Design von axe-core und seine breite Branchenakzeptanz machen es zur richtigen primären Engine, während das andere Regelwerk von HTMLCS (plus seine Bereitschaft, AAA-Stufen- und präsentationsbezogene Markup-Probleme zu markieren, die axe-core überspringt) es zu einem nützlichen zweiten Durchgang macht, um zu erfassen, was die Regelautoren der primären Engine nicht priorisiert haben.

Häufige Fragen

Was ist HTML_CodeSniffer?
Eine quelloffene Test-Engine für Barrierefreiheit von Squiz Labs, die älter als axe-core ist und einen etwas anderen, breiteren Regelsatz prüft, einschließlich AAA-Kriterien und präsentationsbezogener Muster.
Warum HTML_CodeSniffer zusätzlich zu axe-core einsetzen?
Keine einzelne Engine findet alle automatisierbaren Probleme. HTMLCS liefert echte Zusatzbefunde, die axe-cores Regelsatz auslässt, weshalb ein zweiter Durchgang mit Deduplizierung die Abdeckung erhöht.
Welche Schweregrade kennt HTML_CodeSniffer?
Drei: Fehler (eindeutige Verstöße), Warnungen (Befunde mit geringerer Sicherheit) und Hinweise (Aufforderungen zur manuellen Prüfung für nicht automatisierbare Kriterien).

Möchten Sie sehen, wie Ihre eigene Website abschneidet?

Kostenlosen Barrierefreiheitsscan durchführen