govuk_publishing_components 38.1.1 → 38.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/govuk_publishing_components/crests/no10_crest_18px_x2.png +0 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-core.js +14 -7
- data/app/assets/javascripts/govuk_publishing_components/components/feedback.js +0 -38
- data/app/assets/javascripts/govuk_publishing_components/vendor/lux/lux-measurer.js +1 -1
- data/app/assets/javascripts/govuk_publishing_components/vendor/lux/lux-reporter.js +143 -84
- data/app/assets/stylesheets/govuk_publishing_components/components/_organisation-logo.scss +4 -0
- data/app/views/govuk_publishing_components/components/_layout_for_public.html.erb +5 -0
- data/app/views/govuk_publishing_components/components/_share_links.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/docs/layout_for_public.yml +16 -0
- data/app/views/govuk_publishing_components/components/docs/organisation_logo.yml +9 -2
- data/app/views/govuk_publishing_components/components/feedback/_survey_signup_form.html.erb +7 -45
- data/config/locales/ar.yml +1 -1
- data/config/locales/az.yml +1 -1
- data/config/locales/be.yml +1 -1
- data/config/locales/bg.yml +1 -1
- data/config/locales/bn.yml +1 -1
- data/config/locales/cs.yml +1 -1
- data/config/locales/cy.yml +1 -1
- data/config/locales/da.yml +1 -1
- data/config/locales/de.yml +1 -1
- data/config/locales/dr.yml +1 -1
- data/config/locales/el.yml +1 -1
- data/config/locales/en.yml +1 -1
- data/config/locales/es-419.yml +1 -1
- data/config/locales/es.yml +1 -1
- data/config/locales/et.yml +1 -1
- data/config/locales/fa.yml +1 -1
- data/config/locales/fi.yml +1 -1
- data/config/locales/fr.yml +1 -1
- data/config/locales/gd.yml +1 -1
- data/config/locales/gu.yml +1 -1
- data/config/locales/he.yml +1 -1
- data/config/locales/hi.yml +1 -1
- data/config/locales/hr.yml +1 -1
- data/config/locales/hu.yml +1 -1
- data/config/locales/hy.yml +1 -1
- data/config/locales/id.yml +1 -1
- data/config/locales/is.yml +1 -1
- data/config/locales/it.yml +1 -1
- data/config/locales/ja.yml +1 -1
- data/config/locales/ka.yml +1 -1
- data/config/locales/kk.yml +1 -1
- data/config/locales/lt.yml +1 -1
- data/config/locales/lv.yml +1 -1
- data/config/locales/ms.yml +1 -1
- data/config/locales/mt.yml +1 -1
- data/config/locales/nl.yml +1 -1
- data/config/locales/no.yml +1 -1
- data/config/locales/pa-pk.yml +1 -1
- data/config/locales/pa.yml +1 -1
- data/config/locales/pl.yml +1 -1
- data/config/locales/ps.yml +1 -1
- data/config/locales/pt.yml +1 -1
- data/config/locales/ro.yml +1 -1
- data/config/locales/ru.yml +1 -1
- data/config/locales/si.yml +1 -1
- data/config/locales/sk.yml +1 -1
- data/config/locales/sl.yml +1 -1
- data/config/locales/so.yml +1 -1
- data/config/locales/sq.yml +1 -1
- data/config/locales/sr.yml +1 -1
- data/config/locales/sv.yml +1 -1
- data/config/locales/sw.yml +1 -1
- data/config/locales/ta.yml +1 -1
- data/config/locales/th.yml +1 -1
- data/config/locales/tk.yml +1 -1
- data/config/locales/tr.yml +1 -1
- data/config/locales/uk.yml +1 -1
- data/config/locales/ur.yml +1 -1
- data/config/locales/uz.yml +1 -1
- data/config/locales/vi.yml +1 -1
- data/config/locales/zh-hk.yml +1 -1
- data/config/locales/zh-tw.yml +1 -1
- data/config/locales/zh.yml +1 -1
- data/lib/govuk_publishing_components/version.rb +1 -1
- data/node_modules/axe-core/README.md +7 -3
- data/node_modules/axe-core/axe.js +11587 -10370
- data/node_modules/axe-core/axe.min.js +2 -2
- data/node_modules/axe-core/locales/_template.json +13 -5
- data/node_modules/axe-core/locales/da.json +3 -1
- data/node_modules/axe-core/locales/de.json +207 -31
- data/node_modules/axe-core/locales/el.json +1069 -0
- data/node_modules/axe-core/locales/es.json +3 -1
- data/node_modules/axe-core/locales/eu.json +3 -1
- data/node_modules/axe-core/locales/fr.json +3 -1
- data/node_modules/axe-core/locales/he.json +3 -1
- data/node_modules/axe-core/locales/it.json +1108 -0
- data/node_modules/axe-core/locales/ja.json +3 -1
- data/node_modules/axe-core/locales/ko.json +3 -1
- data/node_modules/axe-core/locales/no_NB.json +3 -1
- data/node_modules/axe-core/locales/pl.json +3 -1
- data/node_modules/axe-core/locales/pt_BR.json +3 -1
- data/node_modules/axe-core/locales/zh_CN.json +1116 -0
- data/node_modules/axe-core/locales/zh_TW.json +1108 -0
- data/node_modules/axe-core/package.json +19 -21
- data/node_modules/axe-core/sri-history.json +4 -0
- metadata +9 -4
@@ -497,7 +497,10 @@
|
|
497
497
|
}
|
498
498
|
},
|
499
499
|
"aria-required-children": {
|
500
|
-
"pass":
|
500
|
+
"pass": {
|
501
|
+
"default": "Required ARIA children are present",
|
502
|
+
"aria-busy": "Element has an aria-busy attribute, so it is allowed to omit required children"
|
503
|
+
},
|
501
504
|
"fail": {
|
502
505
|
"singular": "Required ARIA child role not present: ${data.values}",
|
503
506
|
"plural": "Required ARIA children role not present: ${data.values}",
|
@@ -819,7 +822,7 @@
|
|
819
822
|
"pass": "List item has a <ul>, <ol> or role=\"list\" parent element",
|
820
823
|
"fail": {
|
821
824
|
"default": "List item does not have a <ul>, <ol> parent element",
|
822
|
-
"roleNotValid": "List item
|
825
|
+
"roleNotValid": "List item parent element has a role that is not role=\"list\""
|
823
826
|
}
|
824
827
|
},
|
825
828
|
"only-dlitems": {
|
@@ -862,7 +865,10 @@
|
|
862
865
|
"fail": "${data} on <meta> tag disables zooming on mobile devices"
|
863
866
|
},
|
864
867
|
"target-offset": {
|
865
|
-
"pass":
|
868
|
+
"pass": {
|
869
|
+
"default": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px which is at least ${data.minOffset}px.",
|
870
|
+
"large": "Target far exceeds the minimum size of ${data.minOffset}px."
|
871
|
+
},
|
866
872
|
"fail": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px.",
|
867
873
|
"incomplete": {
|
868
874
|
"default": "Element with negative tabindex has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px. Is this a target?",
|
@@ -872,7 +878,8 @@
|
|
872
878
|
"target-size": {
|
873
879
|
"pass": {
|
874
880
|
"default": "Control has sufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)",
|
875
|
-
"obscured": "Control is ignored because it is fully obscured and thus not clickable"
|
881
|
+
"obscured": "Control is ignored because it is fully obscured and thus not clickable",
|
882
|
+
"large": "Target far exceeds the minimum size of ${data.minSize}px."
|
876
883
|
},
|
877
884
|
"fail": {
|
878
885
|
"default": "Target has insufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)",
|
@@ -882,7 +889,8 @@
|
|
882
889
|
"default": "Element with negative tabindex has insufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is this a target?",
|
883
890
|
"contentOverflow": "Element size could not be accurately determined due to overflow content",
|
884
891
|
"partiallyObscured": "Element with negative tabindex has insufficient size because it is partially obscured (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is this a target?",
|
885
|
-
"partiallyObscuredNonTabbable": "Target has insufficient size because it is partially obscured by a neighbor with negative tabindex (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is the neighbor a target?"
|
892
|
+
"partiallyObscuredNonTabbable": "Target has insufficient size because it is partially obscured by a neighbor with negative tabindex (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is the neighbor a target?",
|
893
|
+
"tooManyRects": "Could not get the target size because there are too many overlapping elements"
|
886
894
|
}
|
887
895
|
},
|
888
896
|
"header-present": {
|
@@ -385,7 +385,9 @@
|
|
385
385
|
}
|
386
386
|
},
|
387
387
|
"aria-required-children": {
|
388
|
-
"pass":
|
388
|
+
"pass": {
|
389
|
+
"default": "Krævet ARIA-under-elementer er til stede"
|
390
|
+
},
|
389
391
|
"fail": {
|
390
392
|
"singular": "Krævet ARIA-under-elementers rolle er ikke til stede: ${data.values}",
|
391
393
|
"plural": "Krævet ARIA-under-elements rolle er ikke til stede: ${data.values}"
|
@@ -17,10 +17,22 @@
|
|
17
17
|
"description": "Stellt sicher, dass der Wert des role-Attributes für dieses Element geeignet ist.",
|
18
18
|
"help": "Der Wert des role-Attributes muss für dieses Element geeignet sein."
|
19
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
|
+
},
|
20
24
|
"aria-command-name": {
|
21
25
|
"description": "Stellt sicher, dass jeder ARIA-button, -link und jedes -menuitem einen zugänglichen Namen (accessible name) hat.",
|
22
26
|
"help": "ARIA Befehle müssen einen zugänglichen Namen (accessible name) besitzen."
|
23
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
|
+
},
|
24
36
|
"aria-dialog-name": {
|
25
37
|
"description": "Stellt sicher, dass jeder ARIA-dialog und -alertdialog Knoten einen zugänglichen Namen (accessible name) hat.",
|
26
38
|
"help": "ARIA-dialog und -alertdialog Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
|
@@ -45,6 +57,10 @@
|
|
45
57
|
"description": "Stellt sicher, dass jeder ARIA-progressbar Knoten einen zugänglichen Namen (accessible name) besitzt.",
|
46
58
|
"help": "ARIA-progressbar Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
|
47
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
|
+
},
|
48
64
|
"aria-required-attr": {
|
49
65
|
"description": "Stellt sicher, dass Elemente mit ARIA-Rollen alle erforderlichen ARIA-Attribute besitzen.",
|
50
66
|
"help": "Erforderliche ARIA-Attribute müssen bereitgestellt werden."
|
@@ -65,6 +81,10 @@
|
|
65
81
|
"description": "Stellt sicher, dass alle Elemente mit einer ARIA-Rolle auch einen gültigen Wert verwenden.",
|
66
82
|
"help": "Verwendete ARIA-Rollen müssen gültigen Werten entsprechen."
|
67
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
|
+
},
|
68
88
|
"aria-toggle-field-name": {
|
69
89
|
"description": "Stellt sicher, dass jedes ARIA-toggle-Feld ein zugänglichen Namen (accessible name) besitzt.",
|
70
90
|
"help": "ARIA-toggle-Felder benötigen einen zugänglichen Namen (accessible name)."
|
@@ -109,14 +129,14 @@
|
|
109
129
|
"description": "Stellt sicher, dass jede Seite mindestens ein Mittel bereitstellt, welches dem Nutzer erlaubt direkt zum Inhalt der Seite zu springen.",
|
110
130
|
"help": "Wiederholende Blöcke müssen vom Nutzer mit Hilfe von der Seite bereitgestellten Mitteln übersprungen werden können."
|
111
131
|
},
|
112
|
-
"color-contrast": {
|
113
|
-
"description": "Stellt sicher, dass der Kontrast zwischen Vorder- und Hintergrundfarbe den in der WCAG 2 als AA ausgewiesenen Kontrastgrenzwerten entspricht.",
|
114
|
-
"help": "Elemente müssen einen ausreichenden Farbkontrast haben."
|
115
|
-
},
|
116
132
|
"color-contrast-enhanced": {
|
117
133
|
"description": "Stellt sicher, dass der Kontrast zwischen Vorder- und Hintergrundfarbe den in der WCAG 2 als AAA ausgewiesenen Kontrastgrenzwerten entspricht.",
|
118
134
|
"help": "Elemente müssen einen ausreichenden Farbkontrast haben."
|
119
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
|
+
},
|
120
140
|
"css-orientation-lock": {
|
121
141
|
"description": "Stellt sicher, dass der Inhalt nicht nur auf einer sondern auf allen spezifischen Bildschirmausrichtungen angezeigt werden kann.",
|
122
142
|
"help": "CSS Media Queries dürfen nicht genutzt werden um die Bildschirmausrichtung zu sperren."
|
@@ -149,6 +169,10 @@
|
|
149
169
|
"description": "Stellt sicher, dass Überschriften einen wahrnehmbaren Text beinhalten.",
|
150
170
|
"help": "Überschriften dürfen nichtleer sein."
|
151
171
|
},
|
172
|
+
"empty-table-header": {
|
173
|
+
"description": "Stellt sicher, dass Tabellenkopfzeilen einen wahrnehmbaren Text beinhalten.",
|
174
|
+
"help": "Tabellenkopfzeilen sollten nicht leer sein."
|
175
|
+
},
|
152
176
|
"focus-order-semantics": {
|
153
177
|
"description": "Stellt sicher, dass Elemente in der Fokusreihenfolge eine geeignete Rolle besitzen.",
|
154
178
|
"help": "Elemente in der Fokusreihenfolge benötigen eine Rolle, die für interaktive Elemente geeignet ist."
|
@@ -157,6 +181,10 @@
|
|
157
181
|
"description": "Stellt sicher, dass ein form-Feld nur ein label-Element besitzt.",
|
158
182
|
"help": "form-Felder sollten nur ein label-Element besitzen."
|
159
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
|
+
},
|
160
188
|
"frame-tested": {
|
161
189
|
"description": "Stellt sicher, dass <iframe> und <frame>-Elemente das axe-core Script beinhalten.",
|
162
190
|
"help": "Frames müssen mit axe-core getestet werden."
|
@@ -202,8 +230,8 @@
|
|
202
230
|
"help": "Der Alternativtext von Bildern sollte nicht als Text wiederholt werden."
|
203
231
|
},
|
204
232
|
"input-button-name": {
|
205
|
-
"description": "Stellt sicher, dass Eingabeschaltflächen
|
206
|
-
"help": "Eingabeschaltflächen müssen
|
233
|
+
"description": "Stellt sicher, dass Eingabeschaltflächen wahrnehmbaren Text beinhalten.",
|
234
|
+
"help": "Eingabeschaltflächen müssen wahrnehmbaren Text beinhalten."
|
207
235
|
},
|
208
236
|
"input-image-alt": {
|
209
237
|
"description": "Stellt sicher, dass <input type=\"image\">-Elemente einen Alternativtext besitzen.",
|
@@ -254,16 +282,16 @@
|
|
254
282
|
"help": "Seite muss eine main landmark enthalten."
|
255
283
|
},
|
256
284
|
"landmark-unique": {
|
257
|
-
"
|
258
|
-
"
|
285
|
+
"help": "Stellt sicher, dass landmarks einzigartig sind.",
|
286
|
+
"description": "Landmarks müssen eine einzigartige role oder role/label/title Kombination (bzw. zugänglicher Name / accessible name) besitzen."
|
259
287
|
},
|
260
288
|
"link-in-text-block": {
|
261
289
|
"description": "Stellt sicher, dass Links vom umgebenden Text nicht allein durch die Farbe unterschieden werden können.",
|
262
290
|
"help": "Links müssen vom umgebenden Text auf eine Weise unterschieden werden können, die nicht allein auf Farbe beruht."
|
263
291
|
},
|
264
292
|
"link-name": {
|
265
|
-
"description": "Stellt sicher, dass Links wahrnehmbaren Text
|
266
|
-
"help": "Links müssen wahrnehmbaren Text
|
293
|
+
"description": "Stellt sicher, dass Links wahrnehmbaren Text beinhalten.",
|
294
|
+
"help": "Links müssen wahrnehmbaren Text beinhalten."
|
267
295
|
},
|
268
296
|
"list": {
|
269
297
|
"description": "Stellt sicher, dass Listen korrekt strukturiert sind.",
|
@@ -277,6 +305,10 @@
|
|
277
305
|
"description": "Stellt sicher, dass <marquee>-Elemente nicht verwendet werden.",
|
278
306
|
"help": "<marquee>-Elemente sind veraltet und dürfen nicht verwendet werden."
|
279
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
|
+
},
|
280
312
|
"meta-refresh": {
|
281
313
|
"description": "Stellt sicher, dass <meta http-equiv=\"refresh\"> nicht verwendet werden.",
|
282
314
|
"help": "Eine zeitgesteuerte Aktualisierung (refresh) sollte nicht verwendet werden."
|
@@ -289,6 +321,10 @@
|
|
289
321
|
"description": "Stellt sicher, dass <meta name=\"viewport\"> Textskalierung und -zoom nicht verhindert werden.",
|
290
322
|
"help": "Zoomen und Skalieren darf nicht deaktiviert werden."
|
291
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
|
+
},
|
292
328
|
"no-autoplay-audio": {
|
293
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.",
|
294
330
|
"help": "<video> oder <audio> Elemente geben keine Töne automatisch aus."
|
@@ -353,6 +389,10 @@
|
|
353
389
|
"description": "Stellt sicher, dass Tabellen mit einer Beschriftung auch das <caption>-Element verwenden.",
|
354
390
|
"help": "Daten- oder Kopfzellen sollten nicht verwendet werden, um einer Datentabelle eine Überschrift zu geben."
|
355
391
|
},
|
392
|
+
"target-size": {
|
393
|
+
"description": "Stellt sicher, dass Berührungsobjekte (touch targets) ausreichend groß sind und genügend Platz bieteen.",
|
394
|
+
"help": "Alle Berührungsobjekte (touch targets) müssen 24 Pixel groß sein oder ausreichend Platz lassen."
|
395
|
+
},
|
356
396
|
"td-has-header": {
|
357
397
|
"description": "Stellt sicher, dass jede nichtleere Zelle einer Tabelle ein oder mehrere Tabellenköpfe haben.",
|
358
398
|
"help": "In Tabellen, die größer als 3 mal 3 sind, müssen alle nichtleeren <td>-Elemente einen zugehörigen Tabellenkopf haben."
|
@@ -387,7 +427,8 @@
|
|
387
427
|
"fail": {
|
388
428
|
"singular": "Folgendes ARIA Attribut ist nicht erlaubt: ${data.values}",
|
389
429
|
"plural": "Folgende ARIA Attribute sind nicht erlaubt: ${data.values}"
|
390
|
-
}
|
430
|
+
},
|
431
|
+
"incomplete": "Prüfe, dass es kein Problem gibt, wenn das ARIA-Attribut bei diesem Element ignoriert wird: ${data.values}"
|
391
432
|
},
|
392
433
|
"aria-allowed-role": {
|
393
434
|
"pass": "ARIA Rolle ist für dieses Element erlaubt.",
|
@@ -400,21 +441,54 @@
|
|
400
441
|
"plural": "ARIA Rollen ${data.values} müssen entfernt werden, wenn das Element sichtbar wird, da sie nicht für dieses Element erlaubt sind."
|
401
442
|
}
|
402
443
|
},
|
444
|
+
"aria-busy": {
|
445
|
+
"pass": "Element hat ein aria-busy-Attribut.",
|
446
|
+
"fail": "Element verwendet aria-busy=\"true\" bei der Anzeige eines Ladevorgangs (loader)."
|
447
|
+
},
|
448
|
+
"aria-conditional-attr": {
|
449
|
+
"pass": "ARIA-Attribut ist erlaubt.",
|
450
|
+
"fail": {
|
451
|
+
"checkbox": "Entferne aria-checked, oder setze es auf \"${data.checkState}\", damit es dem tatsächlichen Zustand des Kontrollkästchens entspricht.",
|
452
|
+
"rowSingular": "Dieses Attribut wird bei treegrid-Zeilen unterstützt, aber nicht bei ${data.ownerRole}: ${data.invalidAttrs}.",
|
453
|
+
"rowPlural": "Diese Attribute werden von treegrid-Zeilen unterstützt, aber nicht von ${data.ownerRole}: ${data.invalidAttrs}"
|
454
|
+
}
|
455
|
+
},
|
403
456
|
"aria-errormessage": {
|
404
457
|
"pass": "aria-errormessage Attribut existiert und referenziert Elemente, die sichtbar für Screen Reader sind, welche die entsprechende Technologie unterstützen.",
|
405
458
|
"fail": {
|
406
459
|
"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.).",
|
407
|
-
"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.)."
|
460
|
+
"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.).",
|
461
|
+
"hidden": "aria-errormessage Wert `${data.values}` kann nicht auf ein verstecktes Element verweisen."
|
408
462
|
},
|
409
463
|
"incomplete": {
|
410
464
|
"singular": "Stellt sicher, dass aria-errormessage Wert `${data.values}` zu einem existierendem Element verweist.",
|
411
|
-
"plural": "Stellt sicher, dass aria-errormessage Werte `${data.values}` zu existierenden Elementen verweisen."
|
465
|
+
"plural": "Stellt sicher, dass aria-errormessage Werte `${data.values}` zu existierenden Elementen verweisen.",
|
466
|
+
"idrefs": "Es konnte nicht festgestellt werden, ob das Element aria-errormessage auf der Seite existiert: ${data.values}"
|
412
467
|
}
|
413
468
|
},
|
414
469
|
"aria-hidden-body": {
|
415
470
|
"pass": "Kein aria-hidden Attribut ist im <body>-Element des Dokuments vorhanden.",
|
416
471
|
"fail": "Das <body>-Element des Dokumentes darf nicht das Attribut aria-hidden=\"true\" besitzen."
|
417
472
|
},
|
473
|
+
"aria-level": {
|
474
|
+
"pass": "aria-level Werte sind gültig.",
|
475
|
+
"incomplete": "Aria-Level Werte größer als 6 werden nicht von allen Screenreader- und Browser-Kombinationen unterstützt."
|
476
|
+
},
|
477
|
+
"aria-prohibited-attr": {
|
478
|
+
"pass": "ARIA-Attribut ist erlaubt",
|
479
|
+
"fail": {
|
480
|
+
"hasRolePlural": "${data.prohibited} Attribute können nicht mit der Rolle \"${data.role}\" verwendet werden.",
|
481
|
+
"hasRoleSingular": "${data.prohibited} Attribut kann nicht mit der Rolle \"${data.role}\" verwendet werden.",
|
482
|
+
"noRolePlural": "${data.prohibited} Attribute können nicht auf ${data.nodeName} ohne gültiges role Attribut verwendet werden.",
|
483
|
+
"noRoleSingular": "${data.prohibited} Attribut kann nicht auf ${data.nodeName} ohne gültiges role Attribut verwendet werden."
|
484
|
+
},
|
485
|
+
"incomplete": {
|
486
|
+
"hasRoleSingular": "${data.prohibited} Attribut wird von der Rolle \"${data.role}\" nicht gut unterstützt.",
|
487
|
+
"hasRolePlural": "${data.prohibited} Attribute werden von der Rolle \"${data.role}\" nicht gut unterstützt.",
|
488
|
+
"noRoleSingular": "${data.prohibited} Attribut wird bei ${data.nodeName} ohne gültiges role Attribute nicht gut unterstützt.",
|
489
|
+
"noRolePlural": "${data.prohibited} Attribute werdeb bei ${data.nodeName} ohne gültiges role Attribute nicht gut unterstützt."
|
490
|
+
}
|
491
|
+
},
|
418
492
|
"aria-required-attr": {
|
419
493
|
"pass": "Alle benötigten ARIA-Attribute sind vorhanden.",
|
420
494
|
"fail": {
|
@@ -423,10 +497,13 @@
|
|
423
497
|
}
|
424
498
|
},
|
425
499
|
"aria-required-children": {
|
426
|
-
"pass":
|
500
|
+
"pass": {
|
501
|
+
"default": "Alle benötigten ARIA Kinder sind vorhanden."
|
502
|
+
},
|
427
503
|
"fail": {
|
428
504
|
"singular": "Benötigte ARIA Kindrolle nicht vorhanden: ${data.values}",
|
429
|
-
"plural": "Benötigte ARIA Kindrollen nicht vorhanden: ${data.values}"
|
505
|
+
"plural": "Benötigte ARIA Kindrollen nicht vorhanden: ${data.values}",
|
506
|
+
"unallowed": "Element hat Kinder, die nicht erlaubt sind: ${data.values}"
|
430
507
|
},
|
431
508
|
"incomplete": {
|
432
509
|
"singular": "Entsprechende ARIA Kindrolle muss hinzugefügt werden: ${data.values}",
|
@@ -457,7 +534,10 @@
|
|
457
534
|
},
|
458
535
|
"incomplete": {
|
459
536
|
"noId": "Verwendete ID im ARIA Attribut existiert nicht auf der Seite: ${data.needsReview}",
|
460
|
-
"
|
537
|
+
"noIdShadow": "ARIA-Attribut Element-ID existiert nicht auf der Seite oder ist ein Nachkomme (descendant) eines anderen Schatten-DOM-tree: ${data.needsReview}",
|
538
|
+
"ariaCurrent": "Folgendes ARIA Attributwert ist ungültig und wird wie \"aria-current=true\" gesehen: ${data.needsReview}",
|
539
|
+
"idrefs": "Es konnte nicht festgestellt werden, ob das ARIA-Attribut element ID auf der Seite existiert: ${data.needsReview}",
|
540
|
+
"empty": "ARIA-Attributwert wird ignoriert, wenn leer: ${data.needsReview}"
|
461
541
|
}
|
462
542
|
},
|
463
543
|
"aria-valid-attr": {
|
@@ -467,9 +547,26 @@
|
|
467
547
|
"plural": "Ungültige ARIA Attribut Namen: ${data.values}"
|
468
548
|
}
|
469
549
|
},
|
550
|
+
"braille-label-equivalent": {
|
551
|
+
"pass": "aria-braillelabel wird für ein Element mit zugänglichem Text verwendet.",
|
552
|
+
"fail": "aria-braillelabel wird für ein Element ohne zugänglichen Text verwendet.",
|
553
|
+
"incomplete": "Zugänglicher Text kann nicht berechnet werden."
|
554
|
+
},
|
555
|
+
"braille-roledescription-equivalent": {
|
556
|
+
"pass": "aria-brailleroledescription wird für ein Element mit aria-roledescription verwendet.",
|
557
|
+
"fail": {
|
558
|
+
"noRoleDescription": "aria-brailleroledescription wird für ein Element ohne aria-roledescription verwendet.",
|
559
|
+
"emptyRoleDescription": "aria-brailleroledescription wird für ein Element mit einer leeren aria-roledescription verwendet."
|
560
|
+
}
|
561
|
+
},
|
562
|
+
"deprecatedrole": {
|
563
|
+
"pass": "ARIA Rolle ist nicht veraltet.",
|
564
|
+
"fail": "Die verwendete Rolle ist veraltet: ${data}"
|
565
|
+
},
|
470
566
|
"fallbackrole": {
|
471
567
|
"pass": "Nur ein Wert für role genutzt.",
|
472
|
-
"fail": "Es sollte nur ein Wert für role benutzt werden, da Fallback-Werte in älteren Browsern nicht unterstützt werden."
|
568
|
+
"fail": "Es sollte nur ein Wert für role benutzt werden, da Fallback-Werte in älteren Browsern nicht unterstützt werden.",
|
569
|
+
"incomplete": "Verwende nur die Rolle 'presentation' oder 'none', da sie synonym sind."
|
473
570
|
},
|
474
571
|
"has-global-aria-attribute": {
|
475
572
|
"pass": {
|
@@ -505,9 +602,13 @@
|
|
505
602
|
"pass": "Das Element hat eine gültige Semantik für ein Element in der Fokusreihenfolge.",
|
506
603
|
"fail": "Das Element hat eine ungültige Semantik für ein Element in der Fokusreihenfolge."
|
507
604
|
},
|
508
|
-
"color-contrast": {
|
605
|
+
"color-contrast-enhanced": {
|
509
606
|
"pass": "Das Element hat einen ausreichenden Kontrast von ${data.contrastRatio}.",
|
510
|
-
"fail":
|
607
|
+
"fail": {
|
608
|
+
"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}",
|
609
|
+
"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}",
|
610
|
+
"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}"
|
611
|
+
},
|
511
612
|
"incomplete": {
|
512
613
|
"default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
|
513
614
|
"bgImage": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
|
@@ -524,15 +625,23 @@
|
|
524
625
|
"pseudoContent": "Die Hintergrundfarbe konnte aufgrund eines pseudo Elementes nicht bestimmt werden."
|
525
626
|
}
|
526
627
|
},
|
527
|
-
"color-contrast
|
528
|
-
"pass":
|
529
|
-
|
628
|
+
"color-contrast": {
|
629
|
+
"pass": {
|
630
|
+
"default": "Das Element hat einen ausreichenden Kontrast von ${data.contrastRatio}.",
|
631
|
+
"hidden": "Das Element ist verstec"
|
632
|
+
},
|
633
|
+
"fail": {
|
634
|
+
"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}",
|
635
|
+
"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}",
|
636
|
+
"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}"
|
637
|
+
},
|
530
638
|
"incomplete": {
|
531
639
|
"default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
|
532
640
|
"bgImage": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
|
533
641
|
"bgGradient": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
|
534
642
|
"imgNode": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
|
535
643
|
"bgOverlap": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da es von einem anderen Element überlagert wird.",
|
644
|
+
"complexTextShadows": "Der Kontrast des Elements konnte nicht bestimmt werden, da es komplexe Textschatten verwendet.",
|
536
645
|
"fgAlpha": "Die Vordergrundfarbe des Elementes konnte aufgrund der Alpha-Transparenz nicht ermittelt werden.",
|
537
646
|
"elmPartiallyObscured": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise von anderen Elementen überdeckt wird.",
|
538
647
|
"elmPartiallyObscuring": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise andere Elemente überdeckt.",
|
@@ -543,9 +652,20 @@
|
|
543
652
|
"pseudoContent": "Die Hintergrundfarbe konnte aufgrund eines pseudo Elementes nicht bestimmt werden."
|
544
653
|
}
|
545
654
|
},
|
655
|
+
"link-in-text-block-style": {
|
656
|
+
"pass": "Links können durch visuelle Gestaltung vom umgebenden Text unterschieden werden.",
|
657
|
+
"incomplete": {
|
658
|
+
"default": "Prüfe, ob der Link ein Styling benötigt, um sich vom umgebenden Text zu unterscheiden.",
|
659
|
+
"pseudoContent": "Prüfe, ob der Pseudostil des Links ausreicht, um ihn vom umgebenden Text zu unterscheiden."
|
660
|
+
},
|
661
|
+
"fail": "Der Link hat kein Styling (z.B. Unterstreichung), um ihn vom umgebenden Text zu unterscheiden."
|
662
|
+
},
|
546
663
|
"link-in-text-block": {
|
547
664
|
"pass": "Links können vom umgebenenden Text auf unterschiedliche Art und Weise unterschieden werden.",
|
548
|
-
"fail":
|
665
|
+
"fail": {
|
666
|
+
"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}).",
|
667
|
+
"bgContrast": "Der Link-Hintergrund hat einen unzureichenden Kontrast von ${data.contrastRatio} (Mindestkontrast ist ${data.requiredContrastRatio}:1, Link-Hintergrundfarbe: ${data.nodeBackgroundColor}, umgebende Hintergrundfarbe: ${data.parentBackgroundColor})."
|
668
|
+
},
|
549
669
|
"incomplete": {
|
550
670
|
"default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
|
551
671
|
"bgContrast": "Das Kontrastverhältnis des Elements konnte nicht bestimmt werden. Suchen Sie nach einem bestimmten Hover/Fokus-Stil.",
|
@@ -573,6 +693,7 @@
|
|
573
693
|
},
|
574
694
|
"focusable-disabled": {
|
575
695
|
"pass": "Das Element beeinhaltet keinen fokussierbaren Inhalt.",
|
696
|
+
"incomplete": "Prüfe, ob die fokussierbaren Elemente den Fokusindikator sofort bewegen.",
|
576
697
|
"fail": "Fokussierbarer Inhalt sollte deaktiviert oder vom DOM entfernt werden."
|
577
698
|
},
|
578
699
|
"focusable-element": {
|
@@ -590,12 +711,26 @@
|
|
590
711
|
},
|
591
712
|
"focusable-not-tabbable": {
|
592
713
|
"pass": "Keine fokussierbaren Elemente innerhalb des Elements.",
|
714
|
+
"incomplete": "Prüfe, ob die fokussierbaren Elemente den Fokusindikator sofort bewegen.",
|
593
715
|
"fail": "Fokussierbare Elemente sollten mit tabindex='-1' versehen oder vom DOM entfernt werden."
|
594
716
|
},
|
717
|
+
"frame-focusable-content": {
|
718
|
+
"pass": "Element hat keine fokussierbaren Nachkommen (descendants).",
|
719
|
+
"fail": "Element hat fokussierbare Nachkommen (descendants).",
|
720
|
+
"incomplete": "Es konnte nicht festgestellt werden, ob das Element Nachkommen (descendants) hat."
|
721
|
+
},
|
595
722
|
"landmark-is-top-level": {
|
596
723
|
"pass": "Die ${data.role} landmark befindet sich auf höchster Ebene.",
|
597
724
|
"fail": "Die ${data.role} landmark befindet sich innerhalb einer anderen landmark."
|
598
725
|
},
|
726
|
+
"no-focusable-content": {
|
727
|
+
"pass": "Element hat keine fokussierbaren Nachkommen (descendants).",
|
728
|
+
"fail": {
|
729
|
+
"default": "Element hat fokussierbare Nachkommen (descendants).",
|
730
|
+
"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\")"
|
731
|
+
},
|
732
|
+
"incomplete": "Es konnte nicht festgestellt werden, ob das Element Nachkommen (descendants) hat."
|
733
|
+
},
|
599
734
|
"page-has-heading-one": {
|
600
735
|
"pass": "Die Seite besitzt mindestens eine Überschrift der ersten Ebene.",
|
601
736
|
"fail": "Die Seite muss eine Überschrift erster Ebene besitzen."
|
@@ -695,10 +830,7 @@
|
|
695
830
|
},
|
696
831
|
"only-listitems": {
|
697
832
|
"pass": "Das Aufzählungselement besitzt Kinder, welche innerhalb eines <li>-Elements erlaubt sind.",
|
698
|
-
"fail": {
|
699
|
-
"default": "Aufzählungselement besitzt Kinder, welche innerhalb eines <li>-Elements nicht erlaubt sind.",
|
700
|
-
"roleNotValid": "Aufzählungselement besitzt Kinder, welche folgende nicht erlaubte Rollen besitzen: ${data.roles}"
|
701
|
-
}
|
833
|
+
"fail": "Das Aufzählungselement besitzt Kinder, die nicht erlaubt sind: ${data.values}"
|
702
834
|
},
|
703
835
|
"structured-dlitems": {
|
704
836
|
"pass": "Das Definitionslisten-Element enthält sowohl <dt> als auch <dd>-Elemente, falls es nichtleer sein sollte.",
|
@@ -731,13 +863,38 @@
|
|
731
863
|
"pass": "Der <meta>-Tag blockiert das Zoomen auf mobilen Geräten nicht.",
|
732
864
|
"fail": "Die viewport-Einstellungen im <meta>-Tag blockieren das Zoomen auf mobilen Geräten."
|
733
865
|
},
|
866
|
+
"target-offset": {
|
867
|
+
"pass": "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.",
|
868
|
+
"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.",
|
869
|
+
"incomplete": {
|
870
|
+
"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?",
|
871
|
+
"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?"
|
872
|
+
}
|
873
|
+
},
|
874
|
+
"target-size": {
|
875
|
+
"pass": {
|
876
|
+
"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).",
|
877
|
+
"obscured": "Das Steuerelement wird ignoriert, da es vollständig verdeckt ist und daher nicht angeklickt werden kann."
|
878
|
+
},
|
879
|
+
"fail": {
|
880
|
+
"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).",
|
881
|
+
"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)."
|
882
|
+
},
|
883
|
+
"incomplete": {
|
884
|
+
"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?",
|
885
|
+
"contentOverflow": "Elementgröße konnte aufgrund von Überlaufinhalten nicht genau bestimmt werden",
|
886
|
+
"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?",
|
887
|
+
"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?"
|
888
|
+
}
|
889
|
+
},
|
734
890
|
"header-present": {
|
735
891
|
"pass": "Die Seite besitzt eine Seitenüberschrift.",
|
736
892
|
"fail": "Die Seite besitzt keine Seitenüberschrift."
|
737
893
|
},
|
738
894
|
"heading-order": {
|
739
895
|
"pass": "Die Überschriftenstruktur ist gültig.",
|
740
|
-
"fail": "Die Überschriftenstruktur ist nicht valide."
|
896
|
+
"fail": "Die Überschriftenstruktur ist nicht valide.",
|
897
|
+
"incomplete": "Vorherige Überschrift kann nicht ermittelt werden."
|
741
898
|
},
|
742
899
|
"identical-links-same-purpose": {
|
743
900
|
"pass": "Es befinden sich keine Links auf der Seite, welche mit demselben Namen auf dasselbe Ziel verweisen.",
|
@@ -751,13 +908,18 @@
|
|
751
908
|
"pass": "Die Seite besitzt eine landmark region.",
|
752
909
|
"fail": "Die Seite besitzt keine landmark region."
|
753
910
|
},
|
911
|
+
"meta-refresh-no-exceptions": {
|
912
|
+
"pass": "<meta> Tag aktualisiert die Seite nicht sofort.",
|
913
|
+
"fail": "<meta> Tag erzwingt eine zeitgesteuerte Aktualisierung der Seite."
|
914
|
+
},
|
754
915
|
"meta-refresh": {
|
755
916
|
"pass": "Der <meta>-Tag erzwingt keine sofortige Aktualisierung der Seite.",
|
756
917
|
"fail": "Der <meta>-Tag erzwingt eine zeitgesteuerte Aktualisierung der Seite."
|
757
918
|
},
|
758
919
|
"p-as-heading": {
|
759
920
|
"pass": "<p>-Elemente werden nicht als Überschriftenelement zweckentfremdet.",
|
760
|
-
"fail": "Anstelle eines Überschriftenelementes wird lediglich ein durch Formatierungen hervorgehobenes <p>-Element verwendet."
|
921
|
+
"fail": "Anstelle eines Überschriftenelementes wird lediglich ein durch Formatierungen hervorgehobenes <p>-Element verwendet.",
|
922
|
+
"incomplete": "Es kann nicht festgestellt werden, ob <p>-Elemente als Überschriften gestylt sind."
|
761
923
|
},
|
762
924
|
"region": {
|
763
925
|
"pass": "Jeglicher Inhalt der Seite befindet sich in einer landmark.",
|
@@ -822,6 +984,18 @@
|
|
822
984
|
"fail": "Das Element besitzt keinen Text, der für Screenreader sichtbar ist.",
|
823
985
|
"incomplete": "Es ist nicht möglich zu ermitteln, ob das Element Kinder besitzt."
|
824
986
|
},
|
987
|
+
"important-letter-spacing": {
|
988
|
+
"pass": "letter-spacing im style-Attribut ist nicht auf !important gesetzt oder entspricht dem Minimum.",
|
989
|
+
"fail": "letter-spacing im style-Attribut darf nicht !important sein oder muss ${data.minValue}em (aktuell ${data.value}em) entsprechen."
|
990
|
+
},
|
991
|
+
"important-line-height": {
|
992
|
+
"pass": "line-height im style-Attribut ist nicht auf !important gesetzt oder entspricht dem Minimum.",
|
993
|
+
"fail": "line-height im style-Attribut darf nicht !important sein oder muss ${data.minValue}em (aktuell ${data.value}em) entsprechen."
|
994
|
+
},
|
995
|
+
"important-word-spacing": {
|
996
|
+
"pass": "word-spacing im style-Attribut ist nicht auf !important gesetzt oder entspricht dem Minimum.",
|
997
|
+
"fail": "word-spacing im style-Attribut darf nicht !important sein oder muss ${data.minValue}em (aktuell ${data.value}em) entsprechen."
|
998
|
+
},
|
825
999
|
"is-on-screen": {
|
826
1000
|
"pass": "Das Element ist nicht sichtbar.",
|
827
1001
|
"fail": "Das Element ist sichtbar."
|
@@ -867,7 +1041,8 @@
|
|
867
1041
|
"default": "Die Standardsemantik des Elements wurden nicht mit der Rolle role=\"none\" oder role=\"presentation\" überschrieben.",
|
868
1042
|
"globalAria": "Die Rolle des Elements ist nicht präsentativ aufgrund des globalen ARIA Attributs.",
|
869
1043
|
"focusable": "Die Rolle des Elements ist nicht präsentativ aufgrund der Möglichkeit es zu fokussieren.",
|
870
|
-
"both": "Die Rolle des Elements ist nicht präsentativ aufgrund des zugewiesenen globalen ARIA Attributs und der Möglichkeit es zu fokussieren."
|
1044
|
+
"both": "Die Rolle des Elements ist nicht präsentativ aufgrund des zugewiesenen globalen ARIA Attributs und der Möglichkeit es zu fokussieren.",
|
1045
|
+
"iframe": "Die Verwendung des \"title\"-Attributs auf einem ${data.nodeName}-Element mit einer Präsentationsrolle verhält sich inkonsistent zwischen Screenreadern."
|
871
1046
|
}
|
872
1047
|
},
|
873
1048
|
"role-none": {
|
@@ -896,7 +1071,8 @@
|
|
896
1071
|
},
|
897
1072
|
"same-caption-summary": {
|
898
1073
|
"pass": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind nicht identisch.",
|
899
|
-
"fail": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind identisch."
|
1074
|
+
"fail": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind identisch.",
|
1075
|
+
"incomplete": "Es kann nicht festgestellt werden, ob das <table>-Element eine Überschrift hat."
|
900
1076
|
},
|
901
1077
|
"scope-value": {
|
902
1078
|
"pass": "Das scope-Attribut wird korrekt verwendet.",
|