@axe-core/watcher 4.5.0 → 4.5.1-next.02b1b3eb

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/EXTENSION-LICENSES-3RD-PARTY.md +2 -2
  2. package/dist/Controller.js.map +1 -1
  3. package/dist/cypress/cypress.js +3 -2
  4. package/dist/cypress/cypress.js.map +1 -1
  5. package/dist/cypressCommands.js +4 -10
  6. package/dist/cypressCommands.js.map +1 -1
  7. package/dist/utils/assertVariablesWereWritten.d.ts +1 -1
  8. package/dist/utils/assertVariablesWereWritten.js +8 -7
  9. package/dist/utils/assertVariablesWereWritten.js.map +1 -1
  10. package/dist/utils/mergeChromeArgs.js +6 -5
  11. package/dist/utils/mergeChromeArgs.js.map +1 -1
  12. package/dist/utils/normalizeAllowedOrigins.d.ts +13 -0
  13. package/dist/utils/normalizeAllowedOrigins.js +49 -0
  14. package/dist/utils/normalizeAllowedOrigins.js.map +1 -0
  15. package/dist/utils/readVariables.js +3 -2
  16. package/dist/utils/readVariables.js.map +1 -1
  17. package/dist/utils/runExtensionDir.d.ts +43 -0
  18. package/dist/utils/runExtensionDir.js +86 -0
  19. package/dist/utils/runExtensionDir.js.map +1 -0
  20. package/dist/utils/sync-fetch.js +1 -0
  21. package/dist/utils/sync-fetch.js.map +1 -1
  22. package/dist/utils/test-constants.d.ts +1 -0
  23. package/dist/utils/test-constants.js +1 -0
  24. package/dist/utils/test-constants.js.map +1 -1
  25. package/dist/utils/writeExtensionManifest.js +2 -2
  26. package/dist/utils/writeExtensionManifest.js.map +1 -1
  27. package/dist/utils/writeVariables.d.ts +43 -1
  28. package/dist/utils/writeVariables.js +25 -2
  29. package/dist/utils/writeVariables.js.map +1 -1
  30. package/extension/axe-versions/axe-core@4.13.0/axe.min.js +12 -0
  31. package/extension/axe-versions/axe-core@4.13.0/gather-internals.js +219 -0
  32. package/extension/axe-versions/axe-core@4.13.0/locales/README.md +9 -0
  33. package/extension/axe-versions/axe-core@4.13.0/locales/_template.json +1157 -0
  34. package/extension/axe-versions/axe-core@4.13.0/locales/da.json +799 -0
  35. package/extension/axe-versions/axe-core@4.13.0/locales/de.json +1127 -0
  36. package/extension/axe-versions/axe-core@4.13.0/locales/el.json +1069 -0
  37. package/extension/axe-versions/axe-core@4.13.0/locales/es.json +790 -0
  38. package/extension/axe-versions/axe-core@4.13.0/locales/eu.json +789 -0
  39. package/extension/axe-versions/axe-core@4.13.0/locales/fr.json +994 -0
  40. package/extension/axe-versions/axe-core@4.13.0/locales/he.json +1017 -0
  41. package/extension/axe-versions/axe-core@4.13.0/locales/it.json +1108 -0
  42. package/extension/axe-versions/axe-core@4.13.0/locales/ja.json +1128 -0
  43. package/extension/axe-versions/axe-core@4.13.0/locales/ko.json +1003 -0
  44. package/extension/axe-versions/axe-core@4.13.0/locales/nb.json +799 -0
  45. package/extension/axe-versions/axe-core@4.13.0/locales/nl.json +48 -0
  46. package/extension/axe-versions/axe-core@4.13.0/locales/pl.json +1109 -0
  47. package/extension/axe-versions/axe-core@4.13.0/locales/pt_BR.json +970 -0
  48. package/extension/axe-versions/axe-core@4.13.0/locales/pt_PT.json +1123 -0
  49. package/extension/axe-versions/axe-core@4.13.0/locales/ru.json +1127 -0
  50. package/extension/axe-versions/axe-core@4.13.0/locales/sv.json +1147 -0
  51. package/extension/axe-versions/axe-core@4.13.0/locales/zh_CN.json +1116 -0
  52. package/extension/axe-versions/axe-core@4.13.0/locales/zh_TW.json +1108 -0
  53. package/extension/axe-versions-mapper.js +2 -0
  54. package/extension/axe.js +1 -1
  55. package/extension/axe.js.LICENSE.txt +1 -1
  56. package/extension/background.js +1 -1
  57. package/extension/content.js +1 -1
  58. package/extension/gather-internals.js +1 -1
  59. package/package.json +15 -19
@@ -0,0 +1,1147 @@
1
+ {
2
+ "lang": "sv",
3
+ "rules": {
4
+ "accesskeys": {
5
+ "description": "Säkerställ att värdet för varje accesskey-attribut är unikt",
6
+ "help": "Värdet för accesskey-attributet ska vara unikt"
7
+ },
8
+ "area-alt": {
9
+ "description": "Säkerställ att <area>-element i bildkartor har alternativ text",
10
+ "help": "Aktiva <area>-element måste ha alternativ text"
11
+ },
12
+ "aria-allowed-attr": {
13
+ "description": "Säkerställ att ett elements roll stöder dess ARIA-attribut",
14
+ "help": "Element får endast använda ARIA-attribut som stöds"
15
+ },
16
+ "aria-allowed-role": {
17
+ "description": "Säkerställ att rollattributet har ett lämpligt värde för elementet",
18
+ "help": "ARIA-rollen ska vara lämplig för elementet"
19
+ },
20
+ "aria-braille-equivalent": {
21
+ "description": "Säkerställ att aria-braillelabel och aria-brailleroledescription har en motsvarighet i vanlig text",
22
+ "help": "aria-braille-attribut måste ha en motsvarighet i vanlig text"
23
+ },
24
+ "aria-command-name": {
25
+ "description": "Säkerställ att varje ARIA-knapp, länk och menyalternativ har ett tillgängligt namn",
26
+ "help": "ARIA-kommandon måste ha ett tillgängligt namn"
27
+ },
28
+ "aria-conditional-attr": {
29
+ "description": "Säkerställ att ARIA-attribut används enligt specifikationen för elementets roll",
30
+ "help": "ARIA-attribut måste användas enligt specifikationen för elementets roll"
31
+ },
32
+ "aria-deprecated-role": {
33
+ "description": "Säkerställ att element inte använder föråldrade roller",
34
+ "help": "Föråldrade ARIA-roller får inte användas"
35
+ },
36
+ "aria-dialog-name": {
37
+ "description": "Säkerställ att varje ARIA-dialogruta och alertdialog-nod har ett tillgängligt namn",
38
+ "help": "ARIA-dialogrutor och alertdialog-noder ska ha ett tillgängligt namn"
39
+ },
40
+ "aria-hidden-body": {
41
+ "description": "Säkerställ att aria-hidden=\"true\" inte finns på dokumentets body-element.",
42
+ "help": "aria-hidden=\"true\" får inte finnas på dokumentets body-element"
43
+ },
44
+ "aria-hidden-focus": {
45
+ "description": "Säkerställ att aria-hidden-element inte är fokuserbara och inte heller innehåller fokuserbara element",
46
+ "help": "ARIA-hidden-element får inte vara fokuserbara eller innehålla fokuserbara element"
47
+ },
48
+ "aria-input-field-name": {
49
+ "description": "Säkerställ att varje ARIA-inmatningsfält har ett tillgängligt namn",
50
+ "help": "ARIA-inmatningsfält måste ha ett tillgängligt namn"
51
+ },
52
+ "aria-meter-name": {
53
+ "description": "Säkerställ att varje ARIA-meter-nod har ett tillgängligt namn",
54
+ "help": "ARIA-meter-noder måste ha ett tillgängligt namn"
55
+ },
56
+ "aria-progressbar-name": {
57
+ "description": "Säkerställ att varje ARIA-progressbar-nod har ett tillgängligt namn",
58
+ "help": "ARIA-progressbar-noder måste ha ett tillgängligt namn"
59
+ },
60
+ "aria-prohibited-attr": {
61
+ "description": "Säkerställ att ARIA-attribut inte är förbjudna för ett elements roll",
62
+ "help": "Element får endast använda tillåtna ARIA-attribut"
63
+ },
64
+ "aria-required-attr": {
65
+ "description": "Säkerställ att element med ARIA-roller har alla obligatoriska ARIA-attribut",
66
+ "help": "Obligatoriska ARIA-attribut måste tillhandahållas"
67
+ },
68
+ "aria-required-children": {
69
+ "description": "Säkerställ att element med en ARIA-roll som kräver underordnade roller innehåller dessa",
70
+ "help": "Vissa ARIA-roller måste innehålla specifika underordnade element"
71
+ },
72
+ "aria-required-parent": {
73
+ "description": "Säkerställ att element med en ARIA-roll som kräver överordnade roller omsluts av dessa",
74
+ "help": "Vissa ARIA-roller måste omslutas av specifika överordnade element"
75
+ },
76
+ "aria-roledescription": {
77
+ "description": "Säkerställ att aria-roledescription endast används på element med en implicit eller explicit roll",
78
+ "help": "aria-roledescription måste finnas på element med en semantisk roll"
79
+ },
80
+ "aria-roles": {
81
+ "description": "Säkerställ att alla element med ett rollattribut använder ett giltigt värde",
82
+ "help": "ARIA-roller som används måste motsvara giltiga värden"
83
+ },
84
+ "aria-tab-name": {
85
+ "description": "Säkerställ att varje ARIA-tab-nod har ett tillgängligt namn",
86
+ "help": "ARIA-tab-noder måste ha ett tillgängligt namn"
87
+ },
88
+ "aria-text": {
89
+ "description": "Säkerställ att role=\"text\" används på element utan fokuserbara efterkommande element",
90
+ "help": "\"role=text\" bör inte ha några fokuserbara efterkommande element"
91
+ },
92
+ "aria-toggle-field-name": {
93
+ "description": "Säkerställ att varje ARIA-växlingsfält har ett tillgängligt namn",
94
+ "help": "ARIA-växlingsfält måste ha ett tillgängligt namn"
95
+ },
96
+ "aria-tooltip-name": {
97
+ "description": "Säkerställ att varje ARIA-tooltip-nod har ett tillgängligt namn",
98
+ "help": "ARIA-tooltip-noder måste ha ett tillgängligt namn"
99
+ },
100
+ "aria-treeitem-name": {
101
+ "description": "Säkerställ att varje ARIA-treeitem-nod har ett tillgängligt namn",
102
+ "help": "ARIA-treeitem-noder ska ha ett tillgängligt namn"
103
+ },
104
+ "aria-valid-attr-value": {
105
+ "description": "Säkerställ att alla ARIA-attribut har giltiga värden",
106
+ "help": "ARIA-attribut måste motsvara giltiga värden"
107
+ },
108
+ "aria-valid-attr": {
109
+ "description": "Säkerställ att attribut som börjar med aria- är giltiga ARIA-attribut",
110
+ "help": "ARIA-attribut måste ha giltiga namn"
111
+ },
112
+ "audio-caption": {
113
+ "description": "Säkerställ att <audio>-element har textning",
114
+ "help": "<audio>-element måste ha ett spår för textning"
115
+ },
116
+ "autocomplete-valid": {
117
+ "description": "Säkerställ att autocomplete-attributet är korrekt och lämpligt för formulärfältet",
118
+ "help": "autocomplete-attributet måste användas korrekt"
119
+ },
120
+ "avoid-inline-spacing": {
121
+ "description": "Säkerställ att textavstånd som ställts in via stilattribut kan justeras med anpassade stilmallar",
122
+ "help": "Inbäddat textavstånd måste kunna justeras med anpassade stilmallar"
123
+ },
124
+ "blink": {
125
+ "description": "Säkerställ att <blink>-element inte används",
126
+ "help": "<blink>-element är föråldrade och får inte användas"
127
+ },
128
+ "button-name": {
129
+ "description": "Säkerställ att knappar har urskiljbar text",
130
+ "help": "Knappar måste ha urskiljbar text"
131
+ },
132
+ "bypass": {
133
+ "description": "Säkerställ att varje sida har minst en mekanism för att användaren ska kunna hoppa över navigering och gå direkt till innehållet",
134
+ "help": "Sidan måste ha ett sätt att hoppa över upprepade block"
135
+ },
136
+ "color-contrast-enhanced": {
137
+ "description": "Säkerställ att kontrasten mellan förgrunds- och bakgrundsfärger uppfyller tröskelvärdena för WCAG 2 AAA utökad kontrast",
138
+ "help": "Element måste uppfylla tröskelvärdena för utökad färgkontrast"
139
+ },
140
+ "color-contrast": {
141
+ "description": "Säkerställ att kontrasten mellan förgrunds- och bakgrundsfärger uppfyller tröskelvärdena för WCAG 2 AA minimikontrast",
142
+ "help": "Element måste uppfylla tröskelvärdena för minsta färgkontrast"
143
+ },
144
+ "css-orientation-lock": {
145
+ "description": "Säkerställ att innehållet inte är låst till en specifik skärmorientering och att innehållet kan användas i alla skärmorienteringar",
146
+ "help": "CSS-mediefrågor får inte låsa skärmorienteringen"
147
+ },
148
+ "definition-list": {
149
+ "description": "Säkerställ att <dl>-element är korrekt strukturerade",
150
+ "help": "<dl>-element får endast direkt innehålla korrekt ordnade <dt>- och <dd>-grupper, <script>-, <template>- eller <div>-element"
151
+ },
152
+ "dlitem": {
153
+ "description": "Säkerställ att <dt>- och <dd>-element ingår i en <dl>",
154
+ "help": "<dt>- och <dd>-element måste ingå i en <dl>"
155
+ },
156
+ "document-title": {
157
+ "description": "Säkerställ att varje HTML-dokument innehåller ett <title>-element som inte är tomt",
158
+ "help": "Dokument måste ha ett <title>-element för att underlätta navigering"
159
+ },
160
+ "duplicate-id-active": {
161
+ "description": "Säkerställ att varje id-attributvärde för aktiva element är unikt",
162
+ "help": "ID:n för aktiva element måste vara unika"
163
+ },
164
+ "duplicate-id-aria": {
165
+ "description": "Säkerställ att varje id-attributvärde som används i ARIA och i etiketter är unikt",
166
+ "help": "ID:n som används i ARIA och etiketter måste vara unika"
167
+ },
168
+ "duplicate-id": {
169
+ "description": "Säkerställ att varje id-attributvärde är unikt",
170
+ "help": "id-attributets värde måste vara unikt"
171
+ },
172
+ "empty-heading": {
173
+ "description": "Säkerställ att rubriker har urskiljbar text",
174
+ "help": "Rubriker bör inte vara tomma"
175
+ },
176
+ "empty-table-header": {
177
+ "description": "Säkerställ att tabellrubriker har urskiljbar text",
178
+ "help": "Tabellrubrikers text bör inte vara tom"
179
+ },
180
+ "focus-order-semantics": {
181
+ "description": "Säkerställ att element i fokusordningen har en roll som är lämplig för interaktivt innehåll",
182
+ "help": "Element i fokusordningen bör ha en lämplig roll"
183
+ },
184
+ "form-field-multiple-labels": {
185
+ "description": "Säkerställ att ett formulärfält inte har flera label-element",
186
+ "help": "Formulärfält får inte ha flera label-element"
187
+ },
188
+ "frame-focusable-content": {
189
+ "description": "Säkerställ att <frame>- och <iframe>-element med fokuserbart innehåll inte har tabindex=-1",
190
+ "help": "Ramar med fokuserbart innehåll får inte ha tabindex=-1"
191
+ },
192
+ "frame-tested": {
193
+ "description": "Säkerställ att <iframe>- och <frame>-element innehåller axe-core-skriptet",
194
+ "help": "Ramar bör testas med axe-core"
195
+ },
196
+ "frame-title-unique": {
197
+ "description": "Säkerställ att <iframe>- och <frame>-element innehåller ett unikt title-attribut",
198
+ "help": "Ramar måste ha ett unikt title-attribut"
199
+ },
200
+ "frame-title": {
201
+ "description": "Säkerställ att <iframe>- och <frame>-element har ett tillgängligt namn",
202
+ "help": "Ramar måste ha ett tillgängligt namn"
203
+ },
204
+ "heading-order": {
205
+ "description": "Säkerställ att ordningen på rubriker är semantiskt korrekt",
206
+ "help": "Rubriknivåer bör endast öka med ett steg i taget"
207
+ },
208
+ "hidden-content": {
209
+ "description": "Informera användare om dolt innehåll.",
210
+ "help": "Dolt innehåll på sidan bör analyseras"
211
+ },
212
+ "html-has-lang": {
213
+ "description": "Säkerställ att varje HTML-dokument har ett lang-attribut",
214
+ "help": "<html>-elementet måste ha ett lang-attribut"
215
+ },
216
+ "html-lang-valid": {
217
+ "description": "Säkerställ att lang-attributet på <html>-elementet har ett giltigt värde",
218
+ "help": "<html>-elementet måste ha ett giltigt värde för lang-attributet"
219
+ },
220
+ "html-xml-lang-mismatch": {
221
+ "description": "Säkerställ att HTML-element med både giltiga lang- och xml:lang-attribut stämmer överens om sidans basspråk",
222
+ "help": "HTML-element med lang och xml:lang måste ha samma basspråk"
223
+ },
224
+ "identical-links-same-purpose": {
225
+ "description": "Säkerställ att länkar med samma tillgängliga namn fyller ett liknande syfte",
226
+ "help": "Länkar med samma namn måste fylla ett liknande syfte"
227
+ },
228
+ "image-alt": {
229
+ "description": "Säkerställ att <img>-element har alternativ text eller en roll som är 'none' eller 'presentation'",
230
+ "help": "Bilder måste ha alternativ text"
231
+ },
232
+ "image-redundant-alt": {
233
+ "description": "Säkerställ att bildens alternativa text inte upprepas som vanlig text",
234
+ "help": "Alternativ text för bilder bör inte upprepas som vanlig text"
235
+ },
236
+ "input-button-name": {
237
+ "description": "Säkerställ att inmatningsknappar har urskiljbar text",
238
+ "help": "Inmatningsknappar måste ha urskiljbar text"
239
+ },
240
+ "input-image-alt": {
241
+ "description": "Säkerställ att <input type=\"image\">-element har alternativ text",
242
+ "help": "Bildknappar måste ha alternativ text"
243
+ },
244
+ "label-content-name-mismatch": {
245
+ "description": "Säkerställ att element som etiketteras genom sitt innehåll inkluderar den synliga texten i sitt tillgängliga namn",
246
+ "help": "Element måste inkludera sin synliga text i det tillgängliga namnet"
247
+ },
248
+ "label-title-only": {
249
+ "description": "Säkerställ att varje formulärelement har en synlig etikett och inte enbart är märkt med dolda etiketter, title- eller aria-describedby-attribut",
250
+ "help": "Formulärelement bör ha en synlig etikett"
251
+ },
252
+ "label": {
253
+ "description": "Säkerställ att varje formulärelement har en etikett",
254
+ "help": "Formulärelement måste ha etiketter"
255
+ },
256
+ "landmark-banner-is-top-level": {
257
+ "description": "Säkerställ att banner-landmärket är på toppnivå",
258
+ "help": "Banner-landmärket bör inte ingå i ett annat landmärke"
259
+ },
260
+ "landmark-complementary-is-top-level": {
261
+ "description": "Säkerställ att det kompletterande landmärket eller aside-elementet är på toppnivå",
262
+ "help": "Aside-element bör inte ingå i ett annat landmärke"
263
+ },
264
+ "landmark-contentinfo-is-top-level": {
265
+ "description": "Säkerställ att contentinfo-landmärket är på toppnivå",
266
+ "help": "Contentinfo-landmärket bör inte ingå i ett annat landmärke"
267
+ },
268
+ "landmark-main-is-top-level": {
269
+ "description": "Säkerställ att main-landmärket är på toppnivå",
270
+ "help": "Main-landmärket bör inte ingå i ett annat landmärke"
271
+ },
272
+ "landmark-no-duplicate-banner": {
273
+ "description": "Säkerställ att dokumentet har högst ett banner-landmärke",
274
+ "help": "Dokumentet bör inte ha mer än ett banner-landmärke"
275
+ },
276
+ "landmark-no-duplicate-contentinfo": {
277
+ "description": "Säkerställ att dokumentet har högst ett contentinfo-landmärke",
278
+ "help": "Dokumentet bör inte ha mer än ett contentinfo-landmärke"
279
+ },
280
+ "landmark-no-duplicate-main": {
281
+ "description": "Säkerställ att dokumentet har högst ett main-landmärke",
282
+ "help": "Dokumentet bör inte ha mer än ett main-landmärke"
283
+ },
284
+ "landmark-one-main": {
285
+ "description": "Säkerställ att dokumentet har ett main-landmärke",
286
+ "help": "Dokumentet ska ha ett main-landmärke"
287
+ },
288
+ "landmark-unique": {
289
+ "description": "Säkerställ att landmärken är unika",
290
+ "help": "Landmärken bör ha en unik kombination av roll eller roll/etikett/titel (dvs. tillgängligt namn)"
291
+ },
292
+ "link-in-text-block": {
293
+ "description": "Säkerställ att länkar kan skiljas från omgivande text utan att enbart förlita sig på färg",
294
+ "help": "Länkar måste kunna urskiljas utan att förlita sig på färg"
295
+ },
296
+ "link-name": {
297
+ "description": "Säkerställ att länkar har urskiljbar text",
298
+ "help": "Länkar måste ha urskiljbar text"
299
+ },
300
+ "list": {
301
+ "description": "Säkerställ att listor är korrekt strukturerade",
302
+ "help": "<ul> och <ol> får endast direkt innehålla <li>-, <script>- eller <template>-element"
303
+ },
304
+ "listitem": {
305
+ "description": "Säkerställ att <li>-element används semantiskt",
306
+ "help": "<li>-element måste ingå i en <ul> eller <ol>"
307
+ },
308
+ "marquee": {
309
+ "description": "Säkerställ att <marquee>-element inte används",
310
+ "help": "<marquee>-element är föråldrade och får inte användas"
311
+ },
312
+ "meta-refresh-no-exceptions": {
313
+ "description": "Säkerställ att <meta http-equiv=\"refresh\"> inte används för tidsfördröjd omdirigering/uppdatering",
314
+ "help": "Tidsfördröjd uppdatering får inte användas"
315
+ },
316
+ "meta-refresh": {
317
+ "description": "Säkerställ att <meta http-equiv=\"refresh\"> inte används för tidsfördröjd omdirigering/uppdatering",
318
+ "help": "Tidsfördröjd uppdatering under 20 timmar får inte användas"
319
+ },
320
+ "meta-viewport-large": {
321
+ "description": "Säkerställ att <meta name=\"viewport\"> kan förstoras i betydande grad",
322
+ "help": "Användare ska kunna zooma och förstora texten upp till 500 %"
323
+ },
324
+ "meta-viewport": {
325
+ "description": "Säkerställ att <meta name=\"viewport\"> inte inaktiverar textförstoring och zoomning",
326
+ "help": "Zoomning och förstoring får inte inaktiveras"
327
+ },
328
+ "nested-interactive": {
329
+ "description": "Säkerställ att interaktiva kontroller inte är nästlade, eftersom de inte alltid annonseras av skärmläsare eller kan orsaka fokusproblem för hjälpmedel",
330
+ "help": "Interaktiva kontroller får inte vara nästlade"
331
+ },
332
+ "no-autoplay-audio": {
333
+ "description": "Säkerställ att <video>- eller <audio>-element inte automatiskt spelar upp ljud i mer än 3 sekunder utan en kontrollmekanism för att stoppa eller stänga av ljudet",
334
+ "help": "<video>- eller <audio>-element får inte spelas upp automatiskt"
335
+ },
336
+ "object-alt": {
337
+ "description": "Säkerställ att <object>-element har alternativ text",
338
+ "help": "<object>-element måste ha alternativ text"
339
+ },
340
+ "p-as-heading": {
341
+ "description": "Säkerställ att fetstil, kursiv text och teckenstorlek inte används för att formatera <p>-element som en rubrik",
342
+ "help": "Formaterade <p>-element får inte användas som rubriker"
343
+ },
344
+ "page-has-heading-one": {
345
+ "description": "Säkerställ att sidan, eller åtminstone en av dess ramar, innehåller en rubrik på nivå ett",
346
+ "help": "Sidan bör innehålla en rubrik på nivå ett"
347
+ },
348
+ "presentation-role-conflict": {
349
+ "description": "Säkerställ att element markerade som presentation inte har globala ARIA-attribut eller tabindex, så att alla skärmläsare ignorerar dem",
350
+ "help": "Element markerade som presentation bör konsekvent ignoreras"
351
+ },
352
+ "region": {
353
+ "description": "Säkerställ att allt sidinnehåll ingår i landmärken",
354
+ "help": "Allt sidinnehåll bör ingå i landmärken"
355
+ },
356
+ "role-img-alt": {
357
+ "description": "Säkerställ att [role=\"img\"]-element har alternativ text",
358
+ "help": "[role=\"img\"]-element måste ha alternativ text"
359
+ },
360
+ "scope-attr-valid": {
361
+ "description": "Säkerställ att scope-attributet används korrekt på tabeller",
362
+ "help": "scope-attributet ska användas korrekt"
363
+ },
364
+ "scrollable-region-focusable": {
365
+ "description": "Säkerställ att element med rullningsbart innehåll är tillgängliga via tangentbord i Safari",
366
+ "help": "Rullningsbara regioner måste ha tangentbordsåtkomst"
367
+ },
368
+ "select-name": {
369
+ "description": "Säkerställ att select-element har ett tillgängligt namn",
370
+ "help": "Select-element måste ha ett tillgängligt namn"
371
+ },
372
+ "server-side-image-map": {
373
+ "description": "Säkerställ att serverbaserade bildkartor inte används",
374
+ "help": "Serverbaserade bildkartor får inte användas"
375
+ },
376
+ "skip-link": {
377
+ "description": "Säkerställ att alla hoppa över-länkar har ett fokuserbart mål",
378
+ "help": "Målet för hoppa över-länken ska finnas och vara fokuserbart"
379
+ },
380
+ "summary-name": {
381
+ "description": "Säkerställ att summary-element har urskiljbar text",
382
+ "help": "Summary-element måste ha urskiljbar text"
383
+ },
384
+ "svg-img-alt": {
385
+ "description": "Säkerställ att <svg>-element med rollen img, graphics-document eller graphics-symbol har en tillgänglig text",
386
+ "help": "<svg>-element med rollen img måste ha alternativ text"
387
+ },
388
+ "tabindex": {
389
+ "description": "Säkerställ att värden för tabindex-attribut inte är större än 0",
390
+ "help": "Element bör inte ha ett tabindex som är större än noll"
391
+ },
392
+ "table-duplicate-name": {
393
+ "description": "Säkerställ att <caption>-elementet inte innehåller samma text som summary-attributet",
394
+ "help": "Tabeller bör inte ha samma sammanfattning och rubrik"
395
+ },
396
+ "table-fake-caption": {
397
+ "description": "Säkerställ att tabeller med en rubrik använder <caption>-elementet.",
398
+ "help": "Data- eller rubrikceller får inte användas för att ge en rubrik till en datatabell."
399
+ },
400
+ "target-size": {
401
+ "description": "Säkerställ att klickytor har tillräcklig storlek och marginal",
402
+ "help": "Alla klickytor måste vara minst 24px stora eller ha tillräckligt med utrymme runt sig"
403
+ },
404
+ "td-has-header": {
405
+ "description": "Säkerställ att varje datacell som inte är tom i en <table> större än 3x3 har en eller flera tabellrubriker",
406
+ "help": "Dataceller (<td>) som inte är tomma i större tabeller (<table>) måste ha en tillhörande tabellrubrik"
407
+ },
408
+ "td-headers-attr": {
409
+ "description": "Säkerställ att varje cell i en tabell som använder headers-attributet endast hänvisar till andra <th>-element i den tabellen",
410
+ "help": "Tabellcellers headers-attribut måste hänvisa till andra <th>-element i samma tabell"
411
+ },
412
+ "th-has-data-cells": {
413
+ "description": "Säkerställ att <th>-element och element med role=columnheader/rowheader har dataceller som de beskriver",
414
+ "help": "Tabellrubriker i en datatabell måste hänvisa till dataceller"
415
+ },
416
+ "valid-lang": {
417
+ "description": "Säkerställ att lang-attribut har giltiga värden",
418
+ "help": "lang-attributet måste ha ett giltigt värde"
419
+ },
420
+ "video-caption": {
421
+ "description": "Säkerställ att <video>-element har textning",
422
+ "help": "<video>-element måste ha undertexter"
423
+ }
424
+ },
425
+ "checks": {
426
+ "abstractrole": {
427
+ "pass": "Abstrakta roller används inte",
428
+ "fail": {
429
+ "singular": "Abstrakt roll kan inte användas direkt: ${data.values}",
430
+ "plural": "Abstrakta roller kan inte användas direkt: ${data.values}"
431
+ }
432
+ },
433
+ "aria-allowed-attr-elm": {
434
+ "pass": "ARIA-attribut är tillåtna för detta element",
435
+ "fail": {
436
+ "singular": "ARIA-attributet är inte tillåtet på ${data.nodeName}-element: ${data.values}",
437
+ "plural": "ARIA-attributen är inte tillåtna på ${data.nodeName}-element: ${data.values}"
438
+ }
439
+ },
440
+ "aria-allowed-attr": {
441
+ "pass": "ARIA-attribut används korrekt för den definierade rollen",
442
+ "fail": {
443
+ "singular": "ARIA-attribut är inte tillåtet: ${data.values}",
444
+ "plural": "ARIA-attribut är inte tillåtna: ${data.values}"
445
+ },
446
+ "incomplete": "Kontrollera att det inte uppstår problem om ARIA-attributet ignoreras på detta element: ${data.values}"
447
+ },
448
+ "aria-allowed-role": {
449
+ "pass": "ARIA-rollen är tillåten för det givna elementet",
450
+ "fail": {
451
+ "singular": "ARIA-rollen ${data.values} är inte tillåten för det givna elementet",
452
+ "plural": "ARIA-rollerna ${data.values} är inte tillåtna för det givna elementet"
453
+ },
454
+ "incomplete": {
455
+ "singular": "ARIA-rollen ${data.values} måste tas bort när elementet görs synligt, eftersom den inte är tillåten för elementet",
456
+ "plural": "ARIA-rollerna ${data.values} måste tas bort när elementet görs synligt, eftersom de inte är tillåtna för elementet"
457
+ }
458
+ },
459
+ "aria-busy": {
460
+ "pass": "Elementet har ett aria-busy-attribut",
461
+ "fail": "Elementet använder aria-busy=\"true\" samtidigt som en laddningsindikator visas"
462
+ },
463
+ "aria-conditional-attr": {
464
+ "pass": "ARIA-attribut är tillåtet",
465
+ "fail": {
466
+ "checkbox": "Ta bort aria-checked eller sätt det till \"${data.checkState}\" för att matcha kryssrutans faktiska tillstånd",
467
+ "radio": "Ta bort aria-checked eller sätt det till \"${data.checkState}\" för att matcha radioknappens faktiska tillstånd",
468
+ "rowSingular": "Detta attribut stöds för treegrid-rader, men inte för ${data.ownerRole}: ${data.invalidAttrs}",
469
+ "rowPlural": "Dessa attribut stöds för treegrid-rader, men inte för ${data.ownerRole}: ${data.invalidAttrs}"
470
+ }
471
+ },
472
+ "aria-errormessage": {
473
+ "pass": "aria-errormessage finns och refererar till element som är synliga för skärmläsare och använder en teknik för aria-errormessage som stöds",
474
+ "fail": {
475
+ "singular": "aria-errormessage-värdet `${data.values}` måste använda en teknik för att annonsera meddelandet (t.ex. aria-live, aria-describedby, role=alert, etc.)",
476
+ "plural": "aria-errormessage-värdena `${data.values}` måste använda en teknik för att annonsera meddelandet (t.ex. aria-live, aria-describedby, role=alert, etc.)",
477
+ "unsupported": "Flera ID:n i aria-errormessage stöds inte i stor utsträckning av hjälpmedel",
478
+ "hidden": "aria-errormessage-värdet `${data.values}` kan inte referera till ett dolt element"
479
+ },
480
+ "incomplete": {
481
+ "singular": "Säkerställ att aria-errormessage-värdet `${data.values}` refererar till ett befintligt element",
482
+ "plural": "Säkerställ att aria-errormessage-värdena `${data.values}` refererar till befintliga element",
483
+ "idrefs": "Det går inte att avgöra om elementet för aria-errormessage finns på sidan: ${data.values}"
484
+ }
485
+ },
486
+ "aria-hidden-body": {
487
+ "pass": "Inget aria-hidden-attribut finns på dokumentets body-element",
488
+ "fail": "aria-hidden=true bör inte finnas på dokumentets body-element"
489
+ },
490
+ "aria-level": {
491
+ "pass": "aria-level-värden är giltiga",
492
+ "incomplete": "aria-level-värden större än 6 stöds inte i alla kombinationer av skärmläsare och webbläsare"
493
+ },
494
+ "aria-prohibited-attr": {
495
+ "pass": "ARIA-attribut är tillåtet",
496
+ "fail": {
497
+ "hasRolePlural": "Attributen ${data.prohibited} kan inte användas med rollen \"${data.role}\".",
498
+ "hasRoleSingular": "Attributet ${data.prohibited} kan inte användas med rollen \"${data.role}\".",
499
+ "noRolePlural": "Attributen ${data.prohibited} kan inte användas på ett ${data.nodeName}-element utan en giltig roll.",
500
+ "noRoleSingular": "Attributet ${data.prohibited} kan inte användas på ett ${data.nodeName}-element utan en giltig roll."
501
+ },
502
+ "incomplete": {
503
+ "hasRoleSingular": "Attributet ${data.prohibited} har inte fullt stöd med rollen \"${data.role}\".",
504
+ "hasRolePlural": "Attributen ${data.prohibited} har inte fullt stöd med rollen \"${data.role}\".",
505
+ "noRoleSingular": "Attributet ${data.prohibited} har inte fullt stöd på ett ${data.nodeName}-element utan en giltig roll.",
506
+ "noRolePlural": "Attributen ${data.prohibited} har inte fullt stöd på ett ${data.nodeName}-element utan en giltig roll."
507
+ }
508
+ },
509
+ "aria-required-attr": {
510
+ "pass": "Alla obligatoriska ARIA-attribut finns",
511
+ "fail": {
512
+ "singular": "Obligatoriskt ARIA-attribut saknas: ${data.values}",
513
+ "plural": "Obligatoriska ARIA-attribut saknas: ${data.values}"
514
+ }
515
+ },
516
+ "aria-required-children": {
517
+ "pass": {
518
+ "default": "Obligatoriska underordnade ARIA-element finns",
519
+ "aria-busy": "Elementet har ett aria-busy-attribut, så det är tillåtet att utelämna obligatoriska underordnade element"
520
+ },
521
+ "fail": {
522
+ "singular": "Obligatorisk underordnad ARIA-roll saknas: ${data.values}",
523
+ "plural": "Obligatoriska underordnade ARIA-roller saknas: ${data.values}",
524
+ "unallowed": "Elementet har underordnade element som inte är tillåtna: ${data.values}",
525
+ "aria-busy-fail": "Elementet har underordnade element som inte är tillåtna: ${data.values}; att ha aria-busy=\"true\" tillåter inte underordnade element med roller som inte är tillåtna"
526
+ },
527
+ "incomplete": {
528
+ "singular": "Förväntar sig att underordnad ARIA-roll läggs till: ${data.values}",
529
+ "plural": "Förväntar sig att underordnade ARIA-roller läggs till: ${data.values}"
530
+ }
531
+ },
532
+ "aria-required-parent": {
533
+ "pass": "Obligatorisk överordnad ARIA-roll finns",
534
+ "fail": {
535
+ "singular": "Obligatorisk överordnad ARIA-roll saknas: ${data.values}",
536
+ "plural": "Obligatoriska överordnade ARIA-roller saknas: ${data.values}"
537
+ }
538
+ },
539
+ "aria-roledescription": {
540
+ "pass": "aria-roledescription används på en semantisk roll som stöds",
541
+ "incomplete": "Kontrollera att aria-roledescription annonseras av skärmläsare som stöds",
542
+ "fail": "Ge elementet en roll som stöder aria-roledescription"
543
+ },
544
+ "aria-unsupported-attr": {
545
+ "pass": "ARIA-attributet stöds",
546
+ "fail": "ARIA-attributet stöds inte i stor utsträckning av skärmläsare och hjälpmedel: ${data.values}"
547
+ },
548
+ "aria-valid-attr-value": {
549
+ "pass": "ARIA-attributvärden är giltiga",
550
+ "fail": {
551
+ "singular": "Ogiltigt ARIA-attributvärde: ${data.values}",
552
+ "plural": "Ogiltiga ARIA-attributvärden: ${data.values}"
553
+ },
554
+ "incomplete": {
555
+ "noId": "ARIA-attributets element-ID finns inte på sidan: ${data.needsReview}",
556
+ "noIdShadow": "ARIA-attributets element-ID finns inte på sidan eller är en avkomling till ett annat shadow DOM-träd: ${data.needsReview}",
557
+ "ariaCurrent": "ARIA-attributets värde är ogiltigt och kommer att hanteras som \"aria-current=true\": ${data.needsReview}",
558
+ "idrefs": "Det går inte att avgöra om ARIA-attributets element-ID finns på sidan: ${data.needsReview}",
559
+ "empty": "ARIA-attributets värde ignoreras eftersom det är tomt: ${data.needsReview}",
560
+ "controlsWithinPopup": "Det går inte att avgöra om ID-referensen i aria-controls finns på sidan när aria-haspopup används: ${data.needsReview}"
561
+ }
562
+ },
563
+ "aria-valid-attr": {
564
+ "pass": "ARIA-attributnamnet är giltigt",
565
+ "fail": {
566
+ "singular": "Ogiltigt ARIA-attributnamn: ${data.values}",
567
+ "plural": "Ogiltiga ARIA-attributnamn: ${data.values}"
568
+ }
569
+ },
570
+ "braille-label-equivalent": {
571
+ "pass": "aria-braillelabel används på ett element med tillgänglig text",
572
+ "fail": "aria-braillelabel används på ett element utan tillgänglig text",
573
+ "incomplete": "Det går inte att beräkna tillgänglig text"
574
+ },
575
+ "braille-roledescription-equivalent": {
576
+ "pass": "aria-brailleroledescription används på ett element med aria-roledescription",
577
+ "fail": {
578
+ "noRoleDescription": "aria-brailleroledescription används på ett element utan aria-roledescription",
579
+ "emptyRoleDescription": "aria-brailleroledescription används på ett element med en tom aria-roledescription"
580
+ }
581
+ },
582
+ "deprecatedrole": {
583
+ "pass": "ARIA-rollen är inte föråldrad",
584
+ "fail": "Rollen som används är föråldrad: ${data}"
585
+ },
586
+ "fallbackrole": {
587
+ "pass": "Endast ett rollvärde används",
588
+ "fail": "Använd endast ett rollvärde, eftersom reservroller (fallback roles) inte stöds i äldre webbläsare",
589
+ "incomplete": "Använd endast rollen 'presentation' eller 'none' eftersom de är synonyma."
590
+ },
591
+ "has-global-aria-attribute": {
592
+ "pass": {
593
+ "singular": "Elementet har ett globalt ARIA-attribut: ${data.values}",
594
+ "plural": "Elementet har globala ARIA-attribut: ${data.values}"
595
+ },
596
+ "fail": "Elementet saknar globalt ARIA-attribut"
597
+ },
598
+ "has-widget-role": {
599
+ "pass": "Elementet har en widget-roll.",
600
+ "fail": "Elementet har inte en widget-roll."
601
+ },
602
+ "invalidrole": {
603
+ "pass": "ARIA-rollen är giltig",
604
+ "fail": {
605
+ "singular": "Rollen måste vara en av de giltiga ARIA-rollerna: ${data.values}",
606
+ "plural": "Rollerna måste vara bland de giltiga ARIA-rollerna: ${data.values}"
607
+ }
608
+ },
609
+ "is-element-focusable": {
610
+ "pass": "Elementet är fokuserbart.",
611
+ "fail": "Elementet är inte fokuserbart."
612
+ },
613
+ "no-implicit-explicit-label": {
614
+ "pass": "Det finns ingen avvikelse mellan en <label> och det tillgängliga namnet",
615
+ "incomplete": "Kontrollera att <label>-elementet inte behöver vara en del av namnet för ARIA-${data}-fältet"
616
+ },
617
+ "unsupportedrole": {
618
+ "pass": "ARIA-rollen stöds",
619
+ "fail": "Rollen som används stöds inte i stor utsträckning av skärmläsare och hjälpmedel: ${data}"
620
+ },
621
+ "valid-scrollable-semantics": {
622
+ "pass": "Elementet har giltig semantik för ett element i fokusordningen.",
623
+ "fail": "Elementet har ogiltig semantik för ett element i fokusordningen."
624
+ },
625
+ "color-contrast-enhanced": {
626
+ "pass": "Elementet har tillräcklig färgkontrast på ${data.contrastRatio}",
627
+ "fail": {
628
+ "default": "Elementet har otillräcklig färgkontrast på ${data.contrastRatio} (förgrundsfärg: ${data.fgColor}, bakgrundsfärg: ${data.bgColor}, teckenstorlek: ${data.fontSize}, teckenvikt: ${data.fontWeight}). Förväntat kontrastförhållande är ${data.expectedContrastRatio}",
629
+ "fgOnShadowColor": "Elementet har otillräcklig färgkontrast på ${data.contrastRatio} mellan förgrunden och skuggfärgen (förgrundsfärg: ${data.fgColor}, text-shadow-färg: ${data.shadowColor}, teckenstorlek: ${data.fontSize}, teckenvikt: ${data.fontWeight}). Förväntat kontrastförhållande är ${data.expectedContrastRatio}",
630
+ "shadowOnBgColor": "Elementet har otillräcklig färgkontrast på ${data.contrastRatio} mellan skuggfärgen och bakgrundsfärgen (text-shadow-färg: ${data.shadowColor}, bakgrundsfärg: ${data.bgColor}, teckenstorlek: ${data.fontSize}, teckenvikt: ${data.fontWeight}). Förväntat kontrastförhållande är ${data.expectedContrastRatio}"
631
+ },
632
+ "incomplete": {
633
+ "default": "Det går inte att bestämma kontrastförhållandet",
634
+ "bgImage": "Elementets bakgrundsfärg kunde inte bestämmas på grund av en bakgrundsbild",
635
+ "bgGradient": "Elementets bakgrundsfärg kunde inte bestämmas på grund av en bakgrundsgradient",
636
+ "imgNode": "Elementets bakgrundsfärg kunde inte bestämmas eftersom elementet innehåller en bildnod",
637
+ "bgOverlap": "Elementets bakgrundsfärg kunde inte bestämmas eftersom det överlappas av ett annat element",
638
+ "fgAlpha": "Elementets förgrundsfärg kunde inte bestämmas på grund av alfa-transparens",
639
+ "elmPartiallyObscured": "Elementets bakgrundsfärg kunde inte bestämmas eftersom det är delvis dolt av ett annat element",
640
+ "elmPartiallyObscuring": "Elementets bakgrundsfärg kunde inte bestämmas eftersom det delvis överlappar andra element",
641
+ "outsideViewport": "Elementets bakgrundsfärg kunde inte bestämmas eftersom det är utanför visningsytan (viewport)",
642
+ "equalRatio": "Elementet har ett kontrastförhållande på 1:1 med bakgrunden",
643
+ "shortTextContent": "Elementets innehåll är för kort för att det ska gå att avgöra om det faktiskt är textinnehåll",
644
+ "nonBmp": "Elementets innehåll innehåller endast icke-texttecken",
645
+ "pseudoContent": "Elementets bakgrundsfärg kunde inte bestämmas på grund av ett pseudoelement",
646
+ "colorParse": "Kunde inte tolka färgsträngen ${data.colorParse}"
647
+ }
648
+ },
649
+ "color-contrast": {
650
+ "pass": {
651
+ "default": "Elementet har tillräcklig färgkontrast på ${data.contrastRatio}",
652
+ "hidden": "Elementet är dolt"
653
+ },
654
+ "fail": {
655
+ "default": "Elementet har otillräcklig färgkontrast på ${data.contrastRatio} (förgrundsfärg: ${data.fgColor}, bakgrundsfärg: ${data.bgColor}, teckenstorlek: ${data.fontSize}, teckenvikt: ${data.fontWeight}). Förväntat kontrastförhållande är ${data.expectedContrastRatio}",
656
+ "fgOnShadowColor": "Elementet har otillräcklig färgkontrast på ${data.contrastRatio} mellan förgrunden och skuggfärgen (förgrundsfärg: ${data.fgColor}, text-shadow-färg: ${data.shadowColor}, teckenstorlek: ${data.fontSize}, teckenvikt: ${data.fontWeight}). Förväntat kontrastförhållande är ${data.expectedContrastRatio}",
657
+ "shadowOnBgColor": "Elementet har otillräcklig färgkontrast på ${data.contrastRatio} mellan skuggfärgen och bakgrundsfärgen (text-shadow-färg: ${data.shadowColor}, bakgrundsfärg: ${data.bgColor}, teckenstorlek: ${data.fontSize}, teckenvikt: ${data.fontWeight}). Förväntat kontrastförhållande är ${data.expectedContrastRatio}"
658
+ },
659
+ "incomplete": {
660
+ "default": "Det går inte att bestämma kontrastförhållandet",
661
+ "bgImage": "Elementets bakgrundsfärg kunde inte bestämmas på grund av en bakgrundsbild",
662
+ "bgGradient": "Elementets bakgrundsfärg kunde inte bestämmas på grund av en bakgrundsgradient",
663
+ "imgNode": "Elementets bakgrundsfärg kunde inte bestämmas eftersom elementet innehåller en bildnod",
664
+ "bgOverlap": "Elementets bakgrundsfärg kunde inte bestämmas eftersom det överlappas av ett annat element",
665
+ "complexTextShadows": "Elementets kontrast kunde inte bestämmas eftersom det använder komplexa textskuggor",
666
+ "fgAlpha": "Elementets förgrundsfärg kunde inte bestämmas på grund av alfa-transparens",
667
+ "elmPartiallyObscured": "Elementets bakgrundsfärg kunde inte bestämmas eftersom det är delvis dolt av ett annat element",
668
+ "elmPartiallyObscuring": "Elementets bakgrundsfärg kunde inte bestämmas eftersom det delvis överlappar andra element",
669
+ "outsideViewport": "Elementets bakgrundsfärg kunde inte bestämmas eftersom det är utanför visningsytan (viewport)",
670
+ "equalRatio": "Elementet har ett kontrastförhållande på 1:1 med bakgrunden",
671
+ "shortTextContent": "Elementets innehåll är för kort för att det ska gå att avgöra om det faktiskt är textinnehåll",
672
+ "nonBmp": "Elementets innehåll innehåller endast icke-texttecken",
673
+ "pseudoContent": "Elementets bakgrundsfärg kunde inte bestämmas på grund av ett pseudoelement",
674
+ "colorParse": "Kunde inte tolka färgsträngen ${data.colorParse}"
675
+ }
676
+ },
677
+ "link-in-text-block-style": {
678
+ "pass": "Länkar kan skiljas från omgivande text genom visuell formatering",
679
+ "incomplete": {
680
+ "default": "Kontrollera om länken behöver formateras för att skilja den från närliggande text",
681
+ "pseudoContent": "Kontrollera om länkens pseudoformatering är tillräcklig för att skilja den från den omgivande texten"
682
+ },
683
+ "fail": "Länken saknar formatering (såsom understrykning) för att skilja den från den omgivande texten"
684
+ },
685
+ "link-in-text-block": {
686
+ "pass": "Länkar kan skiljas från omgivande text på något annat sätt än enbart med hjälp av färg",
687
+ "fail": {
688
+ "fgContrast": "Länken har otillräcklig färgkontrast på ${data.contrastRatio}:1 mot den omgivande texten. (Minsta kontrast är ${data.requiredContrastRatio}:1, länktext: ${data.nodeColor}, omgivande text: ${data.parentColor})",
689
+ "bgContrast": "Länkens bakgrund har otillräcklig färgkontrast på ${data.contrastRatio} (Minsta kontrast är ${data.requiredContrastRatio}:1, länkens bakgrundsfärg: ${data.nodeBackgroundColor}, omgivande bakgrundsfärg: ${data.parentBackgroundColor})"
690
+ },
691
+ "incomplete": {
692
+ "default": "Elementets förgrundskontrast kunde inte bestämmas",
693
+ "bgContrast": "Elementets bakgrundskontrast kunde inte bestämmas",
694
+ "bgImage": "Elementets kontrastförhållande kunde inte bestämmas på grund av en bakgrundsbild",
695
+ "bgGradient": "Elementets kontrastförhållande kunde inte bestämmas på grund av en bakgrundsgradient",
696
+ "imgNode": "Elementets kontrastförhållande kunde inte bestämmas eftersom elementet innehåller en bildnod",
697
+ "bgOverlap": "Elementets kontrastförhållande kunde inte bestämmas på grund av överlappande element"
698
+ }
699
+ },
700
+ "autocomplete-appropriate": {
701
+ "pass": "Autocomplete-värdet finns på ett lämpligt element",
702
+ "fail": "Autocomplete-värdet är olämpligt för denna typ av inmatningsfält"
703
+ },
704
+ "autocomplete-valid": {
705
+ "pass": "Autocomplete-attributet är korrekt formaterat",
706
+ "fail": "Autocomplete-attributet är felaktigt formaterat",
707
+ "incomplete": "Autocomplete-attributet har ett icke-standardiserat värde. Kontrollera om ett standardvärde kan användas i stället."
708
+ },
709
+ "accesskeys": {
710
+ "pass": "Accesskey-attributets värde är unikt",
711
+ "fail": "Dokumentet har flera element med samma accesskey"
712
+ },
713
+ "focusable-content": {
714
+ "pass": "Elementet innehåller fokuserbara element",
715
+ "fail": "Elementet bör ha fokuserbart innehåll"
716
+ },
717
+ "focusable-disabled": {
718
+ "pass": "Inga fokuserbara element ingår i elementet",
719
+ "incomplete": "Kontrollera om de fokuserbara elementen omedelbart flyttar fokusindikatorn",
720
+ "fail": "Fokuserbart innehåll bör inaktiveras eller tas bort från DOM-strukturen"
721
+ },
722
+ "focusable-element": {
723
+ "pass": "Elementet är fokuserbart",
724
+ "fail": "Elementet bör vara fokuserbart"
725
+ },
726
+ "focusable-modal-open": {
727
+ "pass": "Det finns inga fokuserbara element tillgängliga när en modal är öppen",
728
+ "incomplete": "Kontrollera att det fokuserbara elementet inte är tabbart i nuvarande tillstånd"
729
+ },
730
+ "focusable-no-name": {
731
+ "pass": "Elementet ingår inte i tabbordningen eller har en tillgänglig text",
732
+ "fail": "Elementet ingår i tabbordningen men saknar tillgänglig text",
733
+ "incomplete": "Det går inte att avgöra om elementet har ett tillgängligt namn"
734
+ },
735
+ "focusable-not-tabbable": {
736
+ "pass": "Inga fokuserbara element ingår i elementet",
737
+ "incomplete": "Kontrollera om de fokuserbara elementen omedelbart flyttar fokusindikatorn",
738
+ "fail": "Fokuserbart innehåll bör ha tabindex=\"-1\" eller tas bort från DOM-strukturen"
739
+ },
740
+ "frame-focusable-content": {
741
+ "pass": "Elementet har inga fokuserbara efterkommande element",
742
+ "fail": "Elementet har fokuserbara efterkommande element",
743
+ "incomplete": "Kunde inte avgöra om elementet har efterkommande element"
744
+ },
745
+ "landmark-is-top-level": {
746
+ "pass": "${data.role}-landmärket är på toppnivå.",
747
+ "fail": "${data.role}-landmärket ingår i ett annat landmärke."
748
+ },
749
+ "no-focusable-content": {
750
+ "pass": "Elementet har inga fokuserbara efterkommande element",
751
+ "fail": {
752
+ "default": "Elementet har fokuserbara efterkommande element",
753
+ "notHidden": "Att använda ett negativt tabindex på ett element inuti en interaktiv kontroll förhindrar inte hjälpmedel från att fokusera på elementet (inte ens med aria-hidden=\"true\")"
754
+ },
755
+ "incomplete": "Kunde inte avgöra om elementet har efterkommande element"
756
+ },
757
+ "page-has-heading-one": {
758
+ "pass": "Sidan har minst en rubrik på nivå ett",
759
+ "fail": "Sidan måste ha en rubrik på nivå ett"
760
+ },
761
+ "page-has-main": {
762
+ "pass": "Dokumentet har minst ett main-landmärke",
763
+ "fail": "Dokumentet saknar ett main-landmärke"
764
+ },
765
+ "page-no-duplicate-banner": {
766
+ "pass": "Dokumentet har inte mer än ett banner-landmärke",
767
+ "fail": "Dokumentet har mer än ett banner-landmärke"
768
+ },
769
+ "page-no-duplicate-contentinfo": {
770
+ "pass": "Dokumentet har inte mer än ett contentinfo-landmärke",
771
+ "fail": "Dokumentet har mer än ett contentinfo-landmärke"
772
+ },
773
+ "page-no-duplicate-main": {
774
+ "pass": "Dokumentet har inte mer än ett main-landmärke",
775
+ "fail": "Dokumentet har mer än ett main-landmärke"
776
+ },
777
+ "tabindex": {
778
+ "pass": "Elementet har inte ett tabindex som är större än 0",
779
+ "fail": "Elementet har ett tabindex som är större än 0"
780
+ },
781
+ "alt-space-value": {
782
+ "pass": "Elementet har ett giltigt värde för alt-attributet",
783
+ "fail": "Elementet har ett alt-attribut som endast innehåller ett blanksteg, vilket inte ignoreras av alla skärmläsare"
784
+ },
785
+ "duplicate-img-label": {
786
+ "pass": "Elementet duplicerar inte befintlig text i alt-texten för <img>",
787
+ "fail": "Elementet innehåller ett <img>-element med alt-text som duplicerar befintlig text"
788
+ },
789
+ "explicit-label": {
790
+ "pass": "Elementet har en explicit <label>",
791
+ "fail": "Elementet saknar en explicit <label>",
792
+ "incomplete": "Det går inte att avgöra om formulärelementet har en explicit <label>"
793
+ },
794
+ "help-same-as-label": {
795
+ "pass": "Hjälptext (title eller aria-describedby) duplicerar inte etikettens text",
796
+ "fail": "Hjälptexten (title eller aria-describedby) är identisk med etikettens text"
797
+ },
798
+ "hidden-explicit-label": {
799
+ "pass": "Formulärelementet har en synlig explicit <label>",
800
+ "fail": "Formulärelementet har en explicit <label> som är dold",
801
+ "incomplete": "Det går inte att avgöra om formulärelementet har en explicit <label> som är dold"
802
+ },
803
+ "implicit-label": {
804
+ "pass": "Elementet har en implicit (omslutande) <label>",
805
+ "fail": "Elementet saknar en implicit (omslutande) <label>",
806
+ "incomplete": "Det går inte att avgöra om formulärelementet har en implicit (omslutande) <label>"
807
+ },
808
+ "label-content-name-mismatch": {
809
+ "pass": "Elementet inkluderar synlig text som en del av sitt tillgängliga namn",
810
+ "fail": "Text inuti elementet ingår inte i det tillgängliga namnet"
811
+ },
812
+ "multiple-label": {
813
+ "pass": "Formulärfältet har inte flera label-element",
814
+ "incomplete": "Flera label-element stöds inte i stor utsträckning av hjälpmedel. Säkerställ att den första etiketten innehåller all nödvändig information."
815
+ },
816
+ "title-only": {
817
+ "pass": "Formulärelementet använder inte enbart title-attributet som sin etikett",
818
+ "fail": "Endast title-attributet används för att generera etiketten för formulärelementet"
819
+ },
820
+ "landmark-is-unique": {
821
+ "pass": "Landmärken måste ha en unik kombination av roll eller roll/etikett/titel (dvs. tillgängligt namn)",
822
+ "fail": "Landmärket måste ha ett unikt aria-label, aria-labelledby eller title för att göra det urskiljbart"
823
+ },
824
+ "has-lang": {
825
+ "pass": "<html>-elementet har ett lang-attribut",
826
+ "fail": {
827
+ "noXHTML": "xml:lang-attributet är inte giltigt på HTML-sidor, använd lang-attributet.",
828
+ "noLang": "<html>-elementet har inget lang-attribut"
829
+ }
830
+ },
831
+ "valid-lang": {
832
+ "pass": "Värdet på lang-attributet ingår i listan över giltiga språk",
833
+ "fail": "Värdet på lang-attributet ingår inte i listan över giltiga språk"
834
+ },
835
+ "xml-lang-mismatch": {
836
+ "pass": "Attributen lang och xml:lang har samma basspråk",
837
+ "fail": "Attributen lang och xml:lang har inte samma basspråk"
838
+ },
839
+ "dlitem": {
840
+ "pass": "Beskrivningslistans element har ett överordnat <dl>-element",
841
+ "fail": "Beskrivningslistans element saknar ett överordnat <dl>-element"
842
+ },
843
+ "listitem": {
844
+ "pass": "Listelementet har ett överordnat <ul>-, <ol>- eller role=\"list\"-element",
845
+ "fail": {
846
+ "default": "Listelementet saknar ett överordnat <ul>- eller <ol>-element",
847
+ "roleNotValid": "Listelementets överordnade element har en roll som inte är role=\"list\""
848
+ }
849
+ },
850
+ "only-dlitems": {
851
+ "pass": "dl-elementet har endast tillåtna direkta underelement: <dt>-, <dd>- eller <div>-element",
852
+ "fail": "dl-elementet har direkta underelement som inte är tillåtna: ${data.values}"
853
+ },
854
+ "only-listitems": {
855
+ "pass": "Listelementet har endast tillåtna direkta underelement inuti <li>-element",
856
+ "fail": "Listelementet har direkta underelement som inte är tillåtna: ${data.values}"
857
+ },
858
+ "structured-dlitems": {
859
+ "pass": "När elementet inte är tomt innehåller det både <dt>- och <dd>-element",
860
+ "fail": "När elementet inte är tomt saknar det minst ett <dt>-element följt av minst ett <dd>-element"
861
+ },
862
+ "caption": {
863
+ "pass": "Multimediaelementet har ett spår för textning",
864
+ "incomplete": "Kontrollera att textning är tillgänglig för elementet"
865
+ },
866
+ "frame-tested": {
867
+ "pass": "Iframe-elementet (iframe) testades med axe-core",
868
+ "fail": "Iframe-elementet (iframe) kunde inte testas med axe-core",
869
+ "incomplete": "Iframe-elementet (iframe) måste fortfarande testas med axe-core"
870
+ },
871
+ "no-autoplay-audio": {
872
+ "pass": "<video> eller <audio> spelar inte upp ljud längre än tillåten varaktighet, eller så finns en kontrollmekanism",
873
+ "fail": "<video> eller <audio> spelar upp ljud längre än tillåten varaktighet och saknar kontrollmekanism",
874
+ "incomplete": "Kontrollera att <video> eller <audio> inte spelar upp ljud längre än tillåten varaktighet eller tillhandahåller en kontrollmekanism"
875
+ },
876
+ "css-orientation-lock": {
877
+ "pass": "Skärmen fungerar och det finns inget orienteringslås",
878
+ "fail": "CSS-orienteringslås tillämpas och gör skärmen oanvändbar",
879
+ "incomplete": "CSS-orienteringslås kan inte fastställas"
880
+ },
881
+ "meta-viewport-large": {
882
+ "pass": "<meta>-taggen förhindrar inte betydande zoomning på mobila enheter",
883
+ "fail": "<meta>-taggen begränsar zoomning på mobila enheter"
884
+ },
885
+ "meta-viewport": {
886
+ "pass": "<meta>-taggen inaktiverar inte zoomning på mobila enheter",
887
+ "fail": "${data} på <meta>-taggen inaktiverar zoomning på mobila enheter"
888
+ },
889
+ "target-offset": {
890
+ "pass": {
891
+ "default": "Klickytan har tillräckligt med utrymme till sina närmaste grannar. Säker klickbar yta har en diameter på ${data.closestOffset}px, vilket är minst ${data.minOffset}px.",
892
+ "large": "Klickytan överstiger med råge minsta storlek på ${data.minOffset}px."
893
+ },
894
+ "fail": "Klickytan har otillräckligt utrymme till sina närmaste grannar. Säker klickbar yta har en diameter på ${data.closestOffset}px i stället för minst ${data.minOffset}px.",
895
+ "incomplete": {
896
+ "default": "Element med negativt tabindex har otillräckligt utrymme till sina närmaste grannar. Säker klickbar yta har en diameter på ${data.closestOffset}px i stället för minst ${data.minOffset}px. Är detta en klickyta?",
897
+ "nonTabbableNeighbor": "Klickytan har otillräckligt utrymme till sina närmaste grannar. Säker klickbar yta har en diameter på ${data.closestOffset}px i stället för minst ${data.minOffset}px. Är grannen en klickyta?",
898
+ "tooManyRects": "Kunde inte hämta klickytans storlek eftersom det finns för många överlappande element"
899
+ }
900
+ },
901
+ "target-size": {
902
+ "pass": {
903
+ "default": "Kontrollen har tillräcklig storlek (${data.width}px gånger ${data.height}px, ska vara minst ${data.minSize}px gånger ${data.minSize}px)",
904
+ "obscured": "Kontrollen ignoreras eftersom den är helt dold och därmed inte klickbar",
905
+ "large": "Klickytan överstiger med råge minsta storlek på ${data.minSize}px."
906
+ },
907
+ "fail": {
908
+ "default": "Klickytan har otillräcklig storlek (${data.width}px gånger ${data.height}px, ska vara minst ${data.minSize}px gånger ${data.minSize}px)",
909
+ "partiallyObscured": "Klickytan har otillräcklig storlek eftersom den är delvis dold (minsta utrymme är ${data.width}px gånger ${data.height}px, ska vara minst ${data.minSize}px gånger ${data.minSize}px)"
910
+ },
911
+ "incomplete": {
912
+ "default": "Element med negativt tabindex har otillräcklig storlek (${data.width}px gånger ${data.height}px, ska vara minst ${data.minSize}px gånger ${data.minSize}px). Är detta en klickyta?",
913
+ "contentOverflow": "Elementets storlek kunde inte bestämmas exakt på grund av överflödigt innehåll",
914
+ "partiallyObscured": "Element med negativt tabindex har otillräcklig storlek eftersom det är delvis dolt (minsta utrymme är ${data.width}px gånger ${data.height}px, ska vara minst ${data.minSize}px gånger ${data.minSize}px). Är detta en klickyta?",
915
+ "partiallyObscuredNonTabbable": "Klickytan har otillräcklig storlek eftersom den är delvis dold av en granne med negativt tabindex (minsta utrymme är ${data.width}px gånger ${data.height}px, ska vara minst ${data.minSize}px gånger ${data.minSize}px). Är grannen en klickyta?",
916
+ "tooManyRects": "Kunde inte hämta klickytans storlek eftersom det finns för många överlappande element"
917
+ }
918
+ },
919
+ "header-present": {
920
+ "pass": "Sidan har en rubrik",
921
+ "fail": "Sidan saknar rubrik"
922
+ },
923
+ "heading-order": {
924
+ "pass": "Rubriknivåerna är giltiga",
925
+ "fail": "Rubriknivåerna är ogiltiga",
926
+ "incomplete": "Det går inte att avgöra föregående rubrik"
927
+ },
928
+ "identical-links-same-purpose": {
929
+ "pass": "Det finns inga andra länkar med samma namn som går till en annan URL",
930
+ "incomplete": "Kontrollera att länkarna har samma syfte eller är avsiktligt tvetydiga."
931
+ },
932
+ "internal-link-present": {
933
+ "pass": "Giltig hoppa över-länk hittades",
934
+ "fail": "Ingen giltig hoppa över-länk hittades"
935
+ },
936
+ "landmark": {
937
+ "pass": "Sidan har en landmärkesregion",
938
+ "fail": "Sidan saknar en landmärkesregion"
939
+ },
940
+ "meta-refresh-no-exceptions": {
941
+ "pass": "<meta>-taggen uppdaterar inte sidan omedelbart",
942
+ "fail": "<meta>-taggen tvingar fram tidsinställd uppdatering av sidan"
943
+ },
944
+ "meta-refresh": {
945
+ "pass": "<meta>-taggen uppdaterar inte sidan omedelbart",
946
+ "fail": "<meta>-taggen tvingar fram tidsinställd uppdatering av sidan (mindre än 20 timmar)"
947
+ },
948
+ "p-as-heading": {
949
+ "pass": "<p>-element är inte formaterade som rubriker",
950
+ "fail": "Rubrikelement bör användas i stället för formaterade <p>-element",
951
+ "incomplete": "Det går inte att avgöra om <p>-element är formaterade som rubriker"
952
+ },
953
+ "region": {
954
+ "pass": "Allt sidinnehåll ingår i landmärken",
955
+ "fail": "En del sidinnehåll ingår inte i landmärken"
956
+ },
957
+ "skip-link": {
958
+ "pass": "Mål för hoppa över-länk finns",
959
+ "incomplete": "Målet för hoppa över-länken bör bli synligt vid aktivering",
960
+ "fail": "Inget mål för hoppa över-länk finns"
961
+ },
962
+ "unique-frame-title": {
963
+ "pass": "Elementets title-attribut är unikt",
964
+ "fail": "Elementets title-attribut är inte unikt"
965
+ },
966
+ "duplicate-id-active": {
967
+ "pass": "Dokumentet har inga aktiva element som delar samma id-attribut",
968
+ "fail": "Dokumentet har aktiva element med samma id-attribut: ${data}"
969
+ },
970
+ "duplicate-id-aria": {
971
+ "pass": "Dokumentet har inga element som refereras med ARIA eller etiketter som delar samma id-attribut",
972
+ "fail": "Dokumentet har flera element som refereras med ARIA med samma id-attribut: ${data}"
973
+ },
974
+ "duplicate-id": {
975
+ "pass": "Dokumentet har inga statiska element som delar samma id-attribut",
976
+ "fail": "Dokumentet har flera statiska element med samma id-attribut: ${data}"
977
+ },
978
+ "aria-label": {
979
+ "pass": "aria-label-attributet finns och är inte tomt",
980
+ "fail": "aria-label-attributet saknas eller är tomt"
981
+ },
982
+ "aria-labelledby": {
983
+ "pass": "aria-labelledby-attributet finns och refererar till element som är synliga för skärmläsare",
984
+ "fail": "aria-labelledby-attributet saknas, refererar till element som inte finns eller refererar till element som är tomma",
985
+ "incomplete": "Säkerställ att aria-labelledby refererar till ett befintligt element"
986
+ },
987
+ "avoid-inline-spacing": {
988
+ "pass": "Inga inbäddade stilar (inline styles) med '!important' som påverkar textavstånd har angetts",
989
+ "fail": {
990
+ "singular": "Ta bort '!important' från den inbäddade stilen ${data.values}, eftersom de flesta webbläsare inte stöder att åsidosätta detta",
991
+ "plural": "Ta bort '!important' från de inbäddade stilarna ${data.values}, eftersom de flesta webbläsare inte stöder att åsidosätta detta"
992
+ }
993
+ },
994
+ "button-has-visible-text": {
995
+ "pass": "Elementet har inre text som är synlig för skärmläsare",
996
+ "fail": "Elementet saknar inre text som är synlig för skärmläsare",
997
+ "incomplete": "Det går inte att avgöra om elementet har underelement"
998
+ },
999
+ "doc-has-title": {
1000
+ "pass": "Dokumentet har ett <title>-element som inte är tomt",
1001
+ "fail": "Dokumentet saknar ett <title>-element som inte är tomt"
1002
+ },
1003
+ "error-occurred": {
1004
+ "pass": "",
1005
+ "incomplete": "Axe stötte på ett fel; testa sidan för den här typen av problem manuellt"
1006
+ },
1007
+ "exists": {
1008
+ "pass": "Elementet finns inte",
1009
+ "incomplete": "Elementet finns"
1010
+ },
1011
+ "has-alt": {
1012
+ "pass": "Elementet har ett alt-attribut",
1013
+ "fail": "Elementet saknar ett alt-attribut"
1014
+ },
1015
+ "has-visible-text": {
1016
+ "pass": "Elementet har text som är synlig för skärmläsare",
1017
+ "fail": "Elementet saknar text som är synlig för skärmläsare",
1018
+ "incomplete": "Det går inte att avgöra om elementet har underelement"
1019
+ },
1020
+ "important-letter-spacing": {
1021
+ "pass": "letter-spacing i stilattributet är inte inställt på !important, eller uppfyller minimikravet",
1022
+ "fail": "letter-spacing i stilattributet får inte använda !important, eller måste vara minst ${data.minValue}em (nuvarande ${data.value}em)"
1023
+ },
1024
+ "important-line-height": {
1025
+ "pass": "line-height i stilattributet är inte inställt på !important, eller uppfyller minimikravet",
1026
+ "fail": "line-height i stilattributet får inte använda !important, eller måste vara minst ${data.minValue}em (nuvarande ${data.value}em)"
1027
+ },
1028
+ "important-word-spacing": {
1029
+ "pass": "word-spacing i stilattributet är inte inställt på !important, eller uppfyller minimikravet",
1030
+ "fail": "word-spacing i stilattributet får inte använda !important, eller måste vara minst ${data.minValue}em (nuvarande ${data.value}em)"
1031
+ },
1032
+ "is-on-screen": {
1033
+ "pass": "Elementet är inte synligt",
1034
+ "fail": "Elementet är synligt"
1035
+ },
1036
+ "non-empty-alt": {
1037
+ "pass": "Elementet har ett alt-attribut som inte är tomt",
1038
+ "fail": {
1039
+ "noAttr": "Elementet saknar alt-attribut",
1040
+ "emptyAttr": "Elementet har ett tomt alt-attribut"
1041
+ }
1042
+ },
1043
+ "non-empty-if-present": {
1044
+ "pass": {
1045
+ "default": "Elementet har inget value-attribut",
1046
+ "has-label": "Elementet har ett value-attribut som inte är tomt"
1047
+ },
1048
+ "fail": "Elementet har ett value-attribut och value-attributet är tomt"
1049
+ },
1050
+ "non-empty-placeholder": {
1051
+ "pass": "Elementet har ett placeholder-attribut",
1052
+ "fail": {
1053
+ "noAttr": "Elementet saknar placeholder-attribut",
1054
+ "emptyAttr": "Elementet har ett tomt placeholder-attribut"
1055
+ }
1056
+ },
1057
+ "non-empty-title": {
1058
+ "pass": "Elementet har ett title-attribut",
1059
+ "fail": {
1060
+ "noAttr": "Elementet saknar title-attribut",
1061
+ "emptyAttr": "Elementet har ett tomt title-attribut"
1062
+ }
1063
+ },
1064
+ "non-empty-value": {
1065
+ "pass": "Elementet har ett value-attribut som inte är tomt",
1066
+ "fail": {
1067
+ "noAttr": "Elementet saknar value-attribut",
1068
+ "emptyAttr": "Elementet har ett tomt value-attribut"
1069
+ }
1070
+ },
1071
+ "presentational-role": {
1072
+ "pass": "Elementets standardsemantik åsidosattes med role=\"${data.role}\"",
1073
+ "fail": {
1074
+ "default": "Elementets standardsemantik åsidosattes inte med role=\"none\" eller role=\"presentation\"",
1075
+ "globalAria": "Elementets roll är inte presentation eftersom det har ett globalt ARIA-attribut",
1076
+ "focusable": "Elementets roll är inte presentation eftersom det är fokuserbart",
1077
+ "both": "Elementets roll är inte presentation eftersom det har ett globalt ARIA-attribut och är fokuserbart",
1078
+ "iframe": "Att använda attributet \"title\" på ett ${data.nodeName}-element med en presentation-roll fungerar inkonsekvent mellan skärmläsare"
1079
+ }
1080
+ },
1081
+ "role-none": {
1082
+ "pass": "Elementets standardsemantik åsidosattes med role=\"none\"",
1083
+ "fail": "Elementets standardsemantik åsidosattes inte med role=\"none\""
1084
+ },
1085
+ "role-presentation": {
1086
+ "pass": "Elementets standardsemantik åsidosattes med role=\"presentation\"",
1087
+ "fail": "Elementets standardsemantik åsidosattes inte med role=\"presentation\""
1088
+ },
1089
+ "svg-non-empty-title": {
1090
+ "pass": "Elementet har ett underelement som är en titel",
1091
+ "fail": {
1092
+ "noTitle": "Elementet saknar underelement som är en titel",
1093
+ "emptyTitle": "Elementets underordnade titel är tom"
1094
+ },
1095
+ "incomplete": "Det går inte att avgöra om elementet har ett underelement som är en titel"
1096
+ },
1097
+ "caption-faked": {
1098
+ "pass": "Den första raden i en tabell används inte som en rubrik (caption)",
1099
+ "fail": "Det första underelementet i tabellen ska vara en caption i stället för en tabellcell"
1100
+ },
1101
+ "html5-scope": {
1102
+ "pass": "Scope-attributet används endast på tabellrubrikselement (<th>)",
1103
+ "fail": "I HTML 5 får scope-attribut endast användas på tabellrubrikselement (<th>)"
1104
+ },
1105
+ "same-caption-summary": {
1106
+ "pass": "Innehållet i summary-attributet och <caption> är inte duplicerat",
1107
+ "fail": "Innehållet i summary-attributet och <caption>-elementet är identiska",
1108
+ "incomplete": "Det går inte att avgöra om <table>-elementet har en caption"
1109
+ },
1110
+ "scope-value": {
1111
+ "pass": "Scope-attributet används korrekt",
1112
+ "fail": "Värdet på scope-attributet får endast vara 'row' eller 'col'"
1113
+ },
1114
+ "td-has-header": {
1115
+ "pass": "Alla dataceller som inte är tomma har tabellrubriker",
1116
+ "fail": "Vissa dataceller som inte är tomma saknar tabellrubriker"
1117
+ },
1118
+ "td-headers-attr": {
1119
+ "pass": "Headers-attributet används uteslutande för att referera till andra rubrikceller i tabellen",
1120
+ "incomplete": "Headers-attributet är tomt",
1121
+ "fail": {
1122
+ "cell-header-not-in-table": "Headers-attributet används inte uteslutande för att referera till andra rubrikceller i tabellen",
1123
+ "cell-header-not-th": "Headers-attributet måste referera till rubrikceller, inte dataceller",
1124
+ "header-refs-self": "Elementet med headers-attribut refererar till sig självt"
1125
+ }
1126
+ },
1127
+ "th-has-data-cells": {
1128
+ "pass": "Alla tabellrubrikceller refererar till dataceller",
1129
+ "fail": "Vissa tabellrubrikceller refererar inte till dataceller",
1130
+ "incomplete": "Tabellens dataceller saknas eller är tomma"
1131
+ },
1132
+ "hidden-content": {
1133
+ "pass": "Allt innehåll på sidan har analyserats.",
1134
+ "fail": "Det uppstod problem vid analysen av innehållet på den här sidan.",
1135
+ "incomplete": "Det finns dolt innehåll på sidan som inte analyserades. Du måste utlösa visningen av detta innehåll för att kunna analysera det."
1136
+ }
1137
+ },
1138
+ "failureSummaries": {
1139
+ "any": {
1140
+ "failureMessage": "Åtgärda något av följande:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
1141
+ },
1142
+ "none": {
1143
+ "failureMessage": "Åtgärda alla följande:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
1144
+ }
1145
+ },
1146
+ "incompleteFallbackMessage": "axe kunde inte avgöra orsaken. Dags att plocka fram elementinspektören!"
1147
+ }