| 1 | {
|
|---|
| 2 | "lang": "de",
|
|---|
| 3 | "rules": {
|
|---|
| 4 | "accesskeys": {
|
|---|
| 5 | "description": "Stellt sicher, dass die Werte der accesskey-Attribute einzigartig sind.",
|
|---|
| 6 | "help": "Der Wert des accesskey-Attributes muss einzigartig sein."
|
|---|
| 7 | },
|
|---|
| 8 | "area-alt": {
|
|---|
| 9 | "description": "Stellt sicher, dass <area>-Elemente Alternativtexte besitzen.",
|
|---|
| 10 | "help": "Aktive <area>-Elemente müssen einen Alternativtext besitzen."
|
|---|
| 11 | },
|
|---|
| 12 | "aria-allowed-attr": {
|
|---|
| 13 | "description": "Stellt sicher, dass ARIA-Attribute für die vergebene Rolle eines Elements erlaubt sind.",
|
|---|
| 14 | "help": "Elemente dürfen nur erlaubte ARIA-Attribute verwenden."
|
|---|
| 15 | },
|
|---|
| 16 | "aria-allowed-role": {
|
|---|
| 17 | "description": "Stellt sicher, dass der Wert des role-Attributes für dieses Element geeignet ist.",
|
|---|
| 18 | "help": "Der Wert des role-Attributes muss für dieses Element geeignet sein."
|
|---|
| 19 | },
|
|---|
| 20 | "aria-braille-equivalent": {
|
|---|
| 21 | "description": "Stellt sicher, dass aria-braillelabel und aria-brailleroledescription ein non-braille Äquivalent haben.",
|
|---|
| 22 | "help": "aria-braille Attribute müssen ein non-braille Äquivalent haben."
|
|---|
| 23 | },
|
|---|
| 24 | "aria-command-name": {
|
|---|
| 25 | "description": "Stellt sicher, dass jeder ARIA-button, -link und jedes -menuitem einen zugänglichen Namen (accessible name) hat.",
|
|---|
| 26 | "help": "ARIA Befehle müssen einen zugänglichen Namen (accessible name) besitzen."
|
|---|
| 27 | },
|
|---|
| 28 | "aria-conditional-attr": {
|
|---|
| 29 | "description": "Stellt sicher, dass ARIA-Attribute wie in der Spezifikation der Rolle des Elements beschrieben verwendet werden.",
|
|---|
| 30 | "help": "ARIA-Attribute müssen entsprechend der Rolle des Elements verwendet werden."
|
|---|
| 31 | },
|
|---|
| 32 | "aria-deprecated-role": {
|
|---|
| 33 | "description": "Stellt sicher, dass die Elemente keine veralteten Rollen verwenden.",
|
|---|
| 34 | "help": "Veraltete ARIA-Rollen dürfen nicht verwendet werden."
|
|---|
| 35 | },
|
|---|
| 36 | "aria-dialog-name": {
|
|---|
| 37 | "description": "Stellt sicher, dass jeder ARIA-dialog und -alertdialog Knoten einen zugänglichen Namen (accessible name) hat.",
|
|---|
| 38 | "help": "ARIA-dialog und -alertdialog Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
|
|---|
| 39 | },
|
|---|
| 40 | "aria-hidden-body": {
|
|---|
| 41 | "description": "Stellt sicher, dass aria-hidden='true' nicht am <body>-Element des Dokumentes verwendet wird.",
|
|---|
| 42 | "help": "Aria-hidden='true' darf nicht für den <body> des Dokumentes verwendet werden."
|
|---|
| 43 | },
|
|---|
| 44 | "aria-hidden-focus": {
|
|---|
| 45 | "description": "Stellt sicher, dass ARIA-hidden Elemente keine fokussierbaren Elemente beinhalten.",
|
|---|
| 46 | "help": "ARIA-hidden Elemente dürfen keine fokussierbaren Elemente beinhalten."
|
|---|
| 47 | },
|
|---|
| 48 | "aria-input-field-name": {
|
|---|
| 49 | "description": "Stellt sicher, dass jeder ARIA-input einen zugänglichen Namen (accessible name) besitzt.",
|
|---|
| 50 | "help": "ARIA-inputs müssen einen zugänglichen Namen (accessible name) besitzen."
|
|---|
| 51 | },
|
|---|
| 52 | "aria-meter-name": {
|
|---|
| 53 | "description": "Stellt sicher, dass jeder ARIA-meter Knoten einen zugänglichen Namen (accessible name) besitzt.",
|
|---|
| 54 | "help": "ARIA-meter Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
|
|---|
| 55 | },
|
|---|
| 56 | "aria-progressbar-name": {
|
|---|
| 57 | "description": "Stellt sicher, dass jeder ARIA-progressbar Knoten einen zugänglichen Namen (accessible name) besitzt.",
|
|---|
| 58 | "help": "ARIA-progressbar Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
|
|---|
| 59 | },
|
|---|
| 60 | "aria-prohibited-attr": {
|
|---|
| 61 | "description": "Stellt sicher, dass ARIA-Attribute für die Rolle eines Elements nicht verboten sind.",
|
|---|
| 62 | "help": "Elemente dürfen nur erlaubte ARIA-Attribute verwenden."
|
|---|
| 63 | },
|
|---|
| 64 | "aria-required-attr": {
|
|---|
| 65 | "description": "Stellt sicher, dass Elemente mit ARIA-Rollen alle erforderlichen ARIA-Attribute besitzen.",
|
|---|
| 66 | "help": "Erforderliche ARIA-Attribute müssen bereitgestellt werden."
|
|---|
| 67 | },
|
|---|
| 68 | "aria-required-children": {
|
|---|
| 69 | "description": "Stellt sicher, dass Elemente mit einer ARIA-Rolle, welche bestimmte untergeordnete Rollen voraussetzten diese auch enthalten.",
|
|---|
| 70 | "help": "Bestimmte ARIA-Rollen müssen spezifische, untergeordnete Kind-Rollen enthalten."
|
|---|
| 71 | },
|
|---|
| 72 | "aria-required-parent": {
|
|---|
| 73 | "description": "Stellt sicher, dass Elemente mit ARIA-Rollen, welche übergeordnete Rollen voraussetzen auch in diesen enthalten sind.",
|
|---|
| 74 | "help": "Bestimmte ARIA-Rollen müssen in spezifischen, übergeordneten Eltern-Rollen enthalten sein."
|
|---|
| 75 | },
|
|---|
| 76 | "aria-roledescription": {
|
|---|
| 77 | "description": "Stellt sicher, dass ARIA-roledescription nur im Zusammenhang mit einer im- oder expliziten Rolle verwendet wird.",
|
|---|
| 78 | "help": "Nutze aria-roledescription für Elemente mit einer semantischen Rolle."
|
|---|
| 79 | },
|
|---|
| 80 | "aria-roles": {
|
|---|
| 81 | "description": "Stellt sicher, dass alle Elemente mit einer ARIA-Rolle auch einen gültigen Wert verwenden.",
|
|---|
| 82 | "help": "Verwendete ARIA-Rollen müssen gültigen Werten entsprechen."
|
|---|
| 83 | },
|
|---|
| 84 | "aria-text": {
|
|---|
| 85 | "description": "Stellt sicher, dass role=\"text\" für Elemente verwendet wird, die keine fokussierbaren Nachkommen (descendants) haben.",
|
|---|
| 86 | "help": "\"role=text\" sollte keine fokussierbaren Nachkommen (descendants) haben."
|
|---|
| 87 | },
|
|---|
| 88 | "aria-toggle-field-name": {
|
|---|
| 89 | "description": "Stellt sicher, dass jedes ARIA-toggle-Feld ein zugänglichen Namen (accessible name) besitzt.",
|
|---|
| 90 | "help": "ARIA-toggle-Felder benötigen einen zugänglichen Namen (accessible name)."
|
|---|
| 91 | },
|
|---|
| 92 | "aria-tooltip-name": {
|
|---|
| 93 | "description": "Stellt sicher, dass jeder ARIA-tooltip Knoten einen zugänglichen Namen (accessible name) besitzt.",
|
|---|
| 94 | "help": "ARIA-tooltip-Knoten benötigen einen zugänglichen Namen (accessible name)."
|
|---|
| 95 | },
|
|---|
| 96 | "aria-treeitem-name": {
|
|---|
| 97 | "description": "Stellt sicher, dass jeder ARIA-treeitem Knoten einen zugänglichen Namen (accessible name) besitzt.",
|
|---|
| 98 | "help": "ARIA-treeitem-Knoten benötigen einen zugänglichen Namen (accessible name)."
|
|---|
| 99 | },
|
|---|
| 100 | "aria-valid-attr-value": {
|
|---|
| 101 | "description": "Stellt sicher, dass alle ARIA-Attribute gültige Werte verwenden.",
|
|---|
| 102 | "help": "Verwendete ARIA-Attribute müssen gültigen Werten entsprechen."
|
|---|
| 103 | },
|
|---|
| 104 | "aria-valid-attr": {
|
|---|
| 105 | "description": "Stellt sicher, dass Attribute, welche mit aria- beginnen auch valide ARIA-Attribute sind.",
|
|---|
| 106 | "help": "Verwendete ARIA-Attribute müssen gültigen Namen entsprechen."
|
|---|
| 107 | },
|
|---|
| 108 | "audio-caption": {
|
|---|
| 109 | "description": "Stellt sicher, dass <audio>-Elemente Untertitel besitzen.",
|
|---|
| 110 | "help": "<audio>-Elemente müssen eine Untertitelung (captions track) besitzen."
|
|---|
| 111 | },
|
|---|
| 112 | "autocomplete-valid": {
|
|---|
| 113 | "description": "Stellt sicher, dass das autocomplete-Attribut korrekt ist und für das form-Feld geeignet ist.",
|
|---|
| 114 | "help": "autocomplete-Attribute müssen korrekt genutzt werden."
|
|---|
| 115 | },
|
|---|
| 116 | "avoid-inline-spacing": {
|
|---|
| 117 | "description": "Stellt sicher, dass der Zeichenabstand durch benutzerdefinierte Stylesheets angepasst werden kann.",
|
|---|
| 118 | "help": "Zeichenabstände müssen durch benutzerdefinierte Stylesheets anpassbar sein."
|
|---|
| 119 | },
|
|---|
| 120 | "blink": {
|
|---|
| 121 | "description": "Stellt sicher, dass keine <blink>-Elemente verwendet werden.",
|
|---|
| 122 | "help": "<blink>-Elemente sind veraltet und dürfen nicht verwendet werden."
|
|---|
| 123 | },
|
|---|
| 124 | "button-name": {
|
|---|
| 125 | "description": "Stellt sicher, dass Schaltflächen wahrnehmbaren Text enthalten.",
|
|---|
| 126 | "help": "Schaltflächen müssen wahrnehmbaren Text enthalten."
|
|---|
| 127 | },
|
|---|
| 128 | "bypass": {
|
|---|
| 129 | "description": "Stellt sicher, dass jede Seite mindestens ein Mittel bereitstellt, welches dem Nutzer erlaubt direkt zum Inhalt der Seite zu springen.",
|
|---|
| 130 | "help": "Wiederholende Blöcke müssen vom Nutzer mit Hilfe von der Seite bereitgestellten Mitteln übersprungen werden können."
|
|---|
| 131 | },
|
|---|
| 132 | "color-contrast-enhanced": {
|
|---|
| 133 | "description": "Stellt sicher, dass der Kontrast zwischen Vorder- und Hintergrundfarbe den in der WCAG 2 als AAA ausgewiesenen Kontrastgrenzwerten entspricht.",
|
|---|
| 134 | "help": "Elemente müssen einen ausreichenden Farbkontrast haben."
|
|---|
| 135 | },
|
|---|
| 136 | "color-contrast": {
|
|---|
| 137 | "description": "Stellt sicher, dass der Kontrast zwischen Vorder- und Hintergrundfarbe den in der WCAG 2 als AA ausgewiesenen Kontrastgrenzwerten entspricht.",
|
|---|
| 138 | "help": "Elemente müssen einen ausreichenden Farbkontrast haben."
|
|---|
| 139 | },
|
|---|
| 140 | "css-orientation-lock": {
|
|---|
| 141 | "description": "Stellt sicher, dass der Inhalt nicht nur auf einer sondern auf allen spezifischen Bildschirmausrichtungen angezeigt werden kann.",
|
|---|
| 142 | "help": "CSS Media Queries dürfen nicht genutzt werden um die Bildschirmausrichtung zu sperren."
|
|---|
| 143 | },
|
|---|
| 144 | "definition-list": {
|
|---|
| 145 | "description": "Stellt sicher, dass <dl>-Elemente ordnungsgemäß strukturiert sind.",
|
|---|
| 146 | "help": "<dl>-Elemente dürfen unmittelbar nur korrekt verschachtelte <dt>- und <dd>-Gruppen, <script>- oder <template>-Elemente enthalten."
|
|---|
| 147 | },
|
|---|
| 148 | "dlitem": {
|
|---|
| 149 | "description": "Stellt sicher, dass <dt> und <dd>-Elemente in einem <dl>-Element enthalten sind.",
|
|---|
| 150 | "help": "<dt>- und <dd>-Elemente müssen in einem <dl>-Element enthalten sein."
|
|---|
| 151 | },
|
|---|
| 152 | "document-title": {
|
|---|
| 153 | "description": "Stellt sicher, dass jedes HTML-Dokument ein nichtleeres <title>-Element besitzt.",
|
|---|
| 154 | "help": "Dokumente müssen ein <title>-Element besitzen, um die Navigation zu erleichtern."
|
|---|
| 155 | },
|
|---|
| 156 | "duplicate-id-active": {
|
|---|
| 157 | "description": "Stellt sicher, dass jeder Wert des ID-Attributes von aktiven Elemente einzigartig ist.",
|
|---|
| 158 | "help": "IDs von aktiven Elementen müssen einzigartig sein."
|
|---|
| 159 | },
|
|---|
| 160 | "duplicate-id-aria": {
|
|---|
| 161 | "description": "Stellt sicher, dass jeder Wert des ID-Attributes, welcher in ARIA und labels genutzt wird einzigartig ist.",
|
|---|
| 162 | "help": "IDs, welche in ARIA und Lables genutzt werden, müssen einzigartig sein."
|
|---|
| 163 | },
|
|---|
| 164 | "duplicate-id": {
|
|---|
| 165 | "description": "Stellt sicher, dass der Wert eines id-Attributes einzigartig ist.",
|
|---|
| 166 | "help": "Der Wert des id-Attributes muss einzigartig sein."
|
|---|
| 167 | },
|
|---|
| 168 | "empty-heading": {
|
|---|
| 169 | "description": "Stellt sicher, dass Überschriften einen wahrnehmbaren Text beinhalten.",
|
|---|
| 170 | "help": "Überschriften dürfen nicht leer sein."
|
|---|
| 171 | },
|
|---|
| 172 | "empty-table-header": {
|
|---|
| 173 | "description": "Stellt sicher, dass Tabellenkopfzeilen einen wahrnehmbaren Text beinhalten.",
|
|---|
| 174 | "help": "Tabellenkopfzeilen sollten nicht leer sein."
|
|---|
| 175 | },
|
|---|
| 176 | "focus-order-semantics": {
|
|---|
| 177 | "description": "Stellt sicher, dass Elemente in der Fokusreihenfolge eine geeignete Rolle besitzen.",
|
|---|
| 178 | "help": "Elemente in der Fokusreihenfolge benötigen eine Rolle, die für interaktive Elemente geeignet ist."
|
|---|
| 179 | },
|
|---|
| 180 | "form-field-multiple-labels": {
|
|---|
| 181 | "description": "Stellt sicher, dass ein form-Feld nur ein label-Element besitzt.",
|
|---|
| 182 | "help": "form-Felder sollten nur ein label-Element besitzen."
|
|---|
| 183 | },
|
|---|
| 184 | "frame-focusable-content": {
|
|---|
| 185 | "description": "Stellt sicher, dass <frame>- und <iframe>-Elemente mit fokussierbarem Inhalt keinen tabindex=-1 haben.",
|
|---|
| 186 | "help": "Frames mit fokussierbarem Inhalt dürfen keinen tabindex=-1 haben."
|
|---|
| 187 | },
|
|---|
| 188 | "frame-tested": {
|
|---|
| 189 | "description": "Stellt sicher, dass <iframe> und <frame>-Elemente das axe-core Script beinhalten.",
|
|---|
| 190 | "help": "Frames müssen mit axe-core getestet werden."
|
|---|
| 191 | },
|
|---|
| 192 | "frame-title-unique": {
|
|---|
| 193 | "description": "Stellt sicher, dass <iframe> und <frame>-Elemente ein einzigartiges title-Attribut besitzen.",
|
|---|
| 194 | "help": "Frames müssen ein einzigartiges title-Attribut besitzen."
|
|---|
| 195 | },
|
|---|
| 196 | "frame-title": {
|
|---|
| 197 | "description": "Stellt sicher, dass <iframe> und <frame>-Elemente ein nichtleeres title-Attribut besitzen.",
|
|---|
| 198 | "help": "Frames müssen ein nichtleeres title-Attribut besitzen."
|
|---|
| 199 | },
|
|---|
| 200 | "heading-order": {
|
|---|
| 201 | "description": "Stellt sicher, dass Überschriften in der semantisch korrekten Reihenfolge sind.",
|
|---|
| 202 | "help": "Überschriftenebenen sollten nur jeweils um eins steigen."
|
|---|
| 203 | },
|
|---|
| 204 | "hidden-content": {
|
|---|
| 205 | "description": "Informiert den Nutzer über versteckten Inhalt.",
|
|---|
| 206 | "help": "Versteckter Inhalt auf der Seite konnte nicht analysiert werden."
|
|---|
| 207 | },
|
|---|
| 208 | "html-has-lang": {
|
|---|
| 209 | "description": "Stellt sicher, dass jedes HTML Dokument ein lang-Attribut besitzt.",
|
|---|
| 210 | "help": "Das <html>-Element muss ein lang-Attribut besitzen."
|
|---|
| 211 | },
|
|---|
| 212 | "html-lang-valid": {
|
|---|
| 213 | "description": "Stellt sicher, dass das lang-Attribut des <html>-Elements einen validen Wert besitzt.",
|
|---|
| 214 | "help": "Das <html>-Element muss einen gültigen Attributwert für das lang-Attribut besitzen."
|
|---|
| 215 | },
|
|---|
| 216 | "html-xml-lang-mismatch": {
|
|---|
| 217 | "description": "Stellt sicher, dass HTML Elemente mit validen lang und xml:lang Attributen dieselbe Angabe über die Sprache machen.",
|
|---|
| 218 | "help": "HTML Elemente mit lang und xml:lang Attributen müssen dieselbe Sprache ausweisen."
|
|---|
| 219 | },
|
|---|
| 220 | "identical-links-same-purpose": {
|
|---|
| 221 | "description": "Stellt sicher, dass Links mit dem selben zugänglichen Namen (accessible name) denselben Zweck folgen.",
|
|---|
| 222 | "help": "Links mit dem selben zugänglichen Namen (accessible name) verfolgen denselben Zweck."
|
|---|
| 223 | },
|
|---|
| 224 | "image-alt": {
|
|---|
| 225 | "description": "Stellt sicher, dass <img>-Elemente einen Alternativtext oder eine ARIA-Rolle mit dem Wert none oder presentation besitzen.",
|
|---|
| 226 | "help": "Abbildungen müssen einen Alternativtext besitzen."
|
|---|
| 227 | },
|
|---|
| 228 | "image-redundant-alt": {
|
|---|
| 229 | "description": "Stellt sicher, dass Alternativtexte von Bildern nicht als Text wiederholt werden.",
|
|---|
| 230 | "help": "Der Alternativtext von Bildern sollte nicht als Text wiederholt werden."
|
|---|
| 231 | },
|
|---|
| 232 | "input-button-name": {
|
|---|
| 233 | "description": "Stellt sicher, dass Eingabeschaltflächen wahrnehmbaren Text beinhalten.",
|
|---|
| 234 | "help": "Eingabeschaltflächen müssen wahrnehmbaren Text beinhalten."
|
|---|
| 235 | },
|
|---|
| 236 | "input-image-alt": {
|
|---|
| 237 | "description": "Stellt sicher, dass <input type=\"image\">-Elemente einen Alternativtext besitzen.",
|
|---|
| 238 | "help": "<input type=\"image\">-Elemente müssen einen Alternativtext besitzen."
|
|---|
| 239 | },
|
|---|
| 240 | "label-content-name-mismatch": {
|
|---|
| 241 | "description": "Stellt sicher, dass Elemente, die durch ihren Inhalt beschrieben sind, auch ihren sichtbaren Text als Teil des zugänglichen Namens (accessible name) haben.",
|
|---|
| 242 | "help": "Elemente müssen ihren sichtbaren Text auch als Teil des zugänglichen Namens (accessible name) haben."
|
|---|
| 243 | },
|
|---|
| 244 | "label-title-only": {
|
|---|
| 245 | "description": "Stellt sicher, dass jedes <form>-Element nicht ausschließlich durch ein title oder aria-describedby-Attribut beschrieben sind.",
|
|---|
| 246 | "help": "<form>-Elemente sollten eine sichtbare Beschriftung haben."
|
|---|
| 247 | },
|
|---|
| 248 | "label": {
|
|---|
| 249 | "description": "Stellt sicher, dass jedes <form>-Element über eine Beschriftung verfügt.",
|
|---|
| 250 | "help": "<form>-Elemente müssen eine Beschriftung haben."
|
|---|
| 251 | },
|
|---|
| 252 | "landmark-banner-is-top-level": {
|
|---|
| 253 | "description": "Stellt sicher, dass die banner landmark sich auf der obersten Ebene befindet.",
|
|---|
| 254 | "help": "Banner landmark muss sich auf der obersten Ebene befinden."
|
|---|
| 255 | },
|
|---|
| 256 | "landmark-complementary-is-top-level": {
|
|---|
| 257 | "description": "Stellt sicher, dass die ergänzende landmark oder aside sich auf dem höchsten Level befindet.",
|
|---|
| 258 | "help": "Das aside-Elemente darf sich nicht in einer anderen landmark befinden."
|
|---|
| 259 | },
|
|---|
| 260 | "landmark-contentinfo-is-top-level": {
|
|---|
| 261 | "description": "Stellt sicher, dass die contentinfo landmark sich auf der obersten Ebene befindet.",
|
|---|
| 262 | "help": "Contentinfo landmark muss sich auf der obersten Ebene befinden."
|
|---|
| 263 | },
|
|---|
| 264 | "landmark-main-is-top-level": {
|
|---|
| 265 | "description": "Stellt sicher, dass die main landmark sich auf der obersten Ebene befindet.",
|
|---|
| 266 | "help": "Main landmark ist nicht auf der obersten Ebene."
|
|---|
| 267 | },
|
|---|
| 268 | "landmark-no-duplicate-banner": {
|
|---|
| 269 | "description": "Stellt sicher, dass das Dokument höchstens eine banner landmark besitzt.",
|
|---|
| 270 | "help": "Das Dokument sollte höchstens eine banner landmark enthalten."
|
|---|
| 271 | },
|
|---|
| 272 | "landmark-no-duplicate-contentinfo": {
|
|---|
| 273 | "description": "Stellt sicher, dass das Dokument höchstens eine contentinfo landmark besitzt.",
|
|---|
| 274 | "help": "Das Dokument sollte höchstens eine contentinfo landmark enthalten."
|
|---|
| 275 | },
|
|---|
| 276 | "landmark-no-duplicate-main": {
|
|---|
| 277 | "description": "Stellt sicher, dass das Dokument höchstens eine main landmark besitzt.",
|
|---|
| 278 | "help": "Das Dokument sollte nur eine main landmark besitzen."
|
|---|
| 279 | },
|
|---|
| 280 | "landmark-one-main": {
|
|---|
| 281 | "description": "Stellt sicher, dass das Dokument eine main landmark besitzt.",
|
|---|
| 282 | "help": "Seite muss eine main landmark enthalten."
|
|---|
| 283 | },
|
|---|
| 284 | "landmark-unique": {
|
|---|
| 285 | "description": "Stellt sicher, dass landmarks einzigartig sind.",
|
|---|
| 286 | "help": "Landmarks müssen eine einzigartige role oder role/label/title Kombination (bzw. zugänglicher Name / accessible name) besitzen."
|
|---|
| 287 | },
|
|---|
| 288 | "link-in-text-block": {
|
|---|
| 289 | "description": "Stellt sicher, dass Links vom umgebenden Text nicht allein durch die Farbe unterschieden werden können.",
|
|---|
| 290 | "help": "Links müssen vom umgebenden Text auf eine Weise unterschieden werden können, die nicht allein auf Farbe beruht."
|
|---|
| 291 | },
|
|---|
| 292 | "link-name": {
|
|---|
| 293 | "description": "Stellt sicher, dass Links wahrnehmbaren Text beinhalten.",
|
|---|
| 294 | "help": "Links müssen wahrnehmbaren Text beinhalten."
|
|---|
| 295 | },
|
|---|
| 296 | "list": {
|
|---|
| 297 | "description": "Stellt sicher, dass Listen korrekt strukturiert sind.",
|
|---|
| 298 | "help": "<ul>- und <ol>-Elemente dürfen unmittelbar nur <li>-, <script>- oder <template>-Elemente enthalten."
|
|---|
| 299 | },
|
|---|
| 300 | "listitem": {
|
|---|
| 301 | "description": "Stellt sicher, dass <li>-Elemente semantisch korrekt verwendet werden.",
|
|---|
| 302 | "help": "<li>-Elemente müssen in einem <ul>- oder <ol>-Element enthalten sein."
|
|---|
| 303 | },
|
|---|
| 304 | "marquee": {
|
|---|
| 305 | "description": "Stellt sicher, dass <marquee>-Elemente nicht verwendet werden.",
|
|---|
| 306 | "help": "<marquee>-Elemente sind veraltet und dürfen nicht verwendet werden."
|
|---|
| 307 | },
|
|---|
| 308 | "meta-refresh-no-exceptions": {
|
|---|
| 309 | "description": "Stellt sicher, dass <meta http-equiv=\"refresh\"> nicht für die verzögerte Aktualisierung verwendet wird.",
|
|---|
| 310 | "help": "Die verzögerte Aktualisierung darf nicht verwendet werden."
|
|---|
| 311 | },
|
|---|
| 312 | "meta-refresh": {
|
|---|
| 313 | "description": "Stellt sicher, dass <meta http-equiv=\"refresh\"> nicht verwendet werden.",
|
|---|
| 314 | "help": "Eine zeitgesteuerte Aktualisierung (refresh) sollte nicht verwendet werden."
|
|---|
| 315 | },
|
|---|
| 316 | "meta-viewport-large": {
|
|---|
| 317 | "description": "Stellt sicher, dass <meta name=\"viewport\"> nicht verhindert, dass ein signifikanter Zoom verwendet werden kann.",
|
|---|
| 318 | "help": "Benutzer sollten in der Lage sein, den Text um bis zu 500% vergrößern und skalieren zu können."
|
|---|
| 319 | },
|
|---|
| 320 | "meta-viewport": {
|
|---|
| 321 | "description": "Stellt sicher, dass <meta name=\"viewport\"> Textskalierung und -zoom nicht verhindert werden.",
|
|---|
| 322 | "help": "Zoomen und Skalieren darf nicht deaktiviert werden."
|
|---|
| 323 | },
|
|---|
| 324 | "nested-interactive": {
|
|---|
| 325 | "description": "Stellt sicher, dass interaktive Steuerelemente nicht verschachtelt (nested) sind, da sie nicht immer von Bildschirmlesegeräten angezeigt werden oder Probleme bei der Fokussierung von Hilfstechnologien verursachen können.",
|
|---|
| 326 | "help": "Interaktive Steuerelemente dürfen nicht verschachtelt (nested) werden."
|
|---|
| 327 | },
|
|---|
| 328 | "no-autoplay-audio": {
|
|---|
| 329 | "description": "Stellt sicher, dass <video> oder <audio> Elemente keine Töne automatisch abspielen für mehr als 3 Sekunden (autoplay) ohne eine Möglichkeit dies zu stoppen.",
|
|---|
| 330 | "help": "<video> oder <audio> Elemente geben keine Töne automatisch aus."
|
|---|
| 331 | },
|
|---|
| 332 | "object-alt": {
|
|---|
| 333 | "description": "Stellt sicher, dass <object>-Elemente einen Alternativtext besitzen.",
|
|---|
| 334 | "help": "<object>-Elemente müssen einen Alternativtext besitzen."
|
|---|
| 335 | },
|
|---|
| 336 | "p-as-heading": {
|
|---|
| 337 | "description": "Stellt sicher, dass <p>-Elemente nicht dafür verwendet werden um Überschriften zu formatieren.",
|
|---|
| 338 | "help": "Die Schriftschnitte bold und italic sowie die Schriftgröße dürfen nicht verwendet werden, um <p>-Elemente wie Überschriften zu formatieren."
|
|---|
| 339 | },
|
|---|
| 340 | "page-has-heading-one": {
|
|---|
| 341 | "description": "Stellt sicher, dass die Seite oder zumindest eins der frame-Elemente eine Überschrift der ersten Ebene enthalten.",
|
|---|
| 342 | "help": "Die Seite muss eine Überschrift der ersten Ebene enthalten."
|
|---|
| 343 | },
|
|---|
| 344 | "presentation-role-conflict": {
|
|---|
| 345 | "description": "Elemente mit role=\"none\" oder role=\"presentation\" sollten kein globales ARIA-Attribute besitzen oder fokussierbar sein, damit sie von Screenreadern ignoriert werden.",
|
|---|
| 346 | "help": "Elemente mit \"role=none\" oder \"role=presentation\" sollen von Screenreadern ignoriert werden."
|
|---|
| 347 | },
|
|---|
| 348 | "region": {
|
|---|
| 349 | "description": "Stellt sicher, dass jeglicher Inhalt in einer landmark region enthalten ist.",
|
|---|
| 350 | "help": "Inhalte sollten in einer landmark region enthalten sein."
|
|---|
| 351 | },
|
|---|
| 352 | "role-img-alt": {
|
|---|
| 353 | "description": "Stellt sicher, dass [role='img'] Elemente einen Alternativ Text besitzen.",
|
|---|
| 354 | "help": "[role='img'] Elemente haben ein Alternativtext."
|
|---|
| 355 | },
|
|---|
| 356 | "scope-attr-valid": {
|
|---|
| 357 | "description": "Stellt sicher, dass das scope-Attribut bei Tabellen korrekt verwendet wird.",
|
|---|
| 358 | "help": "Das scope-Attribut sollte korrekt verwendet werden."
|
|---|
| 359 | },
|
|---|
| 360 | "scrollable-region-focusable": {
|
|---|
| 361 | "description": "Elemente, welche scrollbaren Inhalt besitzen sollten durch die Tastatur erreichbar und bedienbar sein.",
|
|---|
| 362 | "help": "Scrollbare Regionen müssen per Tastatur erreichbar sein."
|
|---|
| 363 | },
|
|---|
| 364 | "select-name": {
|
|---|
| 365 | "description": "Stellt sicher, dass <select> Elemente einen zugänglichen Namen (accessible name) besitzen.",
|
|---|
| 366 | "help": "<select> Elemente müssen einen zugänglichen Namen (accessible name) besitzen."
|
|---|
| 367 | },
|
|---|
| 368 | "server-side-image-map": {
|
|---|
| 369 | "description": "Stellt sicher, dass serverseitige Imagemaps nicht verwendet werden.",
|
|---|
| 370 | "help": "Serverseitige Imagemaps dürfen nicht verwendet werden."
|
|---|
| 371 | },
|
|---|
| 372 | "skip-link": {
|
|---|
| 373 | "description": "Stellt sicher, dass alle Skip-Links ein fokussierbares Ziel enthalten.",
|
|---|
| 374 | "help": "Das Ziel eines Skip-Links sollte existieren und fokussierbar sein."
|
|---|
| 375 | },
|
|---|
| 376 | "summary-name": {
|
|---|
| 377 | "description": "Stellt sicher, dass die summary-Elemente einen erkennbaren Text haben",
|
|---|
| 378 | "help": "summary-Elemente müssen einen erkennbaren Text haben"
|
|---|
| 379 | },
|
|---|
| 380 | "svg-img-alt": {
|
|---|
| 381 | "description": "Stellt sicher, dass <svg> Elemente mit einer img, graphics-document oder graphics-symbol Rolle einen zugänglichen Namen (accessible name) besitzen.",
|
|---|
| 382 | "help": "<svg> Elemente mit einer img Rolle sollten einen Alternativtext besitzen."
|
|---|
| 383 | },
|
|---|
| 384 | "tabindex": {
|
|---|
| 385 | "description": "Stellt sicher, dass keine tabindex-Attribute mit einem Wert größer als null verwendet werden.",
|
|---|
| 386 | "help": "Elemente sollten keinen tabindex besitzen, der größer als null ist."
|
|---|
| 387 | },
|
|---|
| 388 | "table-duplicate-name": {
|
|---|
| 389 | "description": "Stellt sicher, dass Tabellen nicht den gleichen Text im <caption>-Element wie im summary-Attribut enthalten.",
|
|---|
| 390 | "help": "Das <caption>-Element sollte nicht den gleichen Text wie das summary-Attribut enthalten."
|
|---|
| 391 | },
|
|---|
| 392 | "table-fake-caption": {
|
|---|
| 393 | "description": "Stellt sicher, dass Tabellen mit einer Beschriftung auch das <caption>-Element verwenden.",
|
|---|
| 394 | "help": "Daten- oder Kopfzellen sollten nicht verwendet werden, um einer Datentabelle eine Überschrift zu geben."
|
|---|
| 395 | },
|
|---|
| 396 | "target-size": {
|
|---|
| 397 | "description": "Stellt sicher, dass Berührungsobjekte (touch targets) ausreichend groß sind und genügend Platz bieteen.",
|
|---|
| 398 | "help": "Alle Berührungsobjekte (touch targets) müssen 24 Pixel groß sein oder ausreichend Platz lassen."
|
|---|
| 399 | },
|
|---|
| 400 | "td-has-header": {
|
|---|
| 401 | "description": "Stellt sicher, dass jede nichtleere Zelle einer Tabelle ein oder mehrere Tabellenköpfe haben.",
|
|---|
| 402 | "help": "In Tabellen, die größer als 3 mal 3 sind, müssen alle nichtleeren <td>-Elemente einen zugehörigen Tabellenkopf haben."
|
|---|
| 403 | },
|
|---|
| 404 | "td-headers-attr": {
|
|---|
| 405 | "description": "Stellt sicher, dass jede Zelle in einer Tabelle, welche das headers-Attribut verwendet, sich nur auf andere Zellen derselben Tabelle beziehen.",
|
|---|
| 406 | "help": "Innerhalb eines <table>-Elementes dürfen sich Zellen, die das headers-Attribut verwenden, nur auf andere Zellen derselben Tabelle beziehen."
|
|---|
| 407 | },
|
|---|
| 408 | "th-has-data-cells": {
|
|---|
| 409 | "description": "Stellt sicher, dass jeder Tabellenkopf in einer Datentabelle sich auf Datenzellen bezieht.",
|
|---|
| 410 | "help": "Alle <th>-Elemente sowie Elemente mit role=columnheader/rowheader müssen Datenzellen haben, die sie beschreiben."
|
|---|
| 411 | },
|
|---|
| 412 | "valid-lang": {
|
|---|
| 413 | "description": "Stellt sicher, dass lang-Attribute gültige Werte haben.",
|
|---|
| 414 | "help": "Das lang-Attribut muss einen gültigen Wert haben."
|
|---|
| 415 | },
|
|---|
| 416 | "video-caption": {
|
|---|
| 417 | "description": "Stellt sicher, dass <video>-Elemente Untertitel besitzen.",
|
|---|
| 418 | "help": "<video>-Elemente müssen Untertitel besitzen."
|
|---|
| 419 | }
|
|---|
| 420 | },
|
|---|
| 421 | "checks": {
|
|---|
| 422 | "abstractrole": {
|
|---|
| 423 | "pass": "abstract Rolle wird nicht verwendet.",
|
|---|
| 424 | "fail": {
|
|---|
| 425 | "singular": "abstract Rolle kann nicht so verwendet werden: ${data.values}",
|
|---|
| 426 | "plural": "abstract Rollen können nicht so verwendet werden: ${data.values}"
|
|---|
| 427 | }
|
|---|
| 428 | },
|
|---|
| 429 | "aria-allowed-attr": {
|
|---|
| 430 | "pass": "ARIA-Attribute werden korrekt für die definierte Rolle verwendet.",
|
|---|
| 431 | "fail": {
|
|---|
| 432 | "singular": "Folgendes ARIA Attribut ist nicht erlaubt: ${data.values}",
|
|---|
| 433 | "plural": "Folgende ARIA Attribute sind nicht erlaubt: ${data.values}"
|
|---|
| 434 | },
|
|---|
| 435 | "incomplete": "Prüfe, dass es kein Problem gibt, wenn das ARIA-Attribut bei diesem Element ignoriert wird: ${data.values}"
|
|---|
| 436 | },
|
|---|
| 437 | "aria-allowed-role": {
|
|---|
| 438 | "pass": "ARIA Rolle ist für dieses Element erlaubt.",
|
|---|
| 439 | "fail": {
|
|---|
| 440 | "singular": "ARIA Rolle ${data.values} ist nicht für dieses Element erlaubt.",
|
|---|
| 441 | "plural": "ARIA Rollen ${data.values} sind nicht für dieses Element erlaubt."
|
|---|
| 442 | },
|
|---|
| 443 | "incomplete": {
|
|---|
| 444 | "singular": "ARIA Rolle ${data.values} muss entfernt werden, wenn das Element sichtbar wird, da es nicht für dieses Element erlaubt ist.",
|
|---|
| 445 | "plural": "ARIA Rollen ${data.values} müssen entfernt werden, wenn das Element sichtbar wird, da sie nicht für dieses Element erlaubt sind."
|
|---|
| 446 | }
|
|---|
| 447 | },
|
|---|
| 448 | "aria-busy": {
|
|---|
| 449 | "pass": "Element hat ein aria-busy-Attribut.",
|
|---|
| 450 | "fail": "Element verwendet aria-busy=\"true\" bei der Anzeige eines Ladevorgangs (loader)."
|
|---|
| 451 | },
|
|---|
| 452 | "aria-conditional-attr": {
|
|---|
| 453 | "pass": "ARIA-Attribut ist erlaubt.",
|
|---|
| 454 | "fail": {
|
|---|
| 455 | "checkbox": "Entferne aria-checked, oder setze es auf \"${data.checkState}\", damit es dem tatsächlichen Zustand des Kontrollkästchens entspricht.",
|
|---|
| 456 | "rowSingular": "Dieses Attribut wird bei treegrid-Zeilen unterstützt, aber nicht bei ${data.ownerRole}: ${data.invalidAttrs}.",
|
|---|
| 457 | "rowPlural": "Diese Attribute werden von treegrid-Zeilen unterstützt, aber nicht von ${data.ownerRole}: ${data.invalidAttrs}"
|
|---|
| 458 | }
|
|---|
| 459 | },
|
|---|
| 460 | "aria-errormessage": {
|
|---|
| 461 | "pass": "aria-errormessage Attribut existiert und referenziert Elemente, die sichtbar für Screen Reader sind, welche die entsprechende Technologie unterstützen.",
|
|---|
| 462 | "fail": {
|
|---|
| 463 | "singular": "aria-errormessage Wert `${data.values}` benötigt eine Möglichkeit um entsprechend vorgeschlagen zu werden (z.B. aria-live, aria-describedby, role=alert, usw.).",
|
|---|
| 464 | "plural": "aria-errormessage Werte `${data.values}` benötigen eine Möglichkeit um entsprechend vorgeschlagen zu werden (z.B. aria-live, aria-describedby, role=alert, usw.).",
|
|---|
| 465 | "hidden": "aria-errormessage Wert `${data.values}` kann nicht auf ein verstecktes Element verweisen."
|
|---|
| 466 | },
|
|---|
| 467 | "incomplete": {
|
|---|
| 468 | "singular": "Stellt sicher, dass aria-errormessage Wert `${data.values}` auf ein existierendes Element verweist.",
|
|---|
| 469 | "plural": "Stellt sicher, dass aria-errormessage Werte `${data.values}` zu existierenden Elementen verweisen.",
|
|---|
| 470 | "idrefs": "Es konnte nicht festgestellt werden, ob das Element aria-errormessage auf der Seite existiert: ${data.values}"
|
|---|
| 471 | }
|
|---|
| 472 | },
|
|---|
| 473 | "aria-hidden-body": {
|
|---|
| 474 | "pass": "Kein aria-hidden Attribut ist im <body>-Element des Dokuments vorhanden.",
|
|---|
| 475 | "fail": "Das <body>-Element des Dokumentes darf nicht das Attribut aria-hidden=\"true\" besitzen."
|
|---|
| 476 | },
|
|---|
| 477 | "aria-level": {
|
|---|
| 478 | "pass": "aria-level Werte sind gültig.",
|
|---|
| 479 | "incomplete": "Aria-Level Werte größer als 6 werden nicht von allen Screenreader- und Browser-Kombinationen unterstützt."
|
|---|
| 480 | },
|
|---|
| 481 | "aria-prohibited-attr": {
|
|---|
| 482 | "pass": "ARIA-Attribut ist erlaubt",
|
|---|
| 483 | "fail": {
|
|---|
| 484 | "hasRolePlural": "${data.prohibited} Attribute können nicht mit der Rolle \"${data.role}\" verwendet werden.",
|
|---|
| 485 | "hasRoleSingular": "${data.prohibited} Attribut kann nicht mit der Rolle \"${data.role}\" verwendet werden.",
|
|---|
| 486 | "noRolePlural": "${data.prohibited} Attribute können nicht auf ${data.nodeName} ohne gültiges role Attribut verwendet werden.",
|
|---|
| 487 | "noRoleSingular": "${data.prohibited} Attribut kann nicht auf ${data.nodeName} ohne gültiges role Attribut verwendet werden."
|
|---|
| 488 | },
|
|---|
| 489 | "incomplete": {
|
|---|
| 490 | "hasRoleSingular": "${data.prohibited} Attribut wird von der Rolle \"${data.role}\" nicht gut unterstützt.",
|
|---|
| 491 | "hasRolePlural": "${data.prohibited} Attribute werden von der Rolle \"${data.role}\" nicht gut unterstützt.",
|
|---|
| 492 | "noRoleSingular": "${data.prohibited} Attribut wird bei ${data.nodeName} ohne gültiges role Attribute nicht gut unterstützt.",
|
|---|
| 493 | "noRolePlural": "${data.prohibited} Attribute werdeb bei ${data.nodeName} ohne gültiges role Attribute nicht gut unterstützt."
|
|---|
| 494 | }
|
|---|
| 495 | },
|
|---|
| 496 | "aria-required-attr": {
|
|---|
| 497 | "pass": "Alle benötigten ARIA-Attribute sind vorhanden.",
|
|---|
| 498 | "fail": {
|
|---|
| 499 | "singular": "Benötigtes ARIA Attribut nicht vorhanden: ${data.values}",
|
|---|
| 500 | "plural": "Benötigte ARIA Attribute nicht vorhanden: ${data.values}"
|
|---|
| 501 | }
|
|---|
| 502 | },
|
|---|
| 503 | "aria-required-children": {
|
|---|
| 504 | "pass": {
|
|---|
| 505 | "default": "Alle benötigten ARIA Kinder sind vorhanden.",
|
|---|
| 506 | "aria-busy": "Element hat ein aria-busy-Attribut, daher ist es erlaubt, erforderliche ARIA Kinder wegzulassen"
|
|---|
| 507 | },
|
|---|
| 508 | "fail": {
|
|---|
| 509 | "singular": "Benötigte ARIA Kindrolle nicht vorhanden: ${data.values}",
|
|---|
| 510 | "plural": "Benötigte ARIA Kindrollen nicht vorhanden: ${data.values}",
|
|---|
| 511 | "unallowed": "Element hat Kinder, die nicht erlaubt sind: ${data.values}"
|
|---|
| 512 | },
|
|---|
| 513 | "incomplete": {
|
|---|
| 514 | "singular": "Entsprechende ARIA Kindrolle muss hinzugefügt werden: ${data.values}",
|
|---|
| 515 | "plural": "Entsprechende ARIA Kindrollen müssen hinzugefügt werden: ${data.values}"
|
|---|
| 516 | }
|
|---|
| 517 | },
|
|---|
| 518 | "aria-required-parent": {
|
|---|
| 519 | "pass": "Alle ARIA Elternrollen sind vorhanden.",
|
|---|
| 520 | "fail": {
|
|---|
| 521 | "singular": "Benötigte ARIA Elternrolle nicht vorhanden: ${data.values}",
|
|---|
| 522 | "plural": "Benötigte ARIA Elternrollen nicht vorhanden: ${data.values}"
|
|---|
| 523 | }
|
|---|
| 524 | },
|
|---|
| 525 | "aria-roledescription": {
|
|---|
| 526 | "pass": "aria-roledescription mit einer unterstützten semantischen Rolle verwendet.",
|
|---|
| 527 | "incomplete": "Es sollte überprüft werden ob aria-roledescription von einem Screenreader vorgelesen wird.",
|
|---|
| 528 | "fail": "Das Element muss mit einer Rolle, welche aria-roledescription unterstützt, versehen werden."
|
|---|
| 529 | },
|
|---|
| 530 | "aria-unsupported-attr": {
|
|---|
| 531 | "pass": "ARIA Attribut wird unterstützt",
|
|---|
| 532 | "fail": "ARIA Attribut ist nicht allgemein in Screenreadern und anderen assistiven Technologien unterstützt: ${data.values}"
|
|---|
| 533 | },
|
|---|
| 534 | "aria-valid-attr-value": {
|
|---|
| 535 | "pass": "ARIA Attributwerte sind gültig.",
|
|---|
| 536 | "fail": {
|
|---|
| 537 | "singular": "Ungültiger Wert des ARIA Attributes ${data.values}",
|
|---|
| 538 | "plural": "Ungültige Werte der ARIA Attribute: ${data.values}"
|
|---|
| 539 | },
|
|---|
| 540 | "incomplete": {
|
|---|
| 541 | "noId": "Verwendete ID im ARIA Attribut existiert nicht auf der Seite: ${data.needsReview}",
|
|---|
| 542 | "noIdShadow": "ARIA-Attribut Element-ID existiert nicht auf der Seite oder ist ein Nachkomme (descendant) eines anderen Schatten-DOM-tree: ${data.needsReview}",
|
|---|
| 543 | "ariaCurrent": "Folgendes ARIA Attributwert ist ungültig und wird wie \"aria-current=true\" gesehen: ${data.needsReview}",
|
|---|
| 544 | "idrefs": "Es konnte nicht festgestellt werden, ob das ARIA-Attribut element ID auf der Seite existiert: ${data.needsReview}",
|
|---|
| 545 | "empty": "ARIA-Attributwert wird ignoriert, wenn leer: ${data.needsReview}",
|
|---|
| 546 | "controlsWithinPopup": "Bei der Verwendung von aria-haspopup konnte nicht festgestellt werden, ob die von aria-controls referenzierte ID auf der Seite existiert: ${data.needsReview}"
|
|---|
| 547 | }
|
|---|
| 548 | },
|
|---|
| 549 | "aria-valid-attr": {
|
|---|
| 550 | "pass": "Alle ARIA Attributnamen sind gültig.",
|
|---|
| 551 | "fail": {
|
|---|
| 552 | "singular": "Ungültige ARIA Attribut Name: ${data.values}",
|
|---|
| 553 | "plural": "Ungültige ARIA Attribut Namen: ${data.values}"
|
|---|
| 554 | }
|
|---|
| 555 | },
|
|---|
| 556 | "braille-label-equivalent": {
|
|---|
| 557 | "pass": "aria-braillelabel wird für ein Element mit zugänglichem Text verwendet.",
|
|---|
| 558 | "fail": "aria-braillelabel wird für ein Element ohne zugänglichen Text verwendet.",
|
|---|
| 559 | "incomplete": "Zugänglicher Text kann nicht berechnet werden."
|
|---|
| 560 | },
|
|---|
| 561 | "braille-roledescription-equivalent": {
|
|---|
| 562 | "pass": "aria-brailleroledescription wird für ein Element mit aria-roledescription verwendet.",
|
|---|
| 563 | "fail": {
|
|---|
| 564 | "noRoleDescription": "aria-brailleroledescription wird für ein Element ohne aria-roledescription verwendet.",
|
|---|
| 565 | "emptyRoleDescription": "aria-brailleroledescription wird für ein Element mit einer leeren aria-roledescription verwendet."
|
|---|
| 566 | }
|
|---|
| 567 | },
|
|---|
| 568 | "deprecatedrole": {
|
|---|
| 569 | "pass": "ARIA Rolle ist nicht veraltet.",
|
|---|
| 570 | "fail": "Die verwendete Rolle ist veraltet: ${data}"
|
|---|
| 571 | },
|
|---|
| 572 | "fallbackrole": {
|
|---|
| 573 | "pass": "Nur ein Wert für role genutzt.",
|
|---|
| 574 | "fail": "Es sollte nur ein Wert für role benutzt werden, da Fallback-Werte in älteren Browsern nicht unterstützt werden.",
|
|---|
| 575 | "incomplete": "Verwende nur die Rolle 'presentation' oder 'none', da sie synonym sind."
|
|---|
| 576 | },
|
|---|
| 577 | "has-global-aria-attribute": {
|
|---|
| 578 | "pass": {
|
|---|
| 579 | "singular": "Element hat globales ARIA Attribut: ${data.values}",
|
|---|
| 580 | "plural": "Element hat globale ARIA Attribute: ${data.values}"
|
|---|
| 581 | },
|
|---|
| 582 | "fail": "Das Element hat keine globalen ARIA Attribute."
|
|---|
| 583 | },
|
|---|
| 584 | "has-widget-role": {
|
|---|
| 585 | "pass": "Element hat eine widget-Rolle.",
|
|---|
| 586 | "fail": "Das Element besitzt keine widget-Rolle."
|
|---|
| 587 | },
|
|---|
| 588 | "invalidrole": {
|
|---|
| 589 | "pass": "ARIA Rolle ist gültig.",
|
|---|
| 590 | "fail": {
|
|---|
| 591 | "singular": "Folgende Rolle muss eine von den validen ARIA Rollen sein: ${data.values}",
|
|---|
| 592 | "plural": "Folgende Rollen müssen jeweils eine von den validen ARIA Rollen sein: ${data.values}"
|
|---|
| 593 | }
|
|---|
| 594 | },
|
|---|
| 595 | "is-element-focusable": {
|
|---|
| 596 | "pass": "Element ist fokussierbar.",
|
|---|
| 597 | "fail": "Element ist nicht fokussierbar."
|
|---|
| 598 | },
|
|---|
| 599 | "no-implicit-explicit-label": {
|
|---|
| 600 | "pass": "Kein Unterschied zwischen dem <label> und dem zugänglichen Namen (accessible name).",
|
|---|
| 601 | "incomplete": "Überprüfe, dass das <label> nicht Teil des ARIA ${data} Feldnamens ist."
|
|---|
| 602 | },
|
|---|
| 603 | "unsupportedrole": {
|
|---|
| 604 | "pass": "ARIA Rolle wird unterstützt.",
|
|---|
| 605 | "fail": "Folgende Rollen werden nicht allgemein in Screenreadern und assistiven Technologien unterstützt: ${data.values}"
|
|---|
| 606 | },
|
|---|
| 607 | "valid-scrollable-semantics": {
|
|---|
| 608 | "pass": "Das Element hat eine gültige Semantik für ein Element in der Fokusreihenfolge.",
|
|---|
| 609 | "fail": "Das Element hat eine ungültige Semantik für ein Element in der Fokusreihenfolge."
|
|---|
| 610 | },
|
|---|
| 611 | "color-contrast-enhanced": {
|
|---|
| 612 | "pass": "Das Element hat einen ausreichenden Kontrast von ${data.contrastRatio}.",
|
|---|
| 613 | "fail": {
|
|---|
| 614 | "default": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} (Vordergrundfarbe: ${data.fgColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}). Erwartetes Kontrastverhältnis von ${data.expectedContrastRatio}",
|
|---|
| 615 | "fgOnShadowColor": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} zwischen der Vordergrund- und der Schattenfarbe (Vordergrundfarbe: ${data.fgColor}, Textschattenfarbe: ${data.shadowColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}). Erwartetes Kontrastverhältnis von ${data.expectedContrastRatio}",
|
|---|
| 616 | "shadowOnBgColor": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} zwischen der Schattenfarbe und der Hintergrundfarbe (Textschattenfarbe: ${data.shadowColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}). Erwartetes Kontrastverhältnis von ${data.expectedContrastRatio}"
|
|---|
| 617 | },
|
|---|
| 618 | "incomplete": {
|
|---|
| 619 | "default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
|
|---|
| 620 | "bgImage": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
|
|---|
| 621 | "bgGradient": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
|
|---|
| 622 | "imgNode": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
|
|---|
| 623 | "bgOverlap": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da es von einem anderen Element überlagert wird.",
|
|---|
| 624 | "fgAlpha": "Die Vordergrundfarbe des Elementes konnte aufgrund der Alpha-Transparenz nicht ermittelt werden.",
|
|---|
| 625 | "elmPartiallyObscured": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise von anderen Elementen überdeckt wird.",
|
|---|
| 626 | "elmPartiallyObscuring": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise andere Elemente überdeckt.",
|
|---|
| 627 | "outsideViewport": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es sich außerhalb des Viewports befindet.",
|
|---|
| 628 | "equalRatio": "Das Element hat einen 1:1 Kontrast mit der Hintergrundfarbe.",
|
|---|
| 629 | "shortTextContent": "Der Inhalt des Elements ist zu kurz um zu bestimmen ob es sich wirklich um Textinhalt handelt.",
|
|---|
| 630 | "nonBmp": "Das Element enthält ausschließlich Nicht-Text Zeichen.",
|
|---|
| 631 | "pseudoContent": "Die Hintergrundfarbe konnte aufgrund eines pseudo Elementes nicht bestimmt werden."
|
|---|
| 632 | }
|
|---|
| 633 | },
|
|---|
| 634 | "color-contrast": {
|
|---|
| 635 | "pass": {
|
|---|
| 636 | "default": "Das Element hat einen ausreichenden Kontrast von ${data.contrastRatio}.",
|
|---|
| 637 | "hidden": "Das Element ist versteckt."
|
|---|
| 638 | },
|
|---|
| 639 | "fail": {
|
|---|
| 640 | "default": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} (Vordergrundfarbe: ${data.fgColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}). Erwartetes Kontrastverhältnis von ${data.expectedContrastRatio}",
|
|---|
| 641 | "fgOnShadowColor": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} zwischen der Vordergrund- und der Schattenfarbe (Vordergrundfarbe: ${data.fgColor}, Textschattenfarbe: ${data.shadowColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}). Erwartetes Kontrastverhältnis von ${data.expectedContrastRatio}",
|
|---|
| 642 | "shadowOnBgColor": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} zwischen der Schattenfarbe und der Hintergrundfarbe (Textschattenfarbe: ${data.shadowColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}). Erwartetes Kontrastverhältnis von ${data.expectedContrastRatio}"
|
|---|
| 643 | },
|
|---|
| 644 | "incomplete": {
|
|---|
| 645 | "default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
|
|---|
| 646 | "bgImage": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
|
|---|
| 647 | "bgGradient": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
|
|---|
| 648 | "imgNode": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
|
|---|
| 649 | "bgOverlap": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da es von einem anderen Element überlagert wird.",
|
|---|
| 650 | "complexTextShadows": "Der Kontrast des Elements konnte nicht bestimmt werden, da es komplexe Textschatten verwendet.",
|
|---|
| 651 | "fgAlpha": "Die Vordergrundfarbe des Elementes konnte aufgrund der Alpha-Transparenz nicht ermittelt werden.",
|
|---|
| 652 | "elmPartiallyObscured": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise von anderen Elementen überdeckt wird.",
|
|---|
| 653 | "elmPartiallyObscuring": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise andere Elemente überdeckt.",
|
|---|
| 654 | "outsideViewport": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es sich außerhalb des Viewports befindet.",
|
|---|
| 655 | "equalRatio": "Das Element hat einen 1:1 Kontrast mit der Hintergrundfarbe.",
|
|---|
| 656 | "shortTextContent": "Der Inhalt des Elements ist zu kurz um zu bestimmen ob es sich wirklich um Textinhalt handelt.",
|
|---|
| 657 | "nonBmp": "Das Element enthält ausschließlich Nicht-Text Zeichen.",
|
|---|
| 658 | "pseudoContent": "Die Hintergrundfarbe konnte aufgrund eines pseudo Elementes nicht bestimmt werden."
|
|---|
| 659 | }
|
|---|
| 660 | },
|
|---|
| 661 | "link-in-text-block-style": {
|
|---|
| 662 | "pass": "Links können durch visuelle Gestaltung vom umgebenden Text unterschieden werden.",
|
|---|
| 663 | "incomplete": {
|
|---|
| 664 | "default": "Prüfe, ob der Link ein Styling benötigt, um sich vom umgebenden Text zu unterscheiden.",
|
|---|
| 665 | "pseudoContent": "Prüfe, ob der Pseudostil des Links ausreicht, um ihn vom umgebenden Text zu unterscheiden."
|
|---|
| 666 | },
|
|---|
| 667 | "fail": "Der Link hat kein Styling (z.B. Unterstreichung), um ihn vom umgebenden Text zu unterscheiden."
|
|---|
| 668 | },
|
|---|
| 669 | "link-in-text-block": {
|
|---|
| 670 | "pass": "Links können vom umgebenenden Text auf unterschiedliche Art und Weise unterschieden werden.",
|
|---|
| 671 | "fail": {
|
|---|
| 672 | "fgContrast": "Der Link hat einen unzureichenden Kontrast von ${data.contrastRatio}:1 mit dem umgebenden Text (Mindestkontrast ist ${data.requiredContrastRatio}:1, Linktext: ${data.nodeColor}, umgebender Text: ${data.parentColor}).",
|
|---|
| 673 | "bgContrast": "Der Link-Hintergrund hat einen unzureichenden Kontrast von ${data.contrastRatio} (Mindestkontrast ist ${data.requiredContrastRatio}:1, Link-Hintergrundfarbe: ${data.nodeBackgroundColor}, umgebende Hintergrundfarbe: ${data.parentBackgroundColor})."
|
|---|
| 674 | },
|
|---|
| 675 | "incomplete": {
|
|---|
| 676 | "default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
|
|---|
| 677 | "bgContrast": "Das Kontrastverhältnis des Elements konnte nicht bestimmt werden. Suchen Sie nach einem bestimmten Hover/Fokus-Stil.",
|
|---|
| 678 | "bgImage": "Das Kontrastverhältnis des Elements konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
|
|---|
| 679 | "bgGradient": "Das Kontrastverhältnis des Elements konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
|
|---|
| 680 | "imgNode": "Das Kontrastverhältnis des Elements konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
|
|---|
| 681 | "bgOverlap": "Das Kontrastverhältnis des Elements konnte aufgrund einer Überlagerung nicht bestimmt werden."
|
|---|
| 682 | }
|
|---|
| 683 | },
|
|---|
| 684 | "autocomplete-appropriate": {
|
|---|
| 685 | "pass": "Der Wert des autocomplete Attributes ist für diese Art des Eingabefeldes geeignet.",
|
|---|
| 686 | "fail": "Der Wert des autocomplete Attributes ist für diese Art des Eingabefeldes nicht geeignet."
|
|---|
| 687 | },
|
|---|
| 688 | "autocomplete-valid": {
|
|---|
| 689 | "pass": "Der Wert des autocomplete Attributes ist korrekt formatiert.",
|
|---|
| 690 | "fail": "Der Wert des autocomplete Attributes ist inkorrekt formatiert.",
|
|---|
| 691 | "incomplete": "Der Wert des autocomplete Attributes hat einen Nicht-Standardwert. Prüfe, ob stattdessen ein Standardwert verwendet werden kann."
|
|---|
| 692 | },
|
|---|
| 693 | "accesskeys": {
|
|---|
| 694 | "pass": "Alle accesskey-Attribute sind einzigartig.",
|
|---|
| 695 | "fail": "Das Dokument enthält mehrere Elemente mit dem gleichen accesskey-Attribut."
|
|---|
| 696 | },
|
|---|
| 697 | "focusable-content": {
|
|---|
| 698 | "pass": "Das Element beeinhaltet fokussierbaren Inhalt.",
|
|---|
| 699 | "fail": "Das Element beeinhaltet keinen fokussierbaren Inhalt."
|
|---|
| 700 | },
|
|---|
| 701 | "focusable-disabled": {
|
|---|
| 702 | "pass": "Das Element beeinhaltet keinen fokussierbaren Inhalt.",
|
|---|
| 703 | "incomplete": "Prüfe, ob die fokussierbaren Elemente den Fokusindikator sofort bewegen.",
|
|---|
| 704 | "fail": "Fokussierbarer Inhalt sollte deaktiviert oder vom DOM entfernt werden."
|
|---|
| 705 | },
|
|---|
| 706 | "focusable-element": {
|
|---|
| 707 | "pass": "Element ist fokussierbar.",
|
|---|
| 708 | "fail": "Element sollte fokussierbar sein."
|
|---|
| 709 | },
|
|---|
| 710 | "focusable-modal-open": {
|
|---|
| 711 | "pass": "Keine fokussierbaren Elemente während ein modaler Dialog offen ist.",
|
|---|
| 712 | "incomplete": "Überprüfe ob Elemente während des derzeitigen Status fokussierbar sind."
|
|---|
| 713 | },
|
|---|
| 714 | "focusable-no-name": {
|
|---|
| 715 | "pass": "Das Element befindet sich nicht in der Tabreihenfolge und enthält keinen zugänglichen Text.",
|
|---|
| 716 | "fail": "Das Element befindet sich in der Tabreihenfolge und enthält keinen zugänglichen Text.",
|
|---|
| 717 | "incomplete": "Es ist nicht möglich herauszufinden ob Element einen zugänglichen Namen (accessible name) besitzt."
|
|---|
| 718 | },
|
|---|
| 719 | "focusable-not-tabbable": {
|
|---|
| 720 | "pass": "Keine fokussierbaren Elemente innerhalb des Elements.",
|
|---|
| 721 | "incomplete": "Prüfe, ob die fokussierbaren Elemente den Fokusindikator sofort bewegen.",
|
|---|
| 722 | "fail": "Fokussierbare Elemente sollten mit tabindex='-1' versehen oder vom DOM entfernt werden."
|
|---|
| 723 | },
|
|---|
| 724 | "frame-focusable-content": {
|
|---|
| 725 | "pass": "Element hat keine fokussierbaren Nachkommen (descendants).",
|
|---|
| 726 | "fail": "Element hat fokussierbare Nachkommen (descendants).",
|
|---|
| 727 | "incomplete": "Es konnte nicht festgestellt werden, ob das Element Nachkommen (descendants) hat."
|
|---|
| 728 | },
|
|---|
| 729 | "landmark-is-top-level": {
|
|---|
| 730 | "pass": "Die ${data.role} landmark befindet sich auf höchster Ebene.",
|
|---|
| 731 | "fail": "Die ${data.role} landmark befindet sich innerhalb einer anderen landmark."
|
|---|
| 732 | },
|
|---|
| 733 | "no-focusable-content": {
|
|---|
| 734 | "pass": "Element hat keine fokussierbaren Nachkommen (descendants).",
|
|---|
| 735 | "fail": {
|
|---|
| 736 | "default": "Element hat fokussierbare Nachkommen (descendants).",
|
|---|
| 737 | "notHidden": "Die Verwendung eines negativen Tabindex für ein Element innerhalb eines interaktiven Steuerelements verhindert nicht, dass assistive Technologien das Element fokussieren (selbst bei aria-hidden=\"true\")"
|
|---|
| 738 | },
|
|---|
| 739 | "incomplete": "Es konnte nicht festgestellt werden, ob das Element Nachkommen (descendants) hat."
|
|---|
| 740 | },
|
|---|
| 741 | "page-has-heading-one": {
|
|---|
| 742 | "pass": "Die Seite besitzt mindestens eine Überschrift der ersten Ebene.",
|
|---|
| 743 | "fail": "Die Seite muss eine Überschrift erster Ebene besitzen."
|
|---|
| 744 | },
|
|---|
| 745 | "page-has-main": {
|
|---|
| 746 | "pass": "Die Seite besitzt eine main landmark.",
|
|---|
| 747 | "fail": "Die Seite muss eine main landmark besitzen."
|
|---|
| 748 | },
|
|---|
| 749 | "page-no-duplicate-banner": {
|
|---|
| 750 | "pass": "Das Dokument besitzt nicht mehr als eine banner landmark.",
|
|---|
| 751 | "fail": "Das Dokument besitzt mehr als eine banner landmark."
|
|---|
| 752 | },
|
|---|
| 753 | "page-no-duplicate-contentinfo": {
|
|---|
| 754 | "pass": "Das Dokument besitzt nicht mehr als eine contentinfo landmark.",
|
|---|
| 755 | "fail": "Das Dokument besitzt mehr als eine contentinfo landmark."
|
|---|
| 756 | },
|
|---|
| 757 | "page-no-duplicate-main": {
|
|---|
| 758 | "pass": "Das Dokument besitzt nicht mehr als eine main landmark.",
|
|---|
| 759 | "fail": "Das Dokument besitzt mehr als eine main landmark."
|
|---|
| 760 | },
|
|---|
| 761 | "tabindex": {
|
|---|
| 762 | "pass": "Das Element besitzt einen tabindex-Attributwert der nicht größer als 0 ist.",
|
|---|
| 763 | "fail": "Das Element besitzt einen tabindex-Attributwert größer als 0."
|
|---|
| 764 | },
|
|---|
| 765 | "alt-space-value": {
|
|---|
| 766 | "pass": "Element hat ein valides alt Attribut.",
|
|---|
| 767 | "fail": "Element hat ein alt Attribut, welches ausschließlich Leerzeichen beeinhaltet, die jedoch nicht durch Screenreader ignoriert werden."
|
|---|
| 768 | },
|
|---|
| 769 | "duplicate-img-label": {
|
|---|
| 770 | "pass": "Das Element besitzt einen Alternativtext der anderweitig vorhanden Text nicht wiederholt.",
|
|---|
| 771 | "fail": "Das Element besitzt ein <img>-Element mit Alternativtext, der vorhandenen Text wiederholt."
|
|---|
| 772 | },
|
|---|
| 773 | "explicit-label": {
|
|---|
| 774 | "pass": "Das <form>-Element besitzt ein explizites <label>.",
|
|---|
| 775 | "fail": "Das <form>-Element besitzt kein explizites <label>.",
|
|---|
| 776 | "incomplete": "Es ist nicht möglich herauszufinden ob das <form> Element ein explizites <label> besitzt."
|
|---|
| 777 | },
|
|---|
| 778 | "help-same-as-label": {
|
|---|
| 779 | "pass": "Der Hilfstext (title oder aria-describedby) dupliziert den label-Text nicht.",
|
|---|
| 780 | "fail": "Der Hilfstext (angegeben durch ein title- oder aria-describedby-Attribut) wiederholt den label-Text."
|
|---|
| 781 | },
|
|---|
| 782 | "hidden-explicit-label": {
|
|---|
| 783 | "pass": "Das <form> Element besitzt ein sichtbares explizites <label>.",
|
|---|
| 784 | "fail": "Das <form> Element besitzt ein <label>, welches nicht sichtbar ist.",
|
|---|
| 785 | "incomplete": "Nicht möglich herauszufinden ob <form> Element ein sichtbares <label> besitzt."
|
|---|
| 786 | },
|
|---|
| 787 | "implicit-label": {
|
|---|
| 788 | "pass": "Das <form>-Element besitzt ein implizites (umschlossenes) <label>-Element.",
|
|---|
| 789 | "fail": "Das <form>-Element besitzt kein implizites <label>-Element.",
|
|---|
| 790 | "incomplete": "Nicht möglich herauszufinden ob das <form> Element ein implizites (umschlossenes) <label> besitzt."
|
|---|
| 791 | },
|
|---|
| 792 | "label-content-name-mismatch": {
|
|---|
| 793 | "pass": "Element beeinhaltet sichtbaren Text als Teil des zugänglichen Namens (accessible name).",
|
|---|
| 794 | "fail": "Das Element beeinhaltet Text, welcher nicht Teil des zugänglichen Namens (accessible name) ist."
|
|---|
| 795 | },
|
|---|
| 796 | "multiple-label": {
|
|---|
| 797 | "pass": "Das <form>-Element besitzt keine multiplen <label>-Elemente.",
|
|---|
| 798 | "incomplete": "Elemente mit mehreren Labeln werden in assistiven Technologien nicht allgemein unterstützt. Es sollte sichergestellt werden, dass alle relevanten Informationen im ersten Label enthalten sind."
|
|---|
| 799 | },
|
|---|
| 800 | "title-only": {
|
|---|
| 801 | "pass": "Das <form>-Element ist nicht nur lediglich durch ein title-Attribut beschriftet.",
|
|---|
| 802 | "fail": "Das <form>-Element ist lediglich durch ein title-Attribut beschriftet."
|
|---|
| 803 | },
|
|---|
| 804 | "landmark-is-unique": {
|
|---|
| 805 | "pass": "Landmarks besitzen eine einzigartige Rolle oder Rollen/Label/Titel (zugänglicher Name / accessible name) Kombination.",
|
|---|
| 806 | "fail": "Landmark muss ein einzigartiges aria-label, aria-labelledby oder einen Titel besitzen, um es von anderen zu unterscheiden."
|
|---|
| 807 | },
|
|---|
| 808 | "has-lang": {
|
|---|
| 809 | "pass": "Das <html>-Element besitzt ein lang-Attribut.",
|
|---|
| 810 | "fail": {
|
|---|
| 811 | "noXHTML": "Das xml:lang-Attribut ist auf HTML Seiten nicht valide, es sollte das lang-Attribut genutzt werden.",
|
|---|
| 812 | "noLang": "Das <html>-Element besitzt kein lang-Attribut."
|
|---|
| 813 | }
|
|---|
| 814 | },
|
|---|
| 815 | "valid-lang": {
|
|---|
| 816 | "pass": "Der Wert des lang-Attributes ist in der Liste der gültigen Sprachen enthalten.",
|
|---|
| 817 | "fail": "Der Wert des lang-Attributes ist nicht valide."
|
|---|
| 818 | },
|
|---|
| 819 | "xml-lang-mismatch": {
|
|---|
| 820 | "pass": "Das lang- und xml:lang-Attribut verweisen auf dieselbe Sprache.",
|
|---|
| 821 | "fail": "Das lang- und xml:lang-Attribut verweisen nicht auf dieselbe Sprache."
|
|---|
| 822 | },
|
|---|
| 823 | "dlitem": {
|
|---|
| 824 | "pass": "Der Definitionslisteneintrag besitzt ein <dl>-Elternelement.",
|
|---|
| 825 | "fail": "Der Definitionslisteneintrag besitzt kein <dl>-Elternelement."
|
|---|
| 826 | },
|
|---|
| 827 | "listitem": {
|
|---|
| 828 | "pass": "Das Aufzählungselement besitzt ein gültiges Elternelement (<ul>, <ol> oder Element mit role=\"list\").",
|
|---|
| 829 | "fail": {
|
|---|
| 830 | "default": "Aufzählungselement besitzt kein gültiges Elternelement (<ul>, <ol>)",
|
|---|
| 831 | "roleNotValid": "Aufzählungselement besitzt kein gültiges Elternelement ohne role-Attribut (<ul>, <ol>) oder mit role=\"list\"."
|
|---|
| 832 | }
|
|---|
| 833 | },
|
|---|
| 834 | "only-dlitems": {
|
|---|
| 835 | "pass": "Das Aufzählungselement enthält Kindelemente, welche innerhalb der <dt> oder <dd>-Elemente erlaubt sind.",
|
|---|
| 836 | "fail": "Das <dl>-Element enthält unerlaubte Kindelemente."
|
|---|
| 837 | },
|
|---|
| 838 | "only-listitems": {
|
|---|
| 839 | "pass": "Das Aufzählungselement besitzt Kinder, welche innerhalb eines <li>-Elements erlaubt sind.",
|
|---|
| 840 | "fail": "Das Aufzählungselement besitzt Kinder, die nicht erlaubt sind: ${data.values}"
|
|---|
| 841 | },
|
|---|
| 842 | "structured-dlitems": {
|
|---|
| 843 | "pass": "Das Definitionslisten-Element enthält sowohl <dt> als auch <dd>-Elemente, falls es nicht leer sein sollte.",
|
|---|
| 844 | "fail": "Das Definitionslisten-Element enthält kein <dt>-Element, welches von keinem <dd>-Element gefolgt wird."
|
|---|
| 845 | },
|
|---|
| 846 | "caption": {
|
|---|
| 847 | "pass": "Das Multimedia-Element besitzt eine Untertitelung (captions track).",
|
|---|
| 848 | "incomplete": "Für das Element konnte keine Untertitelung (captions track) gefunden werden."
|
|---|
| 849 | },
|
|---|
| 850 | "frame-tested": {
|
|---|
| 851 | "pass": "Das iFrame konnte mit axe-core getestet werden.",
|
|---|
| 852 | "fail": "Das iFrame konnte nicht mit axe-core getestet werden.",
|
|---|
| 853 | "incomplete": "Das iFrame muss noch mit axe-core getestet werden."
|
|---|
| 854 | },
|
|---|
| 855 | "no-autoplay-audio": {
|
|---|
| 856 | "pass": "Die <video> oder <audio>-Elemente geben keinen Ton über die erlaubte Zeitspanne aus oder haben Kontrollmöglichkeiten.",
|
|---|
| 857 | "fail": "Die <video> oder <audio>-Elemente geben Ton über die erlaubte Zeitspanne aus oder haben keine Kontrollmöglichkeiten.",
|
|---|
| 858 | "incomplete": "Es sollte überprüft werden, dass <video> oder <audio>-Elemente keinen Ton über die erlaubte Zeitspanne ausgeben oder Kontrollmöglichkeiten haben."
|
|---|
| 859 | },
|
|---|
| 860 | "css-orientation-lock": {
|
|---|
| 861 | "pass": "Display ist bedienbar, und eine CSS-Ausrichtungssperre ist nicht vorhanden.",
|
|---|
| 862 | "fail": "CSS-Ausrichtungssperre wird angewendet und macht die Anzeige unbrauchbar.",
|
|---|
| 863 | "incomplete": "Der Wert der CSS-Ausrichtungssperre kann nicht ermittelt werden."
|
|---|
| 864 | },
|
|---|
| 865 | "meta-viewport-large": {
|
|---|
| 866 | "pass": "Der <meta>-Tag schränkt das Zoomen nicht ein.",
|
|---|
| 867 | "fail": "Die viewport-Einstellungen im <meta>-Tag schränken das Zoomen auf mobilen Geräten ein."
|
|---|
| 868 | },
|
|---|
| 869 | "meta-viewport": {
|
|---|
| 870 | "pass": "Der <meta>-Tag blockiert das Zoomen auf mobilen Geräten nicht.",
|
|---|
| 871 | "fail": "Die viewport-Einstellungen im <meta>-Tag blockieren das Zoomen auf mobilen Geräten."
|
|---|
| 872 | },
|
|---|
| 873 | "target-offset": {
|
|---|
| 874 | "pass": {
|
|---|
| 875 | "default": "Das Ziel hat genügend Abstand zu seinen nächsten Nachbarn. Der sichere klickbare Bereich hat einen Durchmesser von ${data.closestOffset}px, der mindestens ${data.minOffset}px beträgt.",
|
|---|
| 876 | "large": "Das Ziel überschreitet bei weitem die Mindestgröße von ${data.minOffset}px."
|
|---|
| 877 | },
|
|---|
| 878 | "fail": "Das Ziel hat nicht genügend Abstand zu seinen nächsten Nachbarn. Der sichere klickbare Bereich hat einen Durchmesser von ${data.closestOffset}px statt mindestens ${data.minOffset}px.",
|
|---|
| 879 | "incomplete": {
|
|---|
| 880 | "default": "Element mit negativem Tabindex hat nicht genügend Abstand zu seinen nächsten Nachbarn. Der sichere klickbare Bereich hat einen Durchmesser von ${data.closestOffset}px statt mindestens ${data.minOffset}px. Ist dies ein Ziel?",
|
|---|
| 881 | "nonTabbableNeighbor": "Das Ziel hat nicht genügend Abstand zu seinen nächsten Nachbarn. Der sichere klickbare Bereich hat einen Durchmesser von ${data.closestOffset}px statt mindestens ${data.minOffset}px. Ist der Nachbar ein Ziel?",
|
|---|
| 882 | "tooManyRects": "Die Zielgröße konnte nicht ermittelt werden, da zu viele überlappende Elemente vorhanden sind."
|
|---|
| 883 | }
|
|---|
| 884 | },
|
|---|
| 885 | "target-size": {
|
|---|
| 886 | "pass": {
|
|---|
| 887 | "default": "Das Steuerelement hat eine ausreichende Größe (${data.width}px x ${data.height}px, sollte mindestens ${data.minSize}px x ${data.minSize}px sein).",
|
|---|
| 888 | "obscured": "Das Steuerelement wird ignoriert, da es vollständig verdeckt ist und daher nicht angeklickt werden kann.",
|
|---|
| 889 | "large": "Das Ziel überschreitet bei weitem die Mindestgröße von ${data.minSize}px."
|
|---|
| 890 | },
|
|---|
| 891 | "fail": {
|
|---|
| 892 | "default": "Das Ziel hat eine unzureichende Größe (${data.width}px x ${data.height}px, sollte mindestens ${data.minSize}px x ${data.minSize}px sein).",
|
|---|
| 893 | "partiallyObscured": "Das Ziel hat eine unzureichende Größe, weil es teilweise verdeckt ist (der kleinste Platz ist ${data.width}px mal ${data.height}px, sollte mindestens ${data.minSize}px mal ${data.minSize}px sein)."
|
|---|
| 894 | },
|
|---|
| 895 | "incomplete": {
|
|---|
| 896 | "default": "Element mit negativem Tabindex hat unzureichende Größe (${data.width}px mal ${data.height}px, sollte mindestens ${data.minSize}px mal ${data.minSize}px sein). Ist dies ein Ziel?",
|
|---|
| 897 | "contentOverflow": "Elementgröße konnte aufgrund von Überlaufinhalten nicht genau bestimmt werden",
|
|---|
| 898 | "partiallyObscured": "Element mit negativem Tabindex hat unzureichende Größe, weil es teilweise verdeckt ist (kleinster Platz ist ${data.width}px mal ${data.height}px, sollte mindestens ${data.minSize}px mal ${data.minSize}px sein). Ist dies ein Ziel?",
|
|---|
| 899 | "partiallyObscuredNonTabbable": "Das Ziel hat eine unzureichende Größe, weil es teilweise von einem Nachbarn mit negativem Tabindex verdeckt wird (der kleinste Platz ist ${data.width}px mal ${data.height}px, sollte mindestens ${data.minSize}px mal ${data.minSize}px sein). Ist der Nachbar ein Ziel?",
|
|---|
| 900 | "tooManyRects": "Die Zielgröße konnte nicht ermittelt werden, da zu viele überlappende Elemente vorhanden sind."
|
|---|
| 901 | }
|
|---|
| 902 | },
|
|---|
| 903 | "header-present": {
|
|---|
| 904 | "pass": "Die Seite besitzt eine Seitenüberschrift.",
|
|---|
| 905 | "fail": "Die Seite besitzt keine Seitenüberschrift."
|
|---|
| 906 | },
|
|---|
| 907 | "heading-order": {
|
|---|
| 908 | "pass": "Die Überschriftenstruktur ist gültig.",
|
|---|
| 909 | "fail": "Die Überschriftenstruktur ist nicht valide.",
|
|---|
| 910 | "incomplete": "Vorherige Überschrift kann nicht ermittelt werden."
|
|---|
| 911 | },
|
|---|
| 912 | "identical-links-same-purpose": {
|
|---|
| 913 | "pass": "Es befinden sich keine Links auf der Seite, welche mit demselben Namen auf dasselbe Ziel verweisen.",
|
|---|
| 914 | "incomplete": "Prüfen Sie, ob die Links den gleichen Zweck haben oder absichtlich mehrdeutig sind."
|
|---|
| 915 | },
|
|---|
| 916 | "internal-link-present": {
|
|---|
| 917 | "pass": "Es wurde ein gültiger Skip-Link gefunden.",
|
|---|
| 918 | "fail": "Kein gültiger Skip-Link gefunden."
|
|---|
| 919 | },
|
|---|
| 920 | "landmark": {
|
|---|
| 921 | "pass": "Die Seite besitzt eine landmark region.",
|
|---|
| 922 | "fail": "Die Seite besitzt keine landmark region."
|
|---|
| 923 | },
|
|---|
| 924 | "meta-refresh-no-exceptions": {
|
|---|
| 925 | "pass": "<meta> Tag aktualisiert die Seite nicht sofort.",
|
|---|
| 926 | "fail": "<meta> Tag erzwingt eine zeitgesteuerte Aktualisierung der Seite."
|
|---|
| 927 | },
|
|---|
| 928 | "meta-refresh": {
|
|---|
| 929 | "pass": "Der <meta>-Tag erzwingt keine sofortige Aktualisierung der Seite.",
|
|---|
| 930 | "fail": "Der <meta>-Tag erzwingt eine zeitgesteuerte Aktualisierung der Seite."
|
|---|
| 931 | },
|
|---|
| 932 | "p-as-heading": {
|
|---|
| 933 | "pass": "<p>-Elemente werden nicht als Überschriftenelement zweckentfremdet.",
|
|---|
| 934 | "fail": "Anstelle eines Überschriftenelementes wird lediglich ein durch Formatierungen hervorgehobenes <p>-Element verwendet.",
|
|---|
| 935 | "incomplete": "Es kann nicht festgestellt werden, ob <p>-Elemente als Überschriften gestylt sind."
|
|---|
| 936 | },
|
|---|
| 937 | "region": {
|
|---|
| 938 | "pass": "Jeglicher Inhalt der Seite befindet sich in einer landmark.",
|
|---|
| 939 | "fail": "Der Inhalt befindet sich nicht in einer ARIA landmark."
|
|---|
| 940 | },
|
|---|
| 941 | "skip-link": {
|
|---|
| 942 | "pass": "Das Ziel des Skip-Links existiert.",
|
|---|
| 943 | "incomplete": "Der Skip-Link sollte bei Aktivierung sichtbar werden.",
|
|---|
| 944 | "fail": "Es existiert kein Ziel für den Skip-Link."
|
|---|
| 945 | },
|
|---|
| 946 | "unique-frame-title": {
|
|---|
| 947 | "pass": "Das title-Attribut des Elements ist einzigartig.",
|
|---|
| 948 | "fail": "Das title-Attribut des Elementes ist nicht einmalig."
|
|---|
| 949 | },
|
|---|
| 950 | "duplicate-id-active": {
|
|---|
| 951 | "pass": "Dokument hat keine aktiven Elemente mit denselben ID-Attributen.",
|
|---|
| 952 | "fail": "Dokument hat aktiven Elemente mit denselben ID-Attributen: ${data}."
|
|---|
| 953 | },
|
|---|
| 954 | "duplicate-id-aria": {
|
|---|
| 955 | "pass": "Dokument besitzt keine Elemente, welche mit ARIA oder Labels referenziert werden, welche die gleiche ID besitzen.",
|
|---|
| 956 | "fail": "Dokument besitzt Elemente, welche mit ARIA oder Labels referenziert werden, welche folgende gleiche ID besitzen: ${data}"
|
|---|
| 957 | },
|
|---|
| 958 | "duplicate-id": {
|
|---|
| 959 | "pass": "Das Dokument besitzt eine einzigartige ID.",
|
|---|
| 960 | "fail": "Das Dokument besitzt mehrere Elemente mit demselben id-Attributwert: ${data}."
|
|---|
| 961 | },
|
|---|
| 962 | "aria-label": {
|
|---|
| 963 | "pass": "Das aria-label-Attribut existiert und ist nicht leer.",
|
|---|
| 964 | "fail": "Es existiert kein aria-label-Attribut oder das Attribut ist leer."
|
|---|
| 965 | },
|
|---|
| 966 | "aria-labelledby": {
|
|---|
| 967 | "pass": "Das aria-labelledby-Attribut existiert und referenziert ein Element, welches für Screen Reader sichtbar ist.",
|
|---|
| 968 | "fail": "Das aria-labelledby-Attribut existiert nicht oder referenziert ein Element, das nicht existiert, nicht sichtbar oder leer ist.",
|
|---|
| 969 | "incomplete": "Es sollte sichergestellt werden, dass aria-labelledby auf ein existierendes Element verweist."
|
|---|
| 970 | },
|
|---|
| 971 | "avoid-inline-spacing": {
|
|---|
| 972 | "pass": "Es werden keine inline-Stilangaben mit '!important' spezifiziert, welche den Textabstand beeinflussen.",
|
|---|
| 973 | "fail": {
|
|---|
| 974 | "singular": "Es sollte '!important' vom inline-Stil ${data.values} entfernt werden, da das Überschreiben in den meisten Browsern nicht erlaubt ist.",
|
|---|
| 975 | "plural": "Es sollte '!important' von den inline-Stilen ${data.values} entfernt werden, da das Überschreiben in den meisten Browsern nicht erlaubt ist."
|
|---|
| 976 | }
|
|---|
| 977 | },
|
|---|
| 978 | "button-has-visible-text": {
|
|---|
| 979 | "pass": "Das Element besitzt Text, der für Screenreader sichtbar ist.",
|
|---|
| 980 | "fail": "Das Element besitzt keinen Text, der für Screenreader sichtbar ist.",
|
|---|
| 981 | "incomplete": "Ob das Element über Kindelemente bzw. textuelle Inhalte verfügt, kann nicht ermittelt werden."
|
|---|
| 982 | },
|
|---|
| 983 | "doc-has-title": {
|
|---|
| 984 | "pass": "Das Dokument besitzt ein nichtleeres <title>-Element.",
|
|---|
| 985 | "fail": "Das Dokument besitzt kein <title>-Element oder das <title>-Element ist leer."
|
|---|
| 986 | },
|
|---|
| 987 | "exists": {
|
|---|
| 988 | "pass": "Das Element existiert nicht.",
|
|---|
| 989 | "incomplete": "Das Element existiert."
|
|---|
| 990 | },
|
|---|
| 991 | "has-alt": {
|
|---|
| 992 | "pass": "Das Element besitzt ein alt-Attribut.",
|
|---|
| 993 | "fail": "Das Element besitzt kein alt-Attribut."
|
|---|
| 994 | },
|
|---|
| 995 | "has-visible-text": {
|
|---|
| 996 | "pass": "Das Element besitzt Text, der für Screenreader sichtbar ist.",
|
|---|
| 997 | "fail": "Das Element besitzt keinen Text, der für Screenreader sichtbar ist.",
|
|---|
| 998 | "incomplete": "Es ist nicht möglich zu ermitteln, ob das Element Kinder besitzt."
|
|---|
| 999 | },
|
|---|
| 1000 | "important-letter-spacing": {
|
|---|
| 1001 | "pass": "letter-spacing im style-Attribut ist nicht auf !important gesetzt oder entspricht dem Minimum.",
|
|---|
| 1002 | "fail": "letter-spacing im style-Attribut darf nicht !important sein oder muss ${data.minValue}em (aktuell ${data.value}em) entsprechen."
|
|---|
| 1003 | },
|
|---|
| 1004 | "important-line-height": {
|
|---|
| 1005 | "pass": "line-height im style-Attribut ist nicht auf !important gesetzt oder entspricht dem Minimum.",
|
|---|
| 1006 | "fail": "line-height im style-Attribut darf nicht !important sein oder muss ${data.minValue}em (aktuell ${data.value}em) entsprechen."
|
|---|
| 1007 | },
|
|---|
| 1008 | "important-word-spacing": {
|
|---|
| 1009 | "pass": "word-spacing im style-Attribut ist nicht auf !important gesetzt oder entspricht dem Minimum.",
|
|---|
| 1010 | "fail": "word-spacing im style-Attribut darf nicht !important sein oder muss ${data.minValue}em (aktuell ${data.value}em) entsprechen."
|
|---|
| 1011 | },
|
|---|
| 1012 | "is-on-screen": {
|
|---|
| 1013 | "pass": "Das Element ist nicht sichtbar.",
|
|---|
| 1014 | "fail": "Das Element ist sichtbar."
|
|---|
| 1015 | },
|
|---|
| 1016 | "non-empty-alt": {
|
|---|
| 1017 | "pass": "Das Element hat ein nichtleeres alt-Attribut.",
|
|---|
| 1018 | "fail": {
|
|---|
| 1019 | "noAttr": "Das Element hat kein alt-Attribut.",
|
|---|
| 1020 | "emptyAttr": "Das Element hat ein leeres alt-Attribut."
|
|---|
| 1021 | }
|
|---|
| 1022 | },
|
|---|
| 1023 | "non-empty-if-present": {
|
|---|
| 1024 | "pass": {
|
|---|
| 1025 | "default": "Das Element hat kein value-Attribut.",
|
|---|
| 1026 | "has-label": "Das Element hat ein nichtleeres value-Attribut."
|
|---|
| 1027 | },
|
|---|
| 1028 | "fail": "Das Element besitzt ein value-Attribut und das value-Attribut ist leer."
|
|---|
| 1029 | },
|
|---|
| 1030 | "non-empty-placeholder": {
|
|---|
| 1031 | "pass": "Element hat ein nichtleeres Platzhalterattribut.",
|
|---|
| 1032 | "fail": {
|
|---|
| 1033 | "noAttr": "Element hat kein Platzhalterattribut.",
|
|---|
| 1034 | "emptyAttr": "Element hat ein leeres Platzhalterattribut."
|
|---|
| 1035 | }
|
|---|
| 1036 | },
|
|---|
| 1037 | "non-empty-title": {
|
|---|
| 1038 | "pass": "Das Element hat ein nichtleeres title-Attribut.",
|
|---|
| 1039 | "fail": {
|
|---|
| 1040 | "noAttr": "Element hat kein title-Attribut.",
|
|---|
| 1041 | "emptyAttr": "Element hat ein leeres title-Attribut."
|
|---|
| 1042 | }
|
|---|
| 1043 | },
|
|---|
| 1044 | "non-empty-value": {
|
|---|
| 1045 | "pass": "Das Element hat ein nichtleeres value-Attribut",
|
|---|
| 1046 | "fail": {
|
|---|
| 1047 | "noAttr": "Element hat kein value-Attribut.",
|
|---|
| 1048 | "emptyAttr": "Element hat ein leeres value-Attribut."
|
|---|
| 1049 | }
|
|---|
| 1050 | },
|
|---|
| 1051 | "presentational-role": {
|
|---|
| 1052 | "pass": "Die Standardsemantik des Elements wurden mit der Rolle \"${data.role}\" überschrieben.",
|
|---|
| 1053 | "fail": {
|
|---|
| 1054 | "default": "Die Standardsemantik des Elements wurden nicht mit der Rolle role=\"none\" oder role=\"presentation\" überschrieben.",
|
|---|
| 1055 | "globalAria": "Die Rolle des Elements ist nicht präsentativ aufgrund des globalen ARIA Attributs.",
|
|---|
| 1056 | "focusable": "Die Rolle des Elements ist nicht präsentativ aufgrund der Möglichkeit es zu fokussieren.",
|
|---|
| 1057 | "both": "Die Rolle des Elements ist nicht präsentativ aufgrund des zugewiesenen globalen ARIA Attributs und der Möglichkeit es zu fokussieren.",
|
|---|
| 1058 | "iframe": "Die Verwendung des \"title\"-Attributs auf einem ${data.nodeName}-Element mit einer Präsentationsrolle verhält sich inkonsistent zwischen Screenreadern."
|
|---|
| 1059 | }
|
|---|
| 1060 | },
|
|---|
| 1061 | "role-none": {
|
|---|
| 1062 | "pass": "Die Standard-Semantik des Elementes ist mit role=\"none\" überschrieben.",
|
|---|
| 1063 | "fail": "Die Standard-Semantik des Elementes ist nicht mit role=\"none\" überschrieben."
|
|---|
| 1064 | },
|
|---|
| 1065 | "role-presentation": {
|
|---|
| 1066 | "pass": "Die Standard-Semantik des Elementes ist mit role=\"presentation\" überschrieben.",
|
|---|
| 1067 | "fail": "Die Standard-Semantik des Elementes ist nicht mit role=\"presentation\" überschrieben."
|
|---|
| 1068 | },
|
|---|
| 1069 | "svg-non-empty-title": {
|
|---|
| 1070 | "pass": "Element hat ein Kind, welches ein Titel ist.",
|
|---|
| 1071 | "fail": {
|
|---|
| 1072 | "noTitle": "Element hat ein Kind, welches kein Titel ist.",
|
|---|
| 1073 | "emptyTitle": "Das Kind des Elements, welches ein Titel ist, ist leer."
|
|---|
| 1074 | },
|
|---|
| 1075 | "incomplete": "Es ist nicht möglich zu ermitteln ob das Element ein Kind hat, welches ein Titel ist."
|
|---|
| 1076 | },
|
|---|
| 1077 | "caption-faked": {
|
|---|
| 1078 | "pass": "Die erste Zeile der Tabelle wird nicht als Tabellenüberschrift verwendet.",
|
|---|
| 1079 | "fail": "Die erste Zeile der Tabelle sollte nicht als Tabellenüberschrift verwendet werden."
|
|---|
| 1080 | },
|
|---|
| 1081 | "html5-scope": {
|
|---|
| 1082 | "pass": "Das scope-Attribut wird nur für Tabellenkopfzellen (<th>) verwendet.",
|
|---|
| 1083 | "fail": "In HTML5 dürfen scope-Attribute lediglich für Tabellenkopfzellen (<th>) verwendet werden."
|
|---|
| 1084 | },
|
|---|
| 1085 | "same-caption-summary": {
|
|---|
| 1086 | "pass": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind nicht identisch.",
|
|---|
| 1087 | "fail": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind identisch.",
|
|---|
| 1088 | "incomplete": "Es kann nicht festgestellt werden, ob das <table>-Element eine Überschrift hat."
|
|---|
| 1089 | },
|
|---|
| 1090 | "scope-value": {
|
|---|
| 1091 | "pass": "Das scope-Attribut wird korrekt verwendet.",
|
|---|
| 1092 | "fail": "Das <td>-Element besitzt ein scope-Attribut. In HTML5 dürfen scope-Attribute jedoch lediglich für Tabellenkopfzellen <th> verwendet werden."
|
|---|
| 1093 | },
|
|---|
| 1094 | "td-has-header": {
|
|---|
| 1095 | "pass": "Alle nichtleeren Datenzellen haben eine Tabellenkopfzelle.",
|
|---|
| 1096 | "fail": "Nicht alle (nichtleeren) Datenzellen haben eine Tabellenkopfzelle."
|
|---|
| 1097 | },
|
|---|
| 1098 | "td-headers-attr": {
|
|---|
| 1099 | "pass": "Das headers-Attribut wird ausschließlich dafür verwendet, um auf andere Kopfzellen in der Tabelle zu verweisen.",
|
|---|
| 1100 | "incomplete": "Das headers-Attribut ist leer.",
|
|---|
| 1101 | "fail": {
|
|---|
| 1102 | "cell-header-not-in-table": "Das headers-Attribut wird nicht ausschließlich dafür verwendet, um auf andere Kopfzellen in der Tabelle zu verweisen.",
|
|---|
| 1103 | "cell-header-not-th": "Das headers-Attribut muss auf Kopfzellen verweisen, nicht auf Datenzellen.",
|
|---|
| 1104 | "header-refs-self": "Das Element mit dem headers-Attribut verweist auf sich selbst."
|
|---|
| 1105 | }
|
|---|
| 1106 | },
|
|---|
| 1107 | "th-has-data-cells": {
|
|---|
| 1108 | "pass": "Alle Tabellenkopfzellen beziehen sich auf Datenzellen.",
|
|---|
| 1109 | "fail": "Nicht alle Tabellenkopfzellen beziehen sich auf Datenzellen.",
|
|---|
| 1110 | "incomplete": "Datenzellen der Tabelle fehlen oder sind leer."
|
|---|
| 1111 | },
|
|---|
| 1112 | "hidden-content": {
|
|---|
| 1113 | "pass": "Jeglicher Inhalt der Seite wurde analysiert.",
|
|---|
| 1114 | "fail": "Beim Analysieren der Inhalte auf dieser Seite sind Probleme aufgetreten.",
|
|---|
| 1115 | "incomplete": "Auf der Seite befinden sich versteckte Inhalte, die nicht analysiert werden konnten. Um den Inhalt analysieren zu können, müssen Sie die Anzeige dieser Inhalte auslösen."
|
|---|
| 1116 | }
|
|---|
| 1117 | },
|
|---|
| 1118 | "failureSummaries": {
|
|---|
| 1119 | "any": {
|
|---|
| 1120 | "failureMessage": "Korrigiere mindestens einen der folgenden Punkte:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
|
|---|
| 1121 | },
|
|---|
| 1122 | "none": {
|
|---|
| 1123 | "failureMessage": "Korrigiere alle der folgenden Punkte:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
|
|---|
| 1124 | }
|
|---|
| 1125 | },
|
|---|
| 1126 | "incompleteFallbackMessage": "axe konnte den Grund nicht ermitteln. Versuchen Sie es mit dem Element Inspector."
|
|---|
| 1127 | }
|
|---|