Regelkennungen
Alle Befund-Kennungen aus a11y-rules 0.10 mit Tier, WCAG-Kriterium und Vorgabeschwere.
Die Kennungen sind über alle Oberflächen stabil. Die Tabellen geben die Deklarationen wieder, die
structure_metas, semantics_metas und rendering_metas liefern; examples/rules.json ist ihre
Ausgabe. Die Schwere ist die Vorgabe der Regel, einzelne Befunde dürfen davon abweichen.
Tier 1: Struktur
35 Kennungen, Document, läuft auf jedem Host.
| Kennung | WCAG | Schwere | Hinweis der Regel |
|---|---|---|---|
document/lang-missing | 3.1.1 | high | The <html> element needs a valid lang attribute. |
document/lang-invalid | 3.1.1 | high | The <html> element needs a valid lang attribute. |
document/title-missing | 2.4.2 | high | Every page needs a meaningful <title>. |
document/title-empty | 2.4.2 | high | Every page needs a meaningful <title>. |
zoom/viewport-locked | 1.4.4, 1.4.10 | high | A viewport must be present and must not prevent zooming. |
zoom/viewport-scale-limited | 1.4.4, 1.4.10 | high | A viewport must be present and must not prevent zooming. |
zoom/viewport-missing | 1.4.4, 1.4.10 | high | A viewport must be present and must not prevent zooming. |
headings/empty | 1.3.1, 2.4.6 | medium | Headings form the outline; do not skip levels. |
headings/skip-level | 1.3.1, 2.4.6 | medium | Headings form the outline; do not skip levels. |
headings/h1-missing | 1.3.1, 2.4.6 | medium | Headings form the outline; do not skip levels. |
headings/h1-multiple | 1.3.1, 2.4.6 | medium | Headings form the outline; do not skip levels. |
images/alt-missing | 1.1.1 | high | Informative images need descriptive alt text. |
images/alt-suspicious | 1.1.1 | high | Informative images need descriptive alt text. |
forms/label-missing | 1.3.1, 3.3.2, 4.1.2 | critical | Every input needs an associated label. |
forms/placeholder-as-label | 1.3.1, 3.3.2, 4.1.2 | critical | Every input needs an associated label. |
aria/role-invalid | 4.1.2 | high | Use only roles from the ARIA specification. |
aria/role-abstract | 4.1.2 | high | Use only roles from the ARIA specification. |
aria/reference-missing | 1.3.1, 4.1.2 | high | ARIA references must point to IDs that exist. |
aria/required-attribute-missing | 4.1.2 | high | A role that announces a state needs the attribute carrying it. |
ids/duplicate | 4.1.1 | medium | IDs must be unique within the document. |
keyboard/positive-tabindex | 2.4.3 | high | Positive tabindex values break the tab order. |
keyboard/hidden-focusable | 1.3.1, 4.1.2 | high | Focusable elements must not be aria-hidden. |
lists/invalid-structure | 1.3.1 | medium | <ul> and <ol> may only have <li> as direct children and must not be empty. |
lists/empty | 1.3.1 | medium | <ul> and <ol> may only have <li> as direct children and must not be empty. |
lists/term-without-definition | 1.3.1 | medium | <ul> and <ol> may only have <li> as direct children and must not be empty. |
tables/header-missing | 1.3.1 | high | Data tables need <th> header cells. |
tables/name-missing | 1.3.1 | high | Data tables need <th> header cells. |
tables/presentational-with-headers | 1.3.1 | high | Data tables need <th> header cells. |
landmarks/main-missing | 1.3.1, 2.4.1 | high | Landmarks structure the page for everyone who cannot see it. |
landmarks/main-duplicate | 1.3.1, 2.4.1 | high | Landmarks structure the page for everyone who cannot see it. |
landmarks/navigation-missing | 1.3.1, 2.4.1 | high | Landmarks structure the page for everyone who cannot see it. |
landmarks/banner-missing | 1.3.1, 2.4.1 | high | Landmarks structure the page for everyone who cannot see it. |
landmarks/contentinfo-missing | 1.3.1, 2.4.1 | high | Landmarks structure the page for everyone who cannot see it. |
keyboard/skip-link-missing | 2.4.1 | medium | A skip link bypasses blocks that repeat before the content. |
lists/item-outside-list | 1.3.1 | medium | nicht deklariert, siehe unten |
Tier 2: Semantik
5 Kennungen, braucht Semantics, also Rolle und Accessible Name.
| Kennung | WCAG | Schwere | Hinweis der Regel |
|---|---|---|---|
links/name-missing | 2.4.4, 4.1.2 | critical | Every link needs a name that describes its target. |
buttons/name-missing | 4.1.2 | critical | Every button needs a name that describes what it does. |
svg/name-missing | 1.1.1 | high | Informative SVGs need a name, decorative ones role=“presentation”. |
links/ambiguous-name | 2.4.4 | medium | Links with the same name should point to the same target. |
links/generic-name | 2.4.4 | medium | Link text should say where it leads without the surrounding sentence. |
Tier 3: Darstellung
2 Kennungen, braucht Rendering, also berechnete Stile und Geometrie.
| Kennung | WCAG | Schwere | Hinweis der Regel |
|---|---|---|---|
contrast/text-insufficient | 1.4.3 | high | Text needs a contrast ratio against its background of at least 4.5:1, or 3:1 for large text. Large text starts at 18 pt, or 14 pt when bold. |
contrast/text-undetermined | 1.4.3 | high | Text needs a contrast ratio against its background of at least 4.5:1, or 3:1 for large text. Large text starts at 18 pt, or 14 pt when bold. |
Eine Kennung ohne Deklaration
lists/item-outside-list meldet einen Listeneintrag ohne umgebende Liste. Die Regel erzeugt die
Kennung, in 0.10 steht sie aber in keinem Meta::ids. Befunde mit dieser Kennung erscheinen deshalb
ohne passenden RuleRun. Zusammen mit ihr kommt der Regelbestand auf 42 Kennungen, deklariert
sind 41.
review statt fail
Nicht jede fehlende Angabe ist ein Verstoß. landmarks/navigation-missing,
landmarks/banner-missing, landmarks/contentinfo-missing, headings/h1-multiple und
keyboard/skip-link-missing liefern review: main muss da sein, aber eine Seite darf ohne
Navigation auskommen, und ein Sprunglink lässt sich nur über Linktext und Klassennamen erkennen.
links/ambiguous-name und links/generic-name sind zwei verschiedene Regeln und liefern beide
review: Die eine sagt „zwei Links heißen gleich, führen aber woandershin“, die andere „dieser Text
sagt für sich genommen nichts über das Ziel“.