source: frontend/node_modules/axe-core/locales/de.json

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 67.4 KB
Line 
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}
Note: See TracBrowser for help on using the repository browser.