govuk_publishing_components 41.1.0 → 41.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/component_guide/application.scss +6 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/_cards.scss +13 -1
- data/app/assets/stylesheets/govuk_publishing_components/components/_inverse-header.scss +12 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/_layout-footer.scss +8 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/_layout-header.scss +22 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/_layout-super-navigation-header.scss +12 -6
- data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-header.scss +14 -1
- data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-related.scss +24 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/_table.scss +32 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/_tabs.scss +32 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_attachment.scss +25 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_button.scss +17 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_highlight-answer.scss +11 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_media-player.scss +6 -0
- data/app/views/govuk_publishing_components/components/_attachment.html.erb +2 -0
- data/app/views/govuk_publishing_components/components/_cards.html.erb +6 -1
- data/app/views/govuk_publishing_components/components/_layout_header.html.erb +4 -4
- data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_table.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/attachment/_thumbnail_external.html.erb +3 -0
- data/app/views/govuk_publishing_components/components/docs/cards.yml +14 -34
- data/app/views/govuk_publishing_components/components/layout_header/_navigation_items.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/layout_header/_search.html.erb +1 -1
- data/lib/govuk_publishing_components/presenters/attachment_helper.rb +4 -0
- data/lib/govuk_publishing_components/version.rb +1 -1
- data/node_modules/axe-core/axe.d.ts +18 -5
- data/node_modules/axe-core/axe.js +757 -716
- data/node_modules/axe-core/axe.min.js +2 -2
- data/node_modules/axe-core/locales/_template.json +101 -96
- data/node_modules/axe-core/locales/de.json +12 -5
- data/node_modules/axe-core/locales/ja.json +15 -7
- data/node_modules/axe-core/package.json +14 -10
- data/node_modules/axe-core/sri-history.json +4 -0
- metadata +3 -2
@@ -2,19 +2,19 @@
|
|
2
2
|
"lang": "xyz",
|
3
3
|
"rules": {
|
4
4
|
"accesskeys": {
|
5
|
-
"description": "
|
5
|
+
"description": "Ensure every accesskey attribute value is unique",
|
6
6
|
"help": "accesskey attribute value should be unique"
|
7
7
|
},
|
8
8
|
"area-alt": {
|
9
|
-
"description": "
|
9
|
+
"description": "Ensure <area> elements of image maps have alternate text",
|
10
10
|
"help": "Active <area> elements must have alternate text"
|
11
11
|
},
|
12
12
|
"aria-allowed-attr": {
|
13
|
-
"description": "
|
13
|
+
"description": "Ensure an element's role supports its ARIA attributes",
|
14
14
|
"help": "Elements must only use supported ARIA attributes"
|
15
15
|
},
|
16
16
|
"aria-allowed-role": {
|
17
|
-
"description": "
|
17
|
+
"description": "Ensure role attribute has an appropriate value for the element",
|
18
18
|
"help": "ARIA role should be appropriate for the element"
|
19
19
|
},
|
20
20
|
"aria-braille-equivalent": {
|
@@ -22,55 +22,55 @@
|
|
22
22
|
"help": "aria-braille attributes must have a non-braille equivalent"
|
23
23
|
},
|
24
24
|
"aria-command-name": {
|
25
|
-
"description": "
|
25
|
+
"description": "Ensure every ARIA button, link and menuitem has an accessible name",
|
26
26
|
"help": "ARIA commands must have an accessible name"
|
27
27
|
},
|
28
28
|
"aria-conditional-attr": {
|
29
|
-
"description": "
|
29
|
+
"description": "Ensure ARIA attributes are used as described in the specification of the element's role",
|
30
30
|
"help": "ARIA attributes must be used as specified for the element's role"
|
31
31
|
},
|
32
32
|
"aria-deprecated-role": {
|
33
|
-
"description": "
|
33
|
+
"description": "Ensure elements do not use deprecated roles",
|
34
34
|
"help": "Deprecated ARIA roles must not be used"
|
35
35
|
},
|
36
36
|
"aria-dialog-name": {
|
37
|
-
"description": "
|
37
|
+
"description": "Ensure every ARIA dialog and alertdialog node has an accessible name",
|
38
38
|
"help": "ARIA dialog and alertdialog nodes should have an accessible name"
|
39
39
|
},
|
40
40
|
"aria-hidden-body": {
|
41
|
-
"description": "
|
41
|
+
"description": "Ensure aria-hidden=\"true\" is not present on the document body.",
|
42
42
|
"help": "aria-hidden=\"true\" must not be present on the document body"
|
43
43
|
},
|
44
44
|
"aria-hidden-focus": {
|
45
|
-
"description": "
|
45
|
+
"description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
|
46
46
|
"help": "ARIA hidden element must not be focusable or contain focusable elements"
|
47
47
|
},
|
48
48
|
"aria-input-field-name": {
|
49
|
-
"description": "
|
49
|
+
"description": "Ensure every ARIA input field has an accessible name",
|
50
50
|
"help": "ARIA input fields must have an accessible name"
|
51
51
|
},
|
52
52
|
"aria-meter-name": {
|
53
|
-
"description": "
|
53
|
+
"description": "Ensure every ARIA meter node has an accessible name",
|
54
54
|
"help": "ARIA meter nodes must have an accessible name"
|
55
55
|
},
|
56
56
|
"aria-progressbar-name": {
|
57
|
-
"description": "
|
57
|
+
"description": "Ensure every ARIA progressbar node has an accessible name",
|
58
58
|
"help": "ARIA progressbar nodes must have an accessible name"
|
59
59
|
},
|
60
60
|
"aria-prohibited-attr": {
|
61
|
-
"description": "
|
61
|
+
"description": "Ensure ARIA attributes are not prohibited for an element's role",
|
62
62
|
"help": "Elements must only use permitted ARIA attributes"
|
63
63
|
},
|
64
64
|
"aria-required-attr": {
|
65
|
-
"description": "
|
65
|
+
"description": "Ensure elements with ARIA roles have all required ARIA attributes",
|
66
66
|
"help": "Required ARIA attributes must be provided"
|
67
67
|
},
|
68
68
|
"aria-required-children": {
|
69
|
-
"description": "
|
69
|
+
"description": "Ensure elements with an ARIA role that require child roles contain them",
|
70
70
|
"help": "Certain ARIA roles must contain particular children"
|
71
71
|
},
|
72
72
|
"aria-required-parent": {
|
73
|
-
"description": "
|
73
|
+
"description": "Ensure elements with an ARIA role that require parent roles are contained by them",
|
74
74
|
"help": "Certain ARIA roles must be contained by particular parents"
|
75
75
|
},
|
76
76
|
"aria-roledescription": {
|
@@ -78,35 +78,35 @@
|
|
78
78
|
"help": "aria-roledescription must be on elements with a semantic role"
|
79
79
|
},
|
80
80
|
"aria-roles": {
|
81
|
-
"description": "
|
81
|
+
"description": "Ensure all elements with a role attribute use a valid value",
|
82
82
|
"help": "ARIA roles used must conform to valid values"
|
83
83
|
},
|
84
84
|
"aria-text": {
|
85
|
-
"description": "
|
85
|
+
"description": "Ensure role=\"text\" is used on elements with no focusable descendants",
|
86
86
|
"help": "\"role=text\" should have no focusable descendants"
|
87
87
|
},
|
88
88
|
"aria-toggle-field-name": {
|
89
|
-
"description": "
|
89
|
+
"description": "Ensure every ARIA toggle field has an accessible name",
|
90
90
|
"help": "ARIA toggle fields must have an accessible name"
|
91
91
|
},
|
92
92
|
"aria-tooltip-name": {
|
93
|
-
"description": "
|
93
|
+
"description": "Ensure every ARIA tooltip node has an accessible name",
|
94
94
|
"help": "ARIA tooltip nodes must have an accessible name"
|
95
95
|
},
|
96
96
|
"aria-treeitem-name": {
|
97
|
-
"description": "
|
97
|
+
"description": "Ensure every ARIA treeitem node has an accessible name",
|
98
98
|
"help": "ARIA treeitem nodes should have an accessible name"
|
99
99
|
},
|
100
100
|
"aria-valid-attr-value": {
|
101
|
-
"description": "
|
101
|
+
"description": "Ensure all ARIA attributes have valid values",
|
102
102
|
"help": "ARIA attributes must conform to valid values"
|
103
103
|
},
|
104
104
|
"aria-valid-attr": {
|
105
|
-
"description": "
|
105
|
+
"description": "Ensure attributes that begin with aria- are valid ARIA attributes",
|
106
106
|
"help": "ARIA attributes must conform to valid names"
|
107
107
|
},
|
108
108
|
"audio-caption": {
|
109
|
-
"description": "
|
109
|
+
"description": "Ensure <audio> elements have captions",
|
110
110
|
"help": "<audio> elements must have a captions track"
|
111
111
|
},
|
112
112
|
"autocomplete-valid": {
|
@@ -118,87 +118,87 @@
|
|
118
118
|
"help": "Inline text spacing must be adjustable with custom stylesheets"
|
119
119
|
},
|
120
120
|
"blink": {
|
121
|
-
"description": "
|
121
|
+
"description": "Ensure <blink> elements are not used",
|
122
122
|
"help": "<blink> elements are deprecated and must not be used"
|
123
123
|
},
|
124
124
|
"button-name": {
|
125
|
-
"description": "
|
125
|
+
"description": "Ensure buttons have discernible text",
|
126
126
|
"help": "Buttons must have discernible text"
|
127
127
|
},
|
128
128
|
"bypass": {
|
129
|
-
"description": "
|
129
|
+
"description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
|
130
130
|
"help": "Page must have means to bypass repeated blocks"
|
131
131
|
},
|
132
132
|
"color-contrast-enhanced": {
|
133
|
-
"description": "
|
133
|
+
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AAA enhanced contrast ratio thresholds",
|
134
134
|
"help": "Elements must meet enhanced color contrast ratio thresholds"
|
135
135
|
},
|
136
136
|
"color-contrast": {
|
137
|
-
"description": "
|
137
|
+
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
|
138
138
|
"help": "Elements must meet minimum color contrast ratio thresholds"
|
139
139
|
},
|
140
140
|
"css-orientation-lock": {
|
141
|
-
"description": "
|
141
|
+
"description": "Ensure content is not locked to any specific display orientation, and the content is operable in all display orientations",
|
142
142
|
"help": "CSS Media queries must not lock display orientation"
|
143
143
|
},
|
144
144
|
"definition-list": {
|
145
|
-
"description": "
|
145
|
+
"description": "Ensure <dl> elements are structured correctly",
|
146
146
|
"help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements"
|
147
147
|
},
|
148
148
|
"dlitem": {
|
149
|
-
"description": "
|
149
|
+
"description": "Ensure <dt> and <dd> elements are contained by a <dl>",
|
150
150
|
"help": "<dt> and <dd> elements must be contained by a <dl>"
|
151
151
|
},
|
152
152
|
"document-title": {
|
153
|
-
"description": "
|
153
|
+
"description": "Ensure each HTML document contains a non-empty <title> element",
|
154
154
|
"help": "Documents must have <title> element to aid in navigation"
|
155
155
|
},
|
156
156
|
"duplicate-id-active": {
|
157
|
-
"description": "
|
157
|
+
"description": "Ensure every id attribute value of active elements is unique",
|
158
158
|
"help": "IDs of active elements must be unique"
|
159
159
|
},
|
160
160
|
"duplicate-id-aria": {
|
161
|
-
"description": "
|
161
|
+
"description": "Ensure every id attribute value used in ARIA and in labels is unique",
|
162
162
|
"help": "IDs used in ARIA and labels must be unique"
|
163
163
|
},
|
164
164
|
"duplicate-id": {
|
165
|
-
"description": "
|
165
|
+
"description": "Ensure every id attribute value is unique",
|
166
166
|
"help": "id attribute value must be unique"
|
167
167
|
},
|
168
168
|
"empty-heading": {
|
169
|
-
"description": "
|
169
|
+
"description": "Ensure headings have discernible text",
|
170
170
|
"help": "Headings should not be empty"
|
171
171
|
},
|
172
172
|
"empty-table-header": {
|
173
|
-
"description": "
|
173
|
+
"description": "Ensure table headers have discernible text",
|
174
174
|
"help": "Table header text should not be empty"
|
175
175
|
},
|
176
176
|
"focus-order-semantics": {
|
177
|
-
"description": "
|
177
|
+
"description": "Ensure elements in the focus order have a role appropriate for interactive content",
|
178
178
|
"help": "Elements in the focus order should have an appropriate role"
|
179
179
|
},
|
180
180
|
"form-field-multiple-labels": {
|
181
|
-
"description": "
|
181
|
+
"description": "Ensure form field does not have multiple label elements",
|
182
182
|
"help": "Form field must not have multiple label elements"
|
183
183
|
},
|
184
184
|
"frame-focusable-content": {
|
185
|
-
"description": "
|
185
|
+
"description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
|
186
186
|
"help": "Frames with focusable content must not have tabindex=-1"
|
187
187
|
},
|
188
188
|
"frame-tested": {
|
189
|
-
"description": "
|
189
|
+
"description": "Ensure <iframe> and <frame> elements contain the axe-core script",
|
190
190
|
"help": "Frames should be tested with axe-core"
|
191
191
|
},
|
192
192
|
"frame-title-unique": {
|
193
|
-
"description": "
|
193
|
+
"description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
|
194
194
|
"help": "Frames must have a unique title attribute"
|
195
195
|
},
|
196
196
|
"frame-title": {
|
197
|
-
"description": "
|
197
|
+
"description": "Ensure <iframe> and <frame> elements have an accessible name",
|
198
198
|
"help": "Frames must have an accessible name"
|
199
199
|
},
|
200
200
|
"heading-order": {
|
201
|
-
"description": "
|
201
|
+
"description": "Ensure the order of headings is semantically correct",
|
202
202
|
"help": "Heading levels should only increase by one"
|
203
203
|
},
|
204
204
|
"hidden-content": {
|
@@ -206,11 +206,11 @@
|
|
206
206
|
"help": "Hidden content on the page should be analyzed"
|
207
207
|
},
|
208
208
|
"html-has-lang": {
|
209
|
-
"description": "
|
209
|
+
"description": "Ensure every HTML document has a lang attribute",
|
210
210
|
"help": "<html> element must have a lang attribute"
|
211
211
|
},
|
212
212
|
"html-lang-valid": {
|
213
|
-
"description": "
|
213
|
+
"description": "Ensure the lang attribute of the <html> element has a valid value",
|
214
214
|
"help": "<html> element must have a valid value for the lang attribute"
|
215
215
|
},
|
216
216
|
"html-xml-lang-mismatch": {
|
@@ -222,7 +222,7 @@
|
|
222
222
|
"help": "Links with the same name must have a similar purpose"
|
223
223
|
},
|
224
224
|
"image-alt": {
|
225
|
-
"description": "
|
225
|
+
"description": "Ensure <img> elements have alternate text or a role of none or presentation",
|
226
226
|
"help": "Images must have alternate text"
|
227
227
|
},
|
228
228
|
"image-redundant-alt": {
|
@@ -230,107 +230,107 @@
|
|
230
230
|
"help": "Alternative text of images should not be repeated as text"
|
231
231
|
},
|
232
232
|
"input-button-name": {
|
233
|
-
"description": "
|
233
|
+
"description": "Ensure input buttons have discernible text",
|
234
234
|
"help": "Input buttons must have discernible text"
|
235
235
|
},
|
236
236
|
"input-image-alt": {
|
237
|
-
"description": "
|
237
|
+
"description": "Ensure <input type=\"image\"> elements have alternate text",
|
238
238
|
"help": "Image buttons must have alternate text"
|
239
239
|
},
|
240
240
|
"label-content-name-mismatch": {
|
241
|
-
"description": "
|
241
|
+
"description": "Ensure that elements labelled through their content must have their visible text as part of their accessible name",
|
242
242
|
"help": "Elements must have their visible text as part of their accessible name"
|
243
243
|
},
|
244
244
|
"label-title-only": {
|
245
|
-
"description": "
|
245
|
+
"description": "Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes",
|
246
246
|
"help": "Form elements should have a visible label"
|
247
247
|
},
|
248
248
|
"label": {
|
249
|
-
"description": "
|
249
|
+
"description": "Ensure every form element has a label",
|
250
250
|
"help": "Form elements must have labels"
|
251
251
|
},
|
252
252
|
"landmark-banner-is-top-level": {
|
253
|
-
"description": "
|
253
|
+
"description": "Ensure the banner landmark is at top level",
|
254
254
|
"help": "Banner landmark should not be contained in another landmark"
|
255
255
|
},
|
256
256
|
"landmark-complementary-is-top-level": {
|
257
|
-
"description": "
|
257
|
+
"description": "Ensure the complementary landmark or aside is at top level",
|
258
258
|
"help": "Aside should not be contained in another landmark"
|
259
259
|
},
|
260
260
|
"landmark-contentinfo-is-top-level": {
|
261
|
-
"description": "
|
261
|
+
"description": "Ensure the contentinfo landmark is at top level",
|
262
262
|
"help": "Contentinfo landmark should not be contained in another landmark"
|
263
263
|
},
|
264
264
|
"landmark-main-is-top-level": {
|
265
|
-
"description": "
|
265
|
+
"description": "Ensure the main landmark is at top level",
|
266
266
|
"help": "Main landmark should not be contained in another landmark"
|
267
267
|
},
|
268
268
|
"landmark-no-duplicate-banner": {
|
269
|
-
"description": "
|
269
|
+
"description": "Ensure the document has at most one banner landmark",
|
270
270
|
"help": "Document should not have more than one banner landmark"
|
271
271
|
},
|
272
272
|
"landmark-no-duplicate-contentinfo": {
|
273
|
-
"description": "
|
273
|
+
"description": "Ensure the document has at most one contentinfo landmark",
|
274
274
|
"help": "Document should not have more than one contentinfo landmark"
|
275
275
|
},
|
276
276
|
"landmark-no-duplicate-main": {
|
277
|
-
"description": "
|
277
|
+
"description": "Ensure the document has at most one main landmark",
|
278
278
|
"help": "Document should not have more than one main landmark"
|
279
279
|
},
|
280
280
|
"landmark-one-main": {
|
281
|
-
"description": "
|
281
|
+
"description": "Ensure the document has a main landmark",
|
282
282
|
"help": "Document should have one main landmark"
|
283
283
|
},
|
284
284
|
"landmark-unique": {
|
285
|
-
"
|
286
|
-
"
|
285
|
+
"description": "Ensure landmarks are unique",
|
286
|
+
"help": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination"
|
287
287
|
},
|
288
288
|
"link-in-text-block": {
|
289
289
|
"description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
|
290
290
|
"help": "Links must be distinguishable without relying on color"
|
291
291
|
},
|
292
292
|
"link-name": {
|
293
|
-
"description": "
|
293
|
+
"description": "Ensure links have discernible text",
|
294
294
|
"help": "Links must have discernible text"
|
295
295
|
},
|
296
296
|
"list": {
|
297
|
-
"description": "
|
297
|
+
"description": "Ensure that lists are structured correctly",
|
298
298
|
"help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements"
|
299
299
|
},
|
300
300
|
"listitem": {
|
301
|
-
"description": "
|
301
|
+
"description": "Ensure <li> elements are used semantically",
|
302
302
|
"help": "<li> elements must be contained in a <ul> or <ol>"
|
303
303
|
},
|
304
304
|
"marquee": {
|
305
|
-
"description": "
|
305
|
+
"description": "Ensure <marquee> elements are not used",
|
306
306
|
"help": "<marquee> elements are deprecated and must not be used"
|
307
307
|
},
|
308
308
|
"meta-refresh-no-exceptions": {
|
309
|
-
"description": "
|
309
|
+
"description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
|
310
310
|
"help": "Delayed refresh must not be used"
|
311
311
|
},
|
312
312
|
"meta-refresh": {
|
313
|
-
"description": "
|
313
|
+
"description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
|
314
314
|
"help": "Delayed refresh under 20 hours must not be used"
|
315
315
|
},
|
316
316
|
"meta-viewport-large": {
|
317
|
-
"description": "
|
317
|
+
"description": "Ensure <meta name=\"viewport\"> can scale a significant amount",
|
318
318
|
"help": "Users should be able to zoom and scale the text up to 500%"
|
319
319
|
},
|
320
320
|
"meta-viewport": {
|
321
|
-
"description": "
|
321
|
+
"description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
|
322
322
|
"help": "Zooming and scaling must not be disabled"
|
323
323
|
},
|
324
324
|
"nested-interactive": {
|
325
|
-
"description": "
|
325
|
+
"description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
|
326
326
|
"help": "Interactive controls must not be nested"
|
327
327
|
},
|
328
328
|
"no-autoplay-audio": {
|
329
|
-
"description": "
|
329
|
+
"description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
|
330
330
|
"help": "<video> or <audio> elements must not play automatically"
|
331
331
|
},
|
332
332
|
"object-alt": {
|
333
|
-
"description": "
|
333
|
+
"description": "Ensure <object> elements have alternate text",
|
334
334
|
"help": "<object> elements must have alternate text"
|
335
335
|
},
|
336
336
|
"p-as-heading": {
|
@@ -346,15 +346,15 @@
|
|
346
346
|
"help": "Ensure elements marked as presentational are consistently ignored"
|
347
347
|
},
|
348
348
|
"region": {
|
349
|
-
"description": "
|
349
|
+
"description": "Ensure all page content is contained by landmarks",
|
350
350
|
"help": "All page content should be contained by landmarks"
|
351
351
|
},
|
352
352
|
"role-img-alt": {
|
353
|
-
"description": "
|
353
|
+
"description": "Ensure [role=\"img\"] elements have alternate text",
|
354
354
|
"help": "[role=\"img\"] elements must have an alternative text"
|
355
355
|
},
|
356
356
|
"scope-attr-valid": {
|
357
|
-
"description": "
|
357
|
+
"description": "Ensure the scope attribute is used correctly on tables",
|
358
358
|
"help": "scope attribute should be used correctly"
|
359
359
|
},
|
360
360
|
"scrollable-region-focusable": {
|
@@ -362,35 +362,39 @@
|
|
362
362
|
"help": "Scrollable region must have keyboard access"
|
363
363
|
},
|
364
364
|
"select-name": {
|
365
|
-
"description": "
|
365
|
+
"description": "Ensure select element has an accessible name",
|
366
366
|
"help": "Select element must have an accessible name"
|
367
367
|
},
|
368
368
|
"server-side-image-map": {
|
369
|
-
"description": "
|
369
|
+
"description": "Ensure that server-side image maps are not used",
|
370
370
|
"help": "Server-side image maps must not be used"
|
371
371
|
},
|
372
372
|
"skip-link": {
|
373
373
|
"description": "Ensure all skip links have a focusable target",
|
374
374
|
"help": "The skip-link target should exist and be focusable"
|
375
375
|
},
|
376
|
+
"summary-name": {
|
377
|
+
"description": "Ensure summary elements have discernible text",
|
378
|
+
"help": "Summary elements must have discernible text"
|
379
|
+
},
|
376
380
|
"svg-img-alt": {
|
377
|
-
"description": "
|
381
|
+
"description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
|
378
382
|
"help": "<svg> elements with an img role must have an alternative text"
|
379
383
|
},
|
380
384
|
"tabindex": {
|
381
|
-
"description": "
|
385
|
+
"description": "Ensure tabindex attribute values are not greater than 0",
|
382
386
|
"help": "Elements should not have tabindex greater than zero"
|
383
387
|
},
|
384
388
|
"table-duplicate-name": {
|
385
389
|
"description": "Ensure the <caption> element does not contain the same text as the summary attribute",
|
386
|
-
"help": "
|
390
|
+
"help": "Tables should not have the same summary and caption"
|
387
391
|
},
|
388
392
|
"table-fake-caption": {
|
389
393
|
"description": "Ensure that tables with a caption use the <caption> element.",
|
390
394
|
"help": "Data or header cells must not be used to give caption to a data table."
|
391
395
|
},
|
392
396
|
"target-size": {
|
393
|
-
"description": "Ensure touch
|
397
|
+
"description": "Ensure touch targets have sufficient size and space",
|
394
398
|
"help": "All touch targets must be 24px large, or leave sufficient space"
|
395
399
|
},
|
396
400
|
"td-has-header": {
|
@@ -406,11 +410,11 @@
|
|
406
410
|
"help": "Table headers in a data table must refer to data cells"
|
407
411
|
},
|
408
412
|
"valid-lang": {
|
409
|
-
"description": "
|
413
|
+
"description": "Ensure lang attributes have valid values",
|
410
414
|
"help": "lang attribute must have a valid value"
|
411
415
|
},
|
412
416
|
"video-caption": {
|
413
|
-
"description": "
|
417
|
+
"description": "Ensure <video> elements have captions",
|
414
418
|
"help": "<video> elements must have captions"
|
415
419
|
}
|
416
420
|
},
|
@@ -461,9 +465,9 @@
|
|
461
465
|
"hidden": "aria-errormessage value `${data.values}` cannot reference a hidden element"
|
462
466
|
},
|
463
467
|
"incomplete": {
|
464
|
-
"singular": "
|
465
|
-
"plural": "
|
466
|
-
"idrefs": "
|
468
|
+
"singular": "Ensure aria-errormessage value `${data.values}` references an existing element",
|
469
|
+
"plural": "Ensure aria-errormessage values `${data.values}` reference existing elements",
|
470
|
+
"idrefs": "Unable to determine if aria-errormessage element exists on the page: ${data.values}"
|
467
471
|
}
|
468
472
|
},
|
469
473
|
"aria-hidden-body": {
|
@@ -678,12 +682,13 @@
|
|
678
682
|
}
|
679
683
|
},
|
680
684
|
"autocomplete-appropriate": {
|
681
|
-
"pass": "
|
682
|
-
"fail": "
|
685
|
+
"pass": "The autocomplete value is on an appropriate element",
|
686
|
+
"fail": "The autocomplete value is inappropriate for this type of input"
|
683
687
|
},
|
684
688
|
"autocomplete-valid": {
|
685
689
|
"pass": "the autocomplete attribute is correctly formatted",
|
686
|
-
"fail": "the autocomplete attribute is incorrectly formatted"
|
690
|
+
"fail": "the autocomplete attribute is incorrectly formatted",
|
691
|
+
"incomplete": "the autocomplete attribute has a non-standard value. Check whether any standard value could be used instead."
|
687
692
|
},
|
688
693
|
"accesskeys": {
|
689
694
|
"pass": "Accesskey attribute value is unique",
|
@@ -961,7 +966,7 @@
|
|
961
966
|
"aria-labelledby": {
|
962
967
|
"pass": "aria-labelledby attribute exists and references elements that are visible to screen readers",
|
963
968
|
"fail": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty",
|
964
|
-
"incomplete": "
|
969
|
+
"incomplete": "Ensure aria-labelledby references an existing element"
|
965
970
|
},
|
966
971
|
"avoid-inline-spacing": {
|
967
972
|
"pass": "No inline styles with '!important' that affect text spacing has been specified",
|
@@ -1044,7 +1049,7 @@
|
|
1044
1049
|
}
|
1045
1050
|
},
|
1046
1051
|
"presentational-role": {
|
1047
|
-
"pass": "Element's default semantics were
|
1052
|
+
"pass": "Element's default semantics were overridden with role=\"${data.role}\"",
|
1048
1053
|
"fail": {
|
1049
1054
|
"default": "Element's default semantics were not overridden with role=\"none\" or role=\"presentation\"",
|
1050
1055
|
"globalAria": "Element's role is not presentational because it has a global ARIA attribute",
|
@@ -1054,11 +1059,11 @@
|
|
1054
1059
|
}
|
1055
1060
|
},
|
1056
1061
|
"role-none": {
|
1057
|
-
"pass": "Element's default semantics were
|
1062
|
+
"pass": "Element's default semantics were overridden with role=\"none\"",
|
1058
1063
|
"fail": "Element's default semantics were not overridden with role=\"none\""
|
1059
1064
|
},
|
1060
1065
|
"role-presentation": {
|
1061
|
-
"pass": "Element's default semantics were
|
1066
|
+
"pass": "Element's default semantics were overridden with role=\"presentation\"",
|
1062
1067
|
"fail": "Element's default semantics were not overridden with role=\"presentation\""
|
1063
1068
|
},
|
1064
1069
|
"svg-non-empty-title": {
|
@@ -282,8 +282,8 @@
|
|
282
282
|
"help": "Seite muss eine main landmark enthalten."
|
283
283
|
},
|
284
284
|
"landmark-unique": {
|
285
|
-
"
|
286
|
-
"
|
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
287
|
},
|
288
288
|
"link-in-text-block": {
|
289
289
|
"description": "Stellt sicher, dass Links vom umgebenden Text nicht allein durch die Farbe unterschieden werden können.",
|
@@ -373,6 +373,10 @@
|
|
373
373
|
"description": "Stellt sicher, dass alle Skip-Links ein fokussierbares Ziel enthalten.",
|
374
374
|
"help": "Das Ziel eines Skip-Links sollte existieren und fokussierbar sein."
|
375
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
|
+
},
|
376
380
|
"svg-img-alt": {
|
377
381
|
"description": "Stellt sicher, dass <svg> Elemente mit einer img, graphics-document oder graphics-symbol Rolle einen zugänglichen Namen (accessible name) besitzen.",
|
378
382
|
"help": "<svg> Elemente mit einer img Rolle sollten einen Alternativtext besitzen."
|
@@ -538,7 +542,8 @@
|
|
538
542
|
"noIdShadow": "ARIA-Attribut Element-ID existiert nicht auf der Seite oder ist ein Nachkomme (descendant) eines anderen Schatten-DOM-tree: ${data.needsReview}",
|
539
543
|
"ariaCurrent": "Folgendes ARIA Attributwert ist ungültig und wird wie \"aria-current=true\" gesehen: ${data.needsReview}",
|
540
544
|
"idrefs": "Es konnte nicht festgestellt werden, ob das ARIA-Attribut element ID auf der Seite existiert: ${data.needsReview}",
|
541
|
-
"empty": "ARIA-Attributwert wird ignoriert, wenn leer: ${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}"
|
542
547
|
}
|
543
548
|
},
|
544
549
|
"aria-valid-attr": {
|
@@ -682,7 +687,8 @@
|
|
682
687
|
},
|
683
688
|
"autocomplete-valid": {
|
684
689
|
"pass": "Der Wert des autocomplete Attributes ist korrekt formatiert.",
|
685
|
-
"fail": "Der Wert des autocomplete Attributes ist inkorrekt 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."
|
686
692
|
},
|
687
693
|
"accesskeys": {
|
688
694
|
"pass": "Alle accesskey-Attribute sind einzigartig.",
|
@@ -872,7 +878,8 @@
|
|
872
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.",
|
873
879
|
"incomplete": {
|
874
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?",
|
875
|
-
"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?"
|
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."
|
876
883
|
}
|
877
884
|
},
|
878
885
|
"target-size": {
|