govuk_publishing_components 38.2.0 → 38.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/components/feedback.js +0 -38
  3. data/app/views/govuk_publishing_components/components/_share_links.html.erb +2 -2
  4. data/app/views/govuk_publishing_components/components/feedback/_survey_signup_form.html.erb +7 -45
  5. data/config/locales/ar.yml +1 -1
  6. data/config/locales/az.yml +1 -1
  7. data/config/locales/be.yml +1 -1
  8. data/config/locales/bg.yml +1 -1
  9. data/config/locales/bn.yml +1 -1
  10. data/config/locales/cs.yml +1 -1
  11. data/config/locales/cy.yml +1 -1
  12. data/config/locales/da.yml +1 -1
  13. data/config/locales/de.yml +1 -1
  14. data/config/locales/dr.yml +1 -1
  15. data/config/locales/el.yml +1 -1
  16. data/config/locales/en.yml +1 -1
  17. data/config/locales/es-419.yml +1 -1
  18. data/config/locales/es.yml +1 -1
  19. data/config/locales/et.yml +1 -1
  20. data/config/locales/fa.yml +1 -1
  21. data/config/locales/fi.yml +1 -1
  22. data/config/locales/fr.yml +1 -1
  23. data/config/locales/gd.yml +1 -1
  24. data/config/locales/gu.yml +1 -1
  25. data/config/locales/he.yml +1 -1
  26. data/config/locales/hi.yml +1 -1
  27. data/config/locales/hr.yml +1 -1
  28. data/config/locales/hu.yml +1 -1
  29. data/config/locales/hy.yml +1 -1
  30. data/config/locales/id.yml +1 -1
  31. data/config/locales/is.yml +1 -1
  32. data/config/locales/it.yml +1 -1
  33. data/config/locales/ja.yml +1 -1
  34. data/config/locales/ka.yml +1 -1
  35. data/config/locales/kk.yml +1 -1
  36. data/config/locales/lt.yml +1 -1
  37. data/config/locales/lv.yml +1 -1
  38. data/config/locales/ms.yml +1 -1
  39. data/config/locales/mt.yml +1 -1
  40. data/config/locales/nl.yml +1 -1
  41. data/config/locales/no.yml +1 -1
  42. data/config/locales/pa-pk.yml +1 -1
  43. data/config/locales/pa.yml +1 -1
  44. data/config/locales/pl.yml +1 -1
  45. data/config/locales/ps.yml +1 -1
  46. data/config/locales/pt.yml +1 -1
  47. data/config/locales/ro.yml +1 -1
  48. data/config/locales/ru.yml +1 -1
  49. data/config/locales/si.yml +1 -1
  50. data/config/locales/sk.yml +1 -1
  51. data/config/locales/sl.yml +1 -1
  52. data/config/locales/so.yml +1 -1
  53. data/config/locales/sq.yml +1 -1
  54. data/config/locales/sr.yml +1 -1
  55. data/config/locales/sv.yml +1 -1
  56. data/config/locales/sw.yml +1 -1
  57. data/config/locales/ta.yml +1 -1
  58. data/config/locales/th.yml +1 -1
  59. data/config/locales/tk.yml +1 -1
  60. data/config/locales/tr.yml +1 -1
  61. data/config/locales/uk.yml +1 -1
  62. data/config/locales/ur.yml +1 -1
  63. data/config/locales/uz.yml +1 -1
  64. data/config/locales/vi.yml +1 -1
  65. data/config/locales/zh-hk.yml +1 -1
  66. data/config/locales/zh-tw.yml +1 -1
  67. data/config/locales/zh.yml +1 -1
  68. data/lib/govuk_publishing_components/version.rb +1 -1
  69. data/node_modules/axe-core/README.md +7 -3
  70. data/node_modules/axe-core/axe.js +11587 -10370
  71. data/node_modules/axe-core/axe.min.js +2 -2
  72. data/node_modules/axe-core/locales/_template.json +13 -5
  73. data/node_modules/axe-core/locales/da.json +3 -1
  74. data/node_modules/axe-core/locales/de.json +207 -31
  75. data/node_modules/axe-core/locales/el.json +1069 -0
  76. data/node_modules/axe-core/locales/es.json +3 -1
  77. data/node_modules/axe-core/locales/eu.json +3 -1
  78. data/node_modules/axe-core/locales/fr.json +3 -1
  79. data/node_modules/axe-core/locales/he.json +3 -1
  80. data/node_modules/axe-core/locales/it.json +1108 -0
  81. data/node_modules/axe-core/locales/ja.json +3 -1
  82. data/node_modules/axe-core/locales/ko.json +3 -1
  83. data/node_modules/axe-core/locales/no_NB.json +3 -1
  84. data/node_modules/axe-core/locales/pl.json +3 -1
  85. data/node_modules/axe-core/locales/pt_BR.json +3 -1
  86. data/node_modules/axe-core/locales/zh_CN.json +1116 -0
  87. data/node_modules/axe-core/locales/zh_TW.json +1108 -0
  88. data/node_modules/axe-core/package.json +19 -21
  89. data/node_modules/axe-core/sri-history.json +4 -0
  90. metadata +7 -3
@@ -0,0 +1,1108 @@
1
+ {
2
+ "lang": "it",
3
+ "rules": {
4
+ "accesskeys": {
5
+ "description": "Assicurati che ogni valore dell'attributo accesskey sia univoco",
6
+ "help": "Il valore dell'attributo accesskey deve essere univoco"
7
+ },
8
+ "area-alt": {
9
+ "description": "Assicurati che gli elementi <area> delle mappe immagine abbiano un testo alternativo",
10
+ "help": "Gli elementi <area> attivi devono avere un testo alternativo"
11
+ },
12
+ "aria-allowed-attr": {
13
+ "description": "Assicurati che il ruolo di un elemento supporti i suoi attributi ARIA",
14
+ "help": "Gli elementi devono utilizzare solo gli attributi ARIA supportati"
15
+ },
16
+ "aria-allowed-role": {
17
+ "description": "Assicurati che il valore dell'attributo role sia appropriato per l'elemento",
18
+ "help": "Il ruolo ARIA deve essere appropriato per l'elemento"
19
+ },
20
+ "aria-braille-equivalent": {
21
+ "description": "Assicurati che aria-braillelabel e aria-brailleroledescription abbiano un equivalente non braille",
22
+ "help": "Gli attributi aria-braille devono avere un equivalente non braille"
23
+ },
24
+ "aria-command-name": {
25
+ "description": "Assicurati che ogni bottone, link e menuitem gestito con ARIA abbia un nome accessibile",
26
+ "help": "I controlli gestiti con ARIA devono avere un nome accessibile"
27
+ },
28
+ "aria-conditional-attr": {
29
+ "description": "Assicurati che gli attributi ARIA vengano utilizzati come descritto nella specifica del ruolo dell'elemento",
30
+ "help": "Gli attributi ARIA devono essere utilizzati come specificato per il ruolo dell'elemento"
31
+ },
32
+ "aria-deprecated-role": {
33
+ "description": "Assicurati che gli elementi non utilizzino ruoli obsoleti",
34
+ "help": "I ruoli ARIA obsoleti non devono essere utilizzati"
35
+ },
36
+ "aria-dialog-name": {
37
+ "description": "Assicurati che ogni nodo dialog e alertdialog ARIA abbia un nome accessibile",
38
+ "help": "I nodi dialog e alertdialog ARIA devono avere un nome accessibile"
39
+ },
40
+ "aria-hidden-body": {
41
+ "description": "Assicurati che aria-hidden=\"true\" non sia presente sull'elemento body del documento",
42
+ "help": "aria-hidden=\"true\" non deve essere presente sull'elemento body del documento"
43
+ },
44
+ "aria-hidden-focus": {
45
+ "description": "Assicurati che gli elementi nascosti con aria-hidden non possano nè ricevere focus, nè contengano elementi che possono ricevere focus",
46
+ "help": "L'elemento nascosto con aria-hidden non deve ricevere focus, nè può contenere elementi che ricevono focus"
47
+ },
48
+ "aria-input-field-name": {
49
+ "description": "Assicurati che ogni input gestito con ARIA abbia un nome accessibile",
50
+ "help": "Gli input gestiti con ARIA devono avere un nome accessibile"
51
+ },
52
+ "aria-meter-name": {
53
+ "description": "Assicurati che ogni nodo meter gestito con ARIA abbia un nome accessibile",
54
+ "help": "I nodi meter gestiti con ARIA devono avere un nome accessibile"
55
+ },
56
+ "aria-progressbar-name": {
57
+ "description": "Assicurati che ogni nodo progessbar gestito con ARIA abbia un nome accessibile",
58
+ "help": "I nodi progressbar gestiti con ARIA devono avere un nome accessibile"
59
+ },
60
+ "aria-prohibited-attr": {
61
+ "description": "Assicurati che gli attributi ARIA non siano proibiti per il ruolo di un elemento",
62
+ "help": "Gli elementi devono utilizzare solo gli attributi ARIA consentiti"
63
+ },
64
+ "aria-required-attr": {
65
+ "description": "Assicurati che gli elementi con ruoli ARIA abbiano tutti gli attributi ARIA obbligatori",
66
+ "help": "Gli attributi ARIA obbligatori devono essere forniti"
67
+ },
68
+ "aria-required-children": {
69
+ "description": "Assicurati che gli elementi con un ruolo ARIA che richiede ruoli figlio contengano questi ultimi",
70
+ "help": "Alcuni ruoli ARIA devono contenere ruoli figlio specifici"
71
+ },
72
+ "aria-required-parent": {
73
+ "description": "Assicurati che gli elementi con un ruolo ARIA che richiede ruoli genitore siano contenuti da questi ultimi",
74
+ "help": "Alcuni ruoli ARIA devono essere contenuti da ruoli genitore specifici"
75
+ },
76
+ "aria-roledescription": {
77
+ "description": "Assicurati che aria-roledescription venga utilizzato solo su elementi con un ruolo implicito o esplicito",
78
+ "help": "aria-roledescription deve essere presente solo su elementi con un ruolo semantico"
79
+ },
80
+ "aria-roles": {
81
+ "description": "Assicurati che tutti gli elementi con un attributo role utilizzino un valore valido",
82
+ "help": "I ruoli ARIA utilizzati devono essere conformi ai valori validi"
83
+ },
84
+ "aria-text": {
85
+ "description": "Assicurati che role=\"text\" venga utilizzato su elementi i cui discendenti non ricevono focus",
86
+ "help": "\"role=text\" non deve avere discendenti che possono ricevere focus"
87
+ },
88
+ "aria-toggle-field-name": {
89
+ "description": "Assicurati che ogni bottone toggle gestito con aria ARIA abbia un nome accessibile",
90
+ "help": "I bottoni toggle gestiti con ARIA devono avere un nome accessibile"
91
+ },
92
+ "aria-tooltip-name": {
93
+ "description": "Assicurati che ogni nodo tooltip gestito con ARIA abbia un nome accessibile",
94
+ "help": "I nodi tooltip gestiti con ARIA devono avere un nome accessibile"
95
+ },
96
+ "aria-treeitem-name": {
97
+ "description": "Assicurati che ogni nodo treeitem gestito con ARIA abbia un nome accessibile",
98
+ "help": "I nodi treeitem gestiti con ARIA devono avere un nome accessibile"
99
+ },
100
+ "aria-valid-attr-value": {
101
+ "description": "Assicurati che tutti gli attributi ARIA abbiano valori validi",
102
+ "help": "Gli attributi ARIA devono essere conformi ai valori validi"
103
+ },
104
+ "aria-valid-attr": {
105
+ "description": "Assicurati che gli attributi che iniziano con aria- siano attributi ARIA validi",
106
+ "help": "Gli attributi ARIA devono essere conformi ai nomi validi"
107
+ },
108
+ "audio-caption": {
109
+ "description": "Assicurati che gli elementi <audio> abbiano didascalie",
110
+ "help": "Gli elementi <audio> devono avere una didascalia"
111
+ },
112
+ "autocomplete-valid": {
113
+ "description": "Assicurati che l'attributo autocomplete sia corretto e adatto al campo specifico",
114
+ "help": "L'attributo autocomplete deve essere utilizzato correttamente"
115
+ },
116
+ "avoid-inline-spacing": {
117
+ "description": "Assicurati che la spaziatura del testo impostata tramite attributi di stile possa essere regolata con fogli di stile personalizzati",
118
+ "help": "La spaziatura del testo inline deve poter essere regolata con fogli di stile personalizzati"
119
+ },
120
+ "blink": {
121
+ "description": "Assicurati che non vengano utilizzati elementi <blink>",
122
+ "help": "Gli elementi <blink> sono deprecati e non devono essere utilizzati"
123
+ },
124
+ "button-name": {
125
+ "description": "Assicurati che i pulsanti abbiano un testo distinguibile",
126
+ "help": "I pulsanti devono avere un testo distinguibile"
127
+ },
128
+ "bypass": {
129
+ "description": "Assicurati che ogni pagina abbia almeno un meccanismo per consentire all'utente di ignorare la navigazione e passare direttamente al contenuto",
130
+ "help": "La pagina deve avere un modo per ignorare i blocchi ripetuti"
131
+ },
132
+ "color-contrast-enhanced": {
133
+ "description": "Assicurati che il contrasto tra i colori in primo piano e di sfondo soddisfi le soglie di rapporto di contrasto avanzato WCAG 2 AAA",
134
+ "help": "Gli elementi devono soddisfare le soglie di rapporto di contrasto di colore avanzato"
135
+ },
136
+ "color-contrast": {
137
+ "description": "Assicurati che il contrasto tra i colori in primo piano e di sfondo soddisfi le soglie minime del rapporto di contrasto WCAG 2 AA",
138
+ "help": "Gli elementi devono soddisfare le soglie minime del rapporto di contrasto di colore"
139
+ },
140
+ "css-orientation-lock": {
141
+ "description": "Assicurati che il contenuto non sia bloccato in un'orientamento di visualizzazione specifico e che sia operabile in tutti gli orientamenti di visualizzazione",
142
+ "help": "Le Media queries CSS non devono bloccare l'orientamento di visualizzazione"
143
+ },
144
+ "definition-list": {
145
+ "description": "Assicurati che gli elementi <dl> siano strutturati correttamente",
146
+ "help": "Gli elementi <dl> devono contenere direttamente solo gruppi <dt> e <dd> ordinati correttamente, <script>, <template> o elementi <div>"
147
+ },
148
+ "dlitem": {
149
+ "description": "Assicurati che gli elementi <dt> e <dd> siano contenuti in un <dl>",
150
+ "help": "Gli elementi <dt> e <dd> devono essere contenuti in un <dl>"
151
+ },
152
+ "document-title": {
153
+ "description": "Assicurati che ogni documento HTML contenga un elemento <title> non vuoto",
154
+ "help": "I documenti devono avere un elemento <title> per aiutare nella navigazione"
155
+ },
156
+ "duplicate-id-active": {
157
+ "description": "Assicurati che ogni valore dell'attributo id degli elementi attivi sia univoco",
158
+ "help": "Gli ID degli elementi attivi devono essere univoci"
159
+ },
160
+ "duplicate-id-aria": {
161
+ "description": "Assicurati che ogni valore dell'attributo id utilizzato in ARIA e nelle etichette sia univoco",
162
+ "help": "Gli ID utilizzati in ARIA e nelle etichette devono essere univoci"
163
+ },
164
+ "duplicate-id": {
165
+ "description": "Assicurati che ogni valore dell'attributo id sia univoco",
166
+ "help": "Il valore dell'attributo id deve essere univoco"
167
+ },
168
+ "empty-heading": {
169
+ "description": "Assicurati che le intestazioni abbiano un testo distinguibile",
170
+ "help": "Le intestazioni non devono essere vuote"
171
+ },
172
+ "empty-table-header": {
173
+ "description": "Assicurati che le intestazioni di tabella abbiano un testo distinguibile",
174
+ "help": "Il testo dell'intestazione di tabella non deve essere vuoto"
175
+ },
176
+ "focus-order-semantics": {
177
+ "description": "Assicurati che gli elementi presenti nell'ordine di focus abbiano un ruolo appropriato per il contenuto interattivo",
178
+ "help": "Gli elementi presenti nell'ordine di focus devono avere un ruolo appropriato"
179
+ },
180
+ "form-field-multiple-labels": {
181
+ "description": "Assicurati che il campo non abbia elementi label multipli associati",
182
+ "help": "Il campo deve avere un solo elemento label associato"
183
+ },
184
+ "frame-focusable-content": {
185
+ "description": "Assicurati che gli elementi <frame> e <iframe> con contenuto che può ricevere focus non abbiano tabindex=-1",
186
+ "help": "I frames con contenuto che può ricecere focus non devono avere tabindex=-1"
187
+ },
188
+ "frame-tested": {
189
+ "description": "Assicurati che gli elementi <iframe> e <frame> contengano lo script axe-core",
190
+ "help": "I frames devono essere testate con axe-core"
191
+ },
192
+ "frame-title-unique": {
193
+ "description": "Assicurati che gli elementi <iframe> e <frame> contengano un attributo title univoco",
194
+ "help": "I frames devono avere un attributo title univoco"
195
+ },
196
+ "frame-title": {
197
+ "description": "Assicurati che gli elementi <iframe> e <frame> abbiano un nome accessibile",
198
+ "help": "I frames devono avere un nome accessibile"
199
+ },
200
+ "heading-order": {
201
+ "description": "Assicurati che l'ordine delle intestazioni sia semanticamente corretto",
202
+ "help": "I livelli delle intestazioni possono aumentare solo di uno"
203
+ },
204
+ "hidden-content": {
205
+ "description": "Informa gli utenti sul contenuto nascosto",
206
+ "help": "Il contenuto nascosto nella pagina deve essere analizzato"
207
+ },
208
+ "html-has-lang": {
209
+ "description": "Assicurati che ogni documento HTML abbia un attributo lang",
210
+ "help": "L'elemento <html> deve avere un attributo lang"
211
+ },
212
+ "html-lang-valid": {
213
+ "description": "Assicurati che l'attributo lang dell'elemento <html> abbia un valore valido",
214
+ "help": "L'attributo lang dell'elemento <html> deve avere un valore valido"
215
+ },
216
+ "html-xml-lang-mismatch": {
217
+ "description": "Assicurati che gli elementi HTML con entrambi gli attributi lang e xml:lang siano coerenti con la lingua di base della pagina",
218
+ "help": "Gli elementi con attributi lang e xml:lang devono avere la stessa lingua di base"
219
+ },
220
+ "identical-links-same-purpose": {
221
+ "description": "Assicurati che i collegamenti con lo stesso nome accessibile abbiano uno scopo simile",
222
+ "help": "I collegamenti con lo stesso nome devono avere uno scopo simile"
223
+ },
224
+ "image-alt": {
225
+ "description": "Assicurati che gli elementi <img> abbiano un testo alternativo o un ruolo none o presentation",
226
+ "help": "Le immagini devono avere un testo alternativo"
227
+ },
228
+ "image-redundant-alt": {
229
+ "description": "Assicurati che l'alternativa testuale delle immagini non venga ripetuta come testo",
230
+ "help": "Il testo alternativo delle immagini non deve essere ripetuto come testo"
231
+ },
232
+ "input-button-name": {
233
+ "description": "Assicurati che i pulsanti di input abbiano un testo distinguibile",
234
+ "help": "I pulsanti di input devono avere un testo distinguibile"
235
+ },
236
+ "input-image-alt": {
237
+ "description": "Assicurati che gli elementi <input type=\"image\"> abbiano un testo alternativo",
238
+ "help": "I pulsanti immagine devono avere un testo alternativo"
239
+ },
240
+ "label-content-name-mismatch": {
241
+ "description": "Assicurati che gli elementi etichettati tramite il loro contenuto abbiano il loro testo visibile come parte del loro nome accessibile",
242
+ "help": "Gli elementi devono avere il loro testo visibile come parte del loro nome accessibile"
243
+ },
244
+ "label-title-only": {
245
+ "description": "Assicurati che ogni elemento del modulo abbia un'etichetta visibile e non sia etichettato esclusivamente utilizzando etichette nascoste, o gli attributi title o aria-describedby",
246
+ "help": "Gli elementi del modulo devono avere un'etichetta visibile"
247
+ },
248
+ "label": {
249
+ "description": "Assicurati che ogni elemento del modulo abbia un'etichetta",
250
+ "help": "Gli elementi del modulo devono avere etichette"
251
+ },
252
+ "landmark-banner-is-top-level": {
253
+ "description": "Assicurati che il landmark banner sia a livello superiore",
254
+ "help": "Il landmark banner non deve essere contenuto in un altro landmark"
255
+ },
256
+ "landmark-complementary-is-top-level": {
257
+ "description": "Assicurati che il landmark complementary o l'elemento aside sia a livello superiore",
258
+ "help": "L'elemento aside non deve essere contenuto in un altro landmark"
259
+ },
260
+ "landmark-contentinfo-is-top-level": {
261
+ "description": "Assicurati che il landmark contentinfo sia a livello superiore",
262
+ "help": "Il landmark contentinfo non deve essere contenuto in un altro landmark"
263
+ },
264
+ "landmark-main-is-top-level": {
265
+ "description": "Assicurati che il landmark main sia a livello superiore",
266
+ "help": "Il landmark main non deve essere contenuto in un altro landmark"
267
+ },
268
+ "landmark-no-duplicate-banner": {
269
+ "description": "Assicurati che il documento abbia al massimo un landmark banner",
270
+ "help": "Il documento non deve avere più di un landmark banner"
271
+ },
272
+ "landmark-no-duplicate-contentinfo": {
273
+ "description": "Assicurati che il documento abbia al massimo un landmark contentinfo",
274
+ "help": "Il documento non deve avere più di un landmark contentinfo"
275
+ },
276
+ "landmark-no-duplicate-main": {
277
+ "description": "Assicurati che il documento abbia al massimo un landmark main",
278
+ "help": "Il documento non deve avere più di un landmark main"
279
+ },
280
+ "landmark-one-main": {
281
+ "description": "Assicurati che il documento abbia un landmark main",
282
+ "help": "Il documento deve avere un landmark main"
283
+ },
284
+ "landmark-unique": {
285
+ "help": "Assicurati che i landmark siano univoci",
286
+ "description": "I landmark devono avere un ruolo univoco o una combinazione univoca di ruolo/etichetta/titolo (come ad esempio un nome accessibile univoco)"
287
+ },
288
+ "link-in-text-block": {
289
+ "description": "Assicurati che i collegamenti siano distinguibili dal testo circostante in un modo che non si basa sul colore",
290
+ "help": "I collegamenti devono essere distinguibili senza fare affidamento sul colore"
291
+ },
292
+ "link-name": {
293
+ "description": "Assicurati che i collegamenti abbiano un testo distinguibile",
294
+ "help": "I collegamenti devono avere un testo distinguibile"
295
+ },
296
+ "list": {
297
+ "description": "Assicurati che le liste siano strutturate correttamente",
298
+ "help": "<ul> e <ol> devono contenere direttamente solo elementi <li>, <script> o <template>"
299
+ },
300
+ "listitem": {
301
+ "description": "Assicurati che gli elementi <li> siano utilizzati semanticamente",
302
+ "help": "Gli elementi <li> devono essere contenuti in un <ul> o <ol>"
303
+ },
304
+ "marquee": {
305
+ "description": "Assicurati che gli elementi <marquee> non siano utilizzati",
306
+ "help": "Gli elementi <marquee> sono deprecati e non devono essere utilizzati"
307
+ },
308
+ "meta-refresh-no-exceptions": {
309
+ "description": "Assicurati che <meta http-equiv=\"refresh\"> non venga utilizzato per il refresh ritardato",
310
+ "help": "Il refresh ritardato non deve essere utilizzato"
311
+ },
312
+ "meta-refresh": {
313
+ "description": "Assicurati che <meta http-equiv=\"refresh\"> non venga utilizzato per il refresh ritardato",
314
+ "help": "Il refresh ritardato al di sotto delle 20 ore non deve essere utilizzato"
315
+ },
316
+ "meta-viewport-large": {
317
+ "description": "Assicurati che <meta name=\"viewport\"> possa scalare una quantità significativa",
318
+ "help": "Gli utenti devono essere in grado di ingrandire e scalare il testo fino al 500%"
319
+ },
320
+ "meta-viewport": {
321
+ "description": "Assicurati che <meta name=\"viewport\"> non disabiliti il ridimensionamento e lo zoom del testo",
322
+ "help": "Lo zoom e il ridimensionamento non devono essere disabilitati"
323
+ },
324
+ "nested-interactive": {
325
+ "description": "Assicurati che i controlli interattivi non siano annidati, poiché non vengono sempre annunciati dagli screen reader o possono causare problemi di focus per le tecnologie assistive",
326
+ "help": "I controlli interattivi non devono essere annidati"
327
+ },
328
+ "no-autoplay-audio": {
329
+ "description": "Assicurati che gli elementi <video> o <audio> non riproducano automaticamente l'audio per più di 3 secondi senza un meccanismo di controllo per arrestare o disattivare l'audio",
330
+ "help": "Gli elementi <video> o <audio> non devono essere riprodotti automaticamente"
331
+ },
332
+ "object-alt": {
333
+ "description": "Assicurati che gli elementi <object> abbiano un testo alternativo",
334
+ "help": "Gli elementi <object> devono avere un testo alternativo"
335
+ },
336
+ "p-as-heading": {
337
+ "description": "Assicurati che il grassetto, il corsivo e le dimensioni del font non vengano utilizzati per rappresentare elementi <p> come intestazione",
338
+ "help": "Gli elementi <p> personalizzati non devono essere utilizzati come intestazioni"
339
+ },
340
+ "page-has-heading-one": {
341
+ "description": "Assicurati che la pagina, o almeno uno dei suoi frame, contenga un'intestazione di livello uno",
342
+ "help": "La pagina dovrebbe contenere un'intestazione di livello uno"
343
+ },
344
+ "presentation-role-conflict": {
345
+ "description": "Gli elementi contrassegnati come presentazionali non devono avere attributi ARIA globali o tabindex per assicurare che tutti gli screen reader li ignorino",
346
+ "help": "Assicurati che gli elementi contrassegnati come presentazionali vengano ignorati in modo coerente"
347
+ },
348
+ "region": {
349
+ "description": "Assicurati che tutti i contenuti della pagina siano contenuti nei landmark",
350
+ "help": "Tutti i contenuti della pagina dovrebbero essere contenuti nei landmark"
351
+ },
352
+ "role-img-alt": {
353
+ "description": "Assicurati che gli elementi [role=\"img\"] abbiano un testo alternativo",
354
+ "help": "Gli elementi [role=\"img\"] devono avere un testo alternativo"
355
+ },
356
+ "scope-attr-valid": {
357
+ "description": "Assicurati che l'attributo scope venga utilizzato correttamente nelle tabelle",
358
+ "help": "L'attributo scope deve essere utilizzato correttamente"
359
+ },
360
+ "scrollable-region-focusable": {
361
+ "description": "Assicurati che gli elementi che hanno contenuti scorrevoli siano accessibili da tastiera",
362
+ "help": "La regione scrollabile deve avere accesso da tastiera"
363
+ },
364
+ "select-name": {
365
+ "description": "Assicurati che l'elemento select abbia un nome accessibile",
366
+ "help": "L'elemento select deve avere un nome accessibile"
367
+ },
368
+ "server-side-image-map": {
369
+ "description": "Assicurati che non vengano utilizzate mappe immagini lato server",
370
+ "help": "Le mappe immagini lato server non devono essere utilizzate"
371
+ },
372
+ "skip-link": {
373
+ "description": "Assicurati che tutti gli skip link puntino ad un elemento che può ricevere focus",
374
+ "help": "L'elemento a cui lo skip link punta deve esistere e deve poter ricevere focus"
375
+ },
376
+ "svg-img-alt": {
377
+ "description": "Assicurati che gli elementi <svg> con un ruolo img, graphics-document o graphics-symbol abbiano un testo accessibile",
378
+ "help": "Gli elementi <svg> con un ruolo img devono avere un testo alternativo"
379
+ },
380
+ "tabindex": {
381
+ "description": "Assicurati che i valori degli attributi tabindex non siano maggiori di 0",
382
+ "help": "Gli elementi non devono avere un tabindex maggiore di zero"
383
+ },
384
+ "table-duplicate-name": {
385
+ "description": "Assicurati che l'elemento <caption> non contenga lo stesso testo dell'attributo summary",
386
+ "help": "Il riepilogo e la didascalia di una tabella non devono essere uguali"
387
+ },
388
+ "table-fake-caption": {
389
+ "description": "Assicurati che le tabelle con una didascalia utilizzino l'elemento <caption>.",
390
+ "help": "Le celle di dati o di intestazione non devono essere utilizzate per fornire una didascalia a una tabella di dati."
391
+ },
392
+ "target-size": {
393
+ "description": "Assicurati che gli elementi che possono essere attivati tramite puntatore abbiano dimensioni e spaziature sufficienti",
394
+ "help": "Tutti gli elementi che possono essere attivati tramite puntatore devono avere una largezza di 24px, o lasciare spazio sufficiente"
395
+ },
396
+ "td-has-header": {
397
+ "description": "Assicurati che ogni cella di dati non vuota in una tabella più grande di 3x3 abbia una o più intestazioni di tabella",
398
+ "help": "Le celle <td> non vuote in una tabella di dimensioni considerevoli devono avere un'intestazione di tabella associata"
399
+ },
400
+ "td-headers-attr": {
401
+ "description": "Assicurati che ogni cella in una tabella che utilizza l'attributo headers si riferisca solo ad altre celle nella stessa tabella",
402
+ "help": "Le celle di tabella che utilizzano l'attributo headers devono riferirsi solo a celle nella stessa tabella"
403
+ },
404
+ "th-has-data-cells": {
405
+ "description": "Assicurati che gli elementi <th> e gli elementi con role=columnheader/rowheader descrivano le celle di dati corrispondenti",
406
+ "help": "Le intestazioni di tabella in una tabella di dati devono fare riferimento a celle di dati"
407
+ },
408
+ "valid-lang": {
409
+ "description": "Assicurati che gli attributi lang abbiano valori validi",
410
+ "help": "L'attributo lang deve avere un valore valido"
411
+ },
412
+ "video-caption": {
413
+ "description": "Assicurati che gli elementi <video> abbiano didascalie",
414
+ "help": "Gli elementi <video> devono avere didascalie"
415
+ }
416
+ },
417
+ "checks": {
418
+ "abstractrole": {
419
+ "pass": "I ruoli astratti non vengono utilizzati",
420
+ "fail": {
421
+ "singular": "Il ruolo astratto non può essere utilizzato direttamente: ${data.values}",
422
+ "plural": "I ruoli astratti non possono essere utilizzati direttamente: ${data.values}"
423
+ }
424
+ },
425
+ "aria-allowed-attr": {
426
+ "pass": "Gli attributi ARIA sono utilizzati correttamente per il ruolo definito",
427
+ "fail": {
428
+ "singular": "L'attributo ARIA non è consentito: ${data.values}",
429
+ "plural": "Gli attributi ARIA non sono consentiti: ${data.values}"
430
+ },
431
+ "incomplete": "Verifica che non ci siano problemi se l'attributo ARIA viene ignorato su questo elemento: ${data.values}"
432
+ },
433
+ "aria-allowed-role": {
434
+ "pass": "Il ruolo ARIA è consentito per l'elemento dato",
435
+ "fail": {
436
+ "singular": "Il ruolo ARIA ${data.values} non è consentito per l'elemento dato",
437
+ "plural": "I ruoli ARIA ${data.values} non sono consentiti per l'elemento dato"
438
+ },
439
+ "incomplete": {
440
+ "singular": "Il ruolo ARIA ${data.values} deve essere rimosso quando l'elemento viene reso visibile, poiché non è consentito per l'elemento",
441
+ "plural": "I ruoli ARIA ${data.values} devono essere rimossi quando l'elemento viene reso visibile, poiché non sono consentiti per l'elemento"
442
+ }
443
+ },
444
+ "aria-busy": {
445
+ "pass": "L'elemento ha un attributo aria-busy",
446
+ "fail": "L'elemento utilizza aria-busy=\"true\" mentre viene mostrato un caricamento"
447
+ },
448
+ "aria-conditional-attr": {
449
+ "pass": "L'attributo ARIA è consentito",
450
+ "fail": {
451
+ "checkbox": "Rimuovi aria-checked, o impostalo su \"${data.checkState}\" per farlo combaciare allo stato reale della casella di controllo",
452
+ "rowSingular": "Questo attributo è supportato con le righe treegrid, ma non ${data.ownerRole}: ${data.invalidAttrs}",
453
+ "rowPlural": "Questi attributi sono supportati con le righe treegrid, ma non ${data.ownerRole}: ${data.invalidAttrs}"
454
+ }
455
+ },
456
+ "aria-errormessage": {
457
+ "pass": "aria-errormessage esiste e fa riferimento ad elementi visibili agli screen reader che utilizzano una tecnica aria-errormessage supportata",
458
+ "fail": {
459
+ "singular": "Il valore aria-errormessage `${data.values}` deve utilizzare una tecnica per annunciare il messaggio (ad esempio, aria-live, aria-describedby, role=alert, ecc.)",
460
+ "plural": "I valori aria-errormessage `${data.values}` devono utilizzare una tecnica per annunciare il messaggio (ad esempio, aria-live, aria-describedby, role=alert, ecc.)",
461
+ "hidden": "Il valore aria-errormessage `${data.values}` non può fare riferimento a un elemento nascosto"
462
+ },
463
+ "incomplete": {
464
+ "singular": "assicurati che il valore aria-errormessage `${data.values}` faccia riferimento a un elemento esistente",
465
+ "plural": "assicurati che i valori aria-errormessage `${data.values}` facciano riferimento a elementi esistenti",
466
+ "idrefs": "non è possibile determinare se l'elemento aria-errormessage esiste nella pagina: ${data.values}"
467
+ }
468
+ },
469
+ "aria-hidden-body": {
470
+ "pass": "Non è presente l'attributo aria-hidden sull'elemento body del documento",
471
+ "fail": "aria-hidden=true non deve essere presente sull'elemento body del documento"
472
+ },
473
+ "aria-level": {
474
+ "pass": "I valori aria-level sono validi",
475
+ "incomplete": "I valori aria-level superiori a 6 non sono supportati in tutte le combinazioni di screenreader e browser"
476
+ },
477
+ "aria-prohibited-attr": {
478
+ "pass": "L'attributo ARIA è consentito",
479
+ "fail": {
480
+ "hasRolePlural": "Gli attributi ${data.prohibited} non possono essere utilizzati con il ruolo \"${data.role}\".",
481
+ "hasRoleSingular": "L'attributo ${data.prohibited} non può essere utilizzato con il ruolo \"${data.role}\".",
482
+ "noRolePlural": "Gli attributi ${data.prohibited} non possono essere utilizzati su un ${data.nodeName} senza un ruolo valido.",
483
+ "noRoleSingular": "L'attributo ${data.prohibited} non può essere utilizzato su un ${data.nodeName} senza un ruolo valido."
484
+ },
485
+ "incomplete": {
486
+ "hasRoleSingular": "L'attributo ${data.prohibited} non è ben supportato con il ruolo \"${data.role}\".",
487
+ "hasRolePlural": "Gli attributi ${data.prohibited} non sono ben supportati con il ruolo \"${data.role}\".",
488
+ "noRoleSingular": "L'attributo ${data.prohibited} non è ben supportato su un ${data.nodeName} senza un ruolo valido.",
489
+ "noRolePlural": "Gli attributi ${data.prohibited} non sono ben supportati su un ${data.nodeName} senza un ruolo valido."
490
+ }
491
+ },
492
+ "aria-required-attr": {
493
+ "pass": "Tutti gli attributi ARIA obbligatori sono presenti",
494
+ "fail": {
495
+ "singular": "L'attributo ARIA obbligatorio non è presente: ${data.values}",
496
+ "plural": "Gli attributi ARIA obbligatori non sono presenti: ${data.values}"
497
+ }
498
+ },
499
+ "aria-required-children": {
500
+ "pass": "I figli ARIA obbligatori sono presenti",
501
+ "fail": {
502
+ "singular": "Il ruolo ARIA obbligatorio per l'elemento figlio non è presente: ${data.values}",
503
+ "plural": "Il ruolo ARIA obbligatorio per gli elementi figli non è presente: ${data.values}",
504
+ "unallowed": "L'elemento ha figli che non sono consentiti: ${data.values}"
505
+ },
506
+ "incomplete": {
507
+ "singular": "Ci si aspetta che venga aggiunto un figlio con un ruolo ARIA: ${data.values}",
508
+ "plural": "Ci si aspetta che vengano aggiunti i figli con un ruolo ARIA: ${data.values}"
509
+ }
510
+ },
511
+ "aria-required-parent": {
512
+ "pass": "Il ruolo ARIA obbligatorio per l'elemento genitore è presente",
513
+ "fail": {
514
+ "singular": "Il ruolo ARIA obbligatorio per l'elemento genitore non è presente: ${data.values}",
515
+ "plural": "I ruoli ARIA obbligatori per gli elementi genitori non sono presenti: ${data.values}"
516
+ }
517
+ },
518
+ "aria-roledescription": {
519
+ "pass": "aria-roledescription utilizzato su un ruolo semantico supportato",
520
+ "incomplete": "Verifica che aria-roledescription venga annunciato dagli screen reader supportati",
521
+ "fail": "Assegna all'elemento un ruolo che supporta aria-roledescription"
522
+ },
523
+ "aria-unsupported-attr": {
524
+ "pass": "L'attributo ARIA è supportato",
525
+ "fail": "L'attributo ARIA non è ampiamente supportato dagli screen reader e dalle tecnologie assistive: ${data.values}"
526
+ },
527
+ "aria-valid-attr-value": {
528
+ "pass": "I valori degli attributi ARIA sono validi",
529
+ "fail": {
530
+ "singular": "Il valore dell'attributo ARIA non è valido: ${data.values}",
531
+ "plural": "I valori degli attributi ARIA non sono validi: ${data.values}"
532
+ },
533
+ "incomplete": {
534
+ "noId": "Nella pagina non esiste un elemento con ID corrispondente all'attributo ARIA: ${data.needsReview}",
535
+ "noIdShadow": "Nella pagina non esiste un elemento con ID corrispondente all'attributo ARIA o è un discendente di un diverso albero shadow DOM: ${data.needsReview}",
536
+ "ariaCurrent": "Il valore dell'attributo ARIA non è valido e verrà trattato come \"aria-current=true\": ${data.needsReview}",
537
+ "idrefs": "Non è possibile determinare se esiste un elemento con ID corrispondente all'attributo ARIA nella pagina: ${data.needsReview}",
538
+ "empty": "Il valore dell'attributo ARIA viene ignorato mentre è vuoto: ${data.needsReview}"
539
+ }
540
+ },
541
+ "aria-valid-attr": {
542
+ "pass": "Il nome dell'attributo ARIA è valido",
543
+ "fail": {
544
+ "singular": "Il nome dell'attributo ARIA non è valido: ${data.values}",
545
+ "plural": "I nomi degli attributi ARIA non sono validi: ${data.values}"
546
+ }
547
+ },
548
+ "braille-label-equivalent": {
549
+ "pass": "aria-braillelabel viene utilizzato su un elemento con testo accessibile",
550
+ "fail": "aria-braillelabel viene utilizzato su un elemento senza testo accessibile",
551
+ "incomplete": "Non è possibile calcolare il testo accessibile"
552
+ },
553
+ "braille-roledescription-equivalent": {
554
+ "pass": "aria-brailleroledescription viene utilizzato su un elemento con aria-roledescription",
555
+ "fail": {
556
+ "noRoleDescription": "aria-brailleroledescription viene utilizzato su un elemento senza aria-roledescription",
557
+ "emptyRoleDescription": "aria-brailleroledescription viene utilizzato su un elemento con aria-roledescription vuoto"
558
+ }
559
+ },
560
+ "deprecatedrole": {
561
+ "pass": "Il ruolo ARIA non è deprecato",
562
+ "fail": "Il ruolo utilizzato è deprecato: ${data}"
563
+ },
564
+ "fallbackrole": {
565
+ "pass": "Viene utilizzato un solo valore di ruolo",
566
+ "fail": "Utilizza un solo valore di ruolo, poiché i ruoli di fallback non sono supportati nei browser più vecchi",
567
+ "incomplete": "Utilizza solo il ruolo 'presentation' o 'none' poiché sono sinonimi."
568
+ },
569
+ "has-global-aria-attribute": {
570
+ "pass": {
571
+ "singular": "L'elemento ha un attributo ARIA globale: ${data.values}",
572
+ "plural": "L'elemento ha attributi ARIA globali: ${data.values}"
573
+ },
574
+ "fail": "L'elemento non ha un attributo ARIA globale"
575
+ },
576
+ "has-widget-role": {
577
+ "pass": "L'elemento ha un ruolo widget.",
578
+ "fail": "L'elemento non ha un ruolo widget."
579
+ },
580
+ "invalidrole": {
581
+ "pass": "Il ruolo ARIA è valido",
582
+ "fail": {
583
+ "singular": "Il ruolo deve essere uno dei ruoli ARIA validi: ${data.values}",
584
+ "plural": "I ruoli devono essere uno dei ruoli ARIA validi: ${data.values}"
585
+ }
586
+ },
587
+ "is-element-focusable": {
588
+ "pass": "L'elemento può ricevere focus.",
589
+ "fail": "L'elemento non può ricevere focus."
590
+ },
591
+ "no-implicit-explicit-label": {
592
+ "pass": "Non c'è incongruenza tra etichetta <label> e nome accessibile",
593
+ "incomplete": "Verifica che l'etichetta <label> non debba far parte del nome del campo ARIA ${data}"
594
+ },
595
+ "unsupportedrole": {
596
+ "pass": "Il ruolo ARIA è supportato",
597
+ "fail": "Il ruolo utilizzato non è ampiamente supportato dagli screen reader e dalle tecnologie assistive: ${data}"
598
+ },
599
+ "valid-scrollable-semantics": {
600
+ "pass": "L'elemento ha una semantica valida per un elemento presente nell'ordine di focus.",
601
+ "fail": "L'elemento ha una semantica non valida per un elemento presente nell'ordine di focus."
602
+ },
603
+ "color-contrast-enhanced": {
604
+ "pass": "L'elemento ha un contrasto di colore sufficiente di ${data.contrastRatio}",
605
+ "fail": {
606
+ "default": "L'elemento ha un contrasto di colore insufficiente di ${data.contrastRatio} (colore in primo piano: ${data.fgColor}, colore di sfondo: ${data.bgColor}, dimensione del font: ${data.fontSize}, peso del font: ${data.fontWeight}). Contrasto atteso di ${data.expectedContrastRatio}",
607
+ "fgOnShadowColor": "L'elemento ha un contrasto di colore insufficiente di ${data.contrastRatio} tra il primo piano e il colore dell'ombra (colore in primo piano: ${data.fgColor}, colore dell'ombra del testo: ${data.shadowColor}, dimensione del font: ${data.fontSize}, peso del font: ${data.fontWeight}). Contrasto atteso di ${data.expectedContrastRatio}",
608
+ "shadowOnBgColor": "L'elemento ha un contrasto di colore insufficiente di ${data.contrastRatio} tra il colore dell'ombra e il colore di sfondo (colore dell'ombra del testo: ${data.shadowColor}, colore di sfondo: ${data.bgColor}, dimensione del font: ${data.fontSize}, peso del font: ${data.fontWeight}). Contrasto atteso di ${data.expectedContrastRatio}"
609
+ },
610
+ "incomplete": {
611
+ "default": "Impossibile determinare il rapporto di contrasto",
612
+ "bgImage": "Il colore di sfondo dell'elemento non può essere determinato a causa di un'immagine di sfondo",
613
+ "bgGradient": "Il colore di sfondo dell'elemento non può essere determinato a causa di un gradiente di sfondo",
614
+ "imgNode": "Il colore di sfondo dell'elemento non può essere determinato perché l'elemento contiene un nodo immagine",
615
+ "bgOverlap": "Il colore di sfondo dell'elemento non può essere determinato perché c'è un altro elemento sovrapposto",
616
+ "fgAlpha": "Il colore in primo piano dell'elemento non può essere determinato a causa della trasparenza alfa",
617
+ "elmPartiallyObscured": "Il colore di sfondo dell'elemento non può essere determinato perché è parzialmente oscurato da un altro elemento",
618
+ "elmPartiallyObscuring": "Il colore di sfondo dell'elemento non può essere determinato perché si sovrappone parzialmente ad altri elementi",
619
+ "outsideViewport": "Il colore di sfondo dell'elemento non può essere determinato perché è al di fuori della finestra di visualizzazione",
620
+ "equalRatio": "L'elemento ha un rapporto di contrasto di 1:1 con lo sfondo",
621
+ "shortTextContent": "Il contenuto dell'elemento è troppo breve per determinare se si tratta di un contenuto di testo effettivo",
622
+ "nonBmp": "Il contenuto dell'elemento contiene solo caratteri non di testo",
623
+ "pseudoContent": "Il colore di sfondo dell'elemento non può essere determinato a causa di uno pseudo-elemento"
624
+ }
625
+ },
626
+ "color-contrast": {
627
+ "pass": {
628
+ "default": "L'elemento ha un contrasto di colore sufficiente di ${data.contrastRatio}",
629
+ "hidden": "L'elemento è nascosto"
630
+ },
631
+ "fail": {
632
+ "default": "L'elemento ha un contrasto di colore insufficiente di ${data.contrastRatio} (colore in primo piano: ${data.fgColor}, colore di sfondo: ${data.bgColor}, dimensione del font: ${data.fontSize}, peso del font: ${data.fontWeight}). Contrasto atteso di ${data.expectedContrastRatio}",
633
+ "fgOnShadowColor": "L'elemento ha un contrasto di colore insufficiente di ${data.contrastRatio} tra il primo piano e il colore dell'ombra (colore in primo piano: ${data.fgColor}, colore dell'ombra del testo: ${data.shadowColor}, dimensione del font: ${data.fontSize}, peso del font: ${data.fontWeight}). Contrasto atteso di ${data.expectedContrastRatio}",
634
+ "shadowOnBgColor": "L'elemento ha un contrasto di colore insufficiente di ${data.contrastRatio} tra il colore dell'ombra e il colore di sfondo (colore dell'ombra del testo: ${data.shadowColor}, colore di sfondo: ${data.bgColor}, dimensione del font: ${data.fontSize}, peso del font: ${data.fontWeight}). Contrasto atteso di ${data.expectedContrastRatio}"
635
+ },
636
+ "incomplete": {
637
+ "default": "Impossibile determinare il rapporto di contrasto",
638
+ "bgImage": "Il colore di sfondo dell'elemento non può essere determinato a causa di un'immagine di sfondo",
639
+ "bgGradient": "Il colore di sfondo dell'elemento non può essere determinato a causa di un gradiente di sfondo",
640
+ "imgNode": "Il colore di sfondo dell'elemento non può essere determinato perché l'elemento contiene un nodo immagine",
641
+ "bgOverlap": "Il colore di sfondo dell'elemento non può essere determinato perché c'è un altro elemento sovrapposto",
642
+ "complexTextShadows": "Il contrasto dell'elemento non può essere determinato perché utilizza ombre di testo complesse",
643
+ "fgAlpha": "Il colore in primo piano dell'elemento non può essere determinato a causa della trasparenza alfa",
644
+ "elmPartiallyObscured": "Il colore di sfondo dell'elemento non può essere determinato perché è parzialmente oscurato da un altro elemento",
645
+ "elmPartiallyObscuring": "Il colore di sfondo dell'elemento non può essere determinato perché si sovrappone parzialmente ad altri elementi",
646
+ "outsideViewport": "Il colore di sfondo dell'elemento non può essere determinato perché è al di fuori della finestra di visualizzazione",
647
+ "equalRatio": "L'elemento ha un rapporto di contrasto di 1:1 con lo sfondo",
648
+ "shortTextContent": "Il contenuto dell'elemento è troppo breve per determinare se si tratta di un contenuto di testo effettivo",
649
+ "nonBmp": "Il contenuto dell'elemento contiene solo caratteri non di testo",
650
+ "pseudoContent": "Il colore di sfondo dell'elemento non può essere determinato a causa di uno pseudo-elemento"
651
+ }
652
+ },
653
+ "link-in-text-block-style": {
654
+ "pass": "I collegamenti possono essere distinti dal testo circostante grazie ad uno stile visivo",
655
+ "incomplete": {
656
+ "default": "Verifica se il collegamento necessita di uno stile per distinguerlo dal testo circostante",
657
+ "pseudoContent": "Verifica se lo pseudo-stile del collegamento è sufficiente per distinguerlo dal testo circostante"
658
+ },
659
+ "fail": "Il collegamento non ha uno stile (come la sottolineatura) per distinguerlo dal testo circostante"
660
+ },
661
+ "link-in-text-block": {
662
+ "pass": "I collegamenti possono essere distinti dal testo circostante in qualche modo che non sia solo attraverso il colore",
663
+ "fail": {
664
+ "fgContrast": "Il collegamento ha un contrasto di colore insufficiente di ${data.contrastRatio}:1 con il testo circostante. (Contrasto minimo è ${data.requiredContrastRatio}:1, colore del testo del collegamento: ${data.nodeColor}, colore del testo circostante: ${data.parentColor})",
665
+ "bgContrast": "Lo sfondo del collegamento ha un contrasto di colore insufficiente di ${data.contrastRatio} (Contrasto minimo è ${data.requiredContrastRatio}:1, colore dello sfondo del collegamento: ${data.nodeBackgroundColor}, colore dello sfondo circostante: ${data.parentBackgroundColor})"
666
+ },
667
+ "incomplete": {
668
+ "default": "Il rapporto di contrasto dei colori in primo piano dell'elemento non può essere determinato",
669
+ "bgContrast": "Il rapporto di contrasto dello sfondo dell'elemento non può essere determinato",
670
+ "bgImage": "Il rapporto di contrasto dell'elemento non può essere determinato a causa di un'immagine di sfondo",
671
+ "bgGradient": "Il rapporto di contrasto dell'elemento non può essere determinato a causa di un gradiente di sfondo",
672
+ "imgNode": "Il rapporto di contrasto dell'elemento non può essere determinato perché l'elemento contiene un nodo immagine",
673
+ "bgOverlap": "Il rapporto di contrasto dell'elemento non può essere determinato a causa della sovrapposizione dell'elemento"
674
+ }
675
+ },
676
+ "autocomplete-appropriate": {
677
+ "pass": "il valore di autocomplete è appropriato per questo elemento",
678
+ "fail": "il valore di autocomplete non è appropriato per questo tipo di input"
679
+ },
680
+ "autocomplete-valid": {
681
+ "pass": "l'attributo autocomplete è formattato correttamente",
682
+ "fail": "l'attributo autocomplete non è formattato correttamente"
683
+ },
684
+ "accesskeys": {
685
+ "pass": "Il valore dell'attributo accesskey è univoco",
686
+ "fail": "Il documento ha più elementi con lo stesso accesskey"
687
+ },
688
+ "focusable-content": {
689
+ "pass": "L'elemento contiene elementi che possono ricevere focus",
690
+ "fail": "L'elemento dovrebbe avere contenuto che può ricevere focus"
691
+ },
692
+ "focusable-disabled": {
693
+ "pass": "Non ci sono elementi che possono ricevere focus all'interno dell'elemento",
694
+ "incomplete": "Controlla se gli elementi che possono ricevere focus spostano immediatamente l'indicatore di focus",
695
+ "fail": "Il contenuto che può ricevere focus dovrebbe essere disabilitato o rimosso dal DOM"
696
+ },
697
+ "focusable-element": {
698
+ "pass": "L'elemento può ricevere focus",
699
+ "fail": "L'elemento dovrebbe poter ricevere focus"
700
+ },
701
+ "focusable-modal-open": {
702
+ "pass": "Non ci sono elementi che possono ricevere focus mentre è aperta una modale",
703
+ "incomplete": "Controlla che gli elementi che possono ricevere focus non siano tabbabili nello stato attuale"
704
+ },
705
+ "focusable-no-name": {
706
+ "pass": "L'elemento non è nell'ordine di tab o ha un testo accessibile",
707
+ "fail": "L'elemento è nell'ordine di tab e non ha un testo accessibile",
708
+ "incomplete": "Non è possibile determinare se l'elemento ha un nome accessibile"
709
+ },
710
+ "focusable-not-tabbable": {
711
+ "pass": "Non ci sono elementi che possono ricevere focus all'interno dell'elemento",
712
+ "incomplete": "Controlla se gli elementi che possono ricevere focus spostano immediatamente l'indicatore di focus",
713
+ "fail": "Il contenuto che può ricevere focus dovrebbe avere tabindex=\"-1\" o essere rimosso dal DOM"
714
+ },
715
+ "frame-focusable-content": {
716
+ "pass": "L'elemento non ha discendenti che possono ricevere focus",
717
+ "fail": "L'elemento ha discendenti che possono ricevere focus",
718
+ "incomplete": "Non è stato possibile determinare se l'elemento ha discendenti"
719
+ },
720
+ "landmark-is-top-level": {
721
+ "pass": "Il landmark ${data.role} è al livello superiore.",
722
+ "fail": "Il landmark ${data.role} è contenuto in un altro landmark."
723
+ },
724
+ "no-focusable-content": {
725
+ "pass": "L'elemento non ha discendenti che possono ricevere focus",
726
+ "fail": {
727
+ "default": "L'elemento ha discendenti che possono ricevere focus",
728
+ "notHidden": "L'utilizzo di un tabindex negativo su un elemento all'interno di un controllo interattivo non impedisce alle tecnologie assistive di spostare il focus sull'elemento (anche con aria-hidden=\"true\")"
729
+ },
730
+ "incomplete": "Non è stato possibile determinare se l'elemento ha discendenti"
731
+ },
732
+ "page-has-heading-one": {
733
+ "pass": "La pagina ha almeno un'intestazione di livello uno",
734
+ "fail": "La pagina deve avere un'intestazione di livello uno"
735
+ },
736
+ "page-has-main": {
737
+ "pass": "Il documento ha almeno un landmark main",
738
+ "fail": "Il documento non ha un landmark main"
739
+ },
740
+ "page-no-duplicate-banner": {
741
+ "pass": "Il documento non ha più di un landmark banner",
742
+ "fail": "Il documento ha più di un landmark banner"
743
+ },
744
+ "page-no-duplicate-contentinfo": {
745
+ "pass": "Il documento non ha più di un landmark contentinfo",
746
+ "fail": "Il documento ha più di un landmark contentinfo"
747
+ },
748
+ "page-no-duplicate-main": {
749
+ "pass": "Il documento non ha più di un landmark main",
750
+ "fail": "Il documento ha più di un landmark main"
751
+ },
752
+ "tabindex": {
753
+ "pass": "L'elemento non ha un tabindex maggiore di 0",
754
+ "fail": "L'elemento ha un tabindex maggiore di 0"
755
+ },
756
+ "alt-space-value": {
757
+ "pass": "Il valore dell'attributo alt dell'elemento è valido",
758
+ "fail": "L'elemento ha un attributo alt che contiene solo uno spazio, che non viene ignorato da tutti gli screen reader"
759
+ },
760
+ "duplicate-img-label": {
761
+ "pass": "L'elemento non duplica il testo esistente nel testo alternativo dell'immagine",
762
+ "fail": "L'elemento contiene un elemento immagine con testo alternativo che duplica il testo esistente"
763
+ },
764
+ "explicit-label": {
765
+ "pass": "L'elemento del modulo ha un'etichetta esplicita <label>",
766
+ "fail": "L'elemento del modulo non ha un'etichetta esplicita <label>",
767
+ "incomplete": "Non è possibile determinare se l'elemento del modulo ha un'etichetta esplicita <label>"
768
+ },
769
+ "help-same-as-label": {
770
+ "pass": "Il testo di aiuto (title o aria-describedby) non duplica il testo dell'etichetta",
771
+ "fail": "Il testo di aiuto (title o aria-describedby) è lo stesso del testo dell'etichetta"
772
+ },
773
+ "hidden-explicit-label": {
774
+ "pass": "L'elemento del modulo ha un'etichetta esplicita <label> visibile",
775
+ "fail": "L'elemento del modulo ha un'etichetta esplicita <label> nascosta",
776
+ "incomplete": "Non è possibile determinare se l'elemento del modulo ha un'etichetta esplicita <label> nascosta"
777
+ },
778
+ "implicit-label": {
779
+ "pass": "L'elemento del modulo ha un'etichetta implicita (racchiusa) <label>",
780
+ "fail": "L'elemento del modulo non ha un'etichetta implicita (racchiusa) <label>",
781
+ "incomplete": "Non è possibile determinare se l'elemento del modulo ha un'etichetta implicita (racchiusa) <label>"
782
+ },
783
+ "label-content-name-mismatch": {
784
+ "pass": "L'elemento contiene del testo visibile come parte del suo nome accessibile",
785
+ "fail": "Il testo all'interno dell'elemento non è incluso nel nome accessibile"
786
+ },
787
+ "multiple-label": {
788
+ "pass": "Il campo del modulo non ha più elementi etichetta",
789
+ "incomplete": "L'utilizzo di più elementi etichetta non è ampiamente supportato dalle tecnologie assistive. Assicurati che la prima etichetta contenga tutte le informazioni necessarie."
790
+ },
791
+ "title-only": {
792
+ "pass": "L'elemento del modulo non utilizza solo l'attributo title per generare la sua etichetta",
793
+ "fail": "Solo il titolo viene utilizzato per generare l'etichetta dell'elemento del modulo"
794
+ },
795
+ "landmark-is-unique": {
796
+ "pass": "I landmark devono avere un ruolo univoco o una combinazione univoca di ruolo/etichetta/titolo (come ad esempio un nome accessibile univico)",
797
+ "fail": "Il landmark deve avere un aria-label, aria-labelledby o titolo univoco per rendere i landmark distinguibili"
798
+ },
799
+ "has-lang": {
800
+ "pass": "L'elemento <html> ha un attributo lang",
801
+ "fail": {
802
+ "noXHTML": "L'attributo xml:lang non è valido nelle pagine HTML, utilizza l'attributo lang.",
803
+ "noLang": "L'elemento <html> non ha un attributo lang"
804
+ }
805
+ },
806
+ "valid-lang": {
807
+ "pass": "Il valore dell'attributo lang è incluso nell'elenco delle lingue valide",
808
+ "fail": "Il valore dell'attributo lang non è incluso nell'elenco delle lingue valide"
809
+ },
810
+ "xml-lang-mismatch": {
811
+ "pass": "Gli attributi lang e xml:lang hanno la stessa lingua di base",
812
+ "fail": "Gli attributi lang e xml:lang non hanno la stessa lingua di base"
813
+ },
814
+ "dlitem": {
815
+ "pass": "L'elemento di descrizione della lista ha un elemento <dl> come genitore",
816
+ "fail": "L'elemento di descrizione della lista non ha un elemento <dl> come genitore"
817
+ },
818
+ "listitem": {
819
+ "pass": "L'elemento della lista ha un elemento <ul>, <ol> o role=\"list\" come genitore",
820
+ "fail": {
821
+ "default": "L'elemento della lista non ha come genitore un elemento <ul> o <ol>",
822
+ "roleNotValid": "L'elemento della lista non ha come genitore un elemento <ul>, <ol> o un elemento con role=\"list\""
823
+ }
824
+ },
825
+ "only-dlitems": {
826
+ "pass": "L'elemento dl contiene al suo interno solo figli diretti consentiti; <dt>, <dd>, o elementi <div>",
827
+ "fail": "L'elemento dl ha figli diretti che non sono consentiti: ${data.values}"
828
+ },
829
+ "only-listitems": {
830
+ "pass": "L'elemento della lista contiene al suo interno solo figli diretti consentiti",
831
+ "fail": "L'elemento della lista ha figli diretti che non sono consentiti: ${data.values}"
832
+ },
833
+ "structured-dlitems": {
834
+ "pass": "Quando non è vuoto, l'elemento ha sia elementi <dt> che <dd>",
835
+ "fail": "Quando non è vuoto, l'elemento non ha nemmeno un elemento <dt> seguito da almeno un elemento <dd>"
836
+ },
837
+ "caption": {
838
+ "pass": "L'elemento multimediale ha una didascalia",
839
+ "incomplete": "Controlla che le didascalie siano disponibili per l'elemento"
840
+ },
841
+ "frame-tested": {
842
+ "pass": "L'iframe è stato testato con axe-core",
843
+ "fail": "L'iframe non può essere testato con axe-core",
844
+ "incomplete": "L'iframe deve ancora essere testato con axe-core"
845
+ },
846
+ "no-autoplay-audio": {
847
+ "pass": "<video> o <audio> non riproduce audio per più della durata consentita o ha un meccanismo di controllo",
848
+ "fail": "<video> o <audio> riproduce audio per più della durata consentita e non ha un meccanismo di controllo",
849
+ "incomplete": "Controlla che il <video> o <audio> non riproduca audio per più della durata consentita o fornisca un meccanismo di controllo"
850
+ },
851
+ "css-orientation-lock": {
852
+ "pass": "Il display è utilizzabile e l'orientamento del dispositivo non viene bloccato",
853
+ "fail": "Il blocco dell'orientamento tramite CSS viene applicato e rende il display non utilizzabile",
854
+ "incomplete": "Il blocco dell'orientamento tramite CSS non può essere determinato"
855
+ },
856
+ "meta-viewport-large": {
857
+ "pass": "Il tag <meta> non impedisce lo zoom in modo significativo sui dispositivi mobili",
858
+ "fail": "Il tag <meta> limita lo zoom sui dispositivi mobili"
859
+ },
860
+ "meta-viewport": {
861
+ "pass": "Il tag <meta> non disabilita lo zoom sui dispositivi mobili",
862
+ "fail": "${data} sul tag <meta> disabilita lo zoom sui dispositivi mobili"
863
+ },
864
+ "target-offset": {
865
+ "pass": "L'elemento ha spazio sufficiente dai suoi vicini più prossimi. Lo spazio sicuro e cliccabile ha un diametro di ${data.closestOffset}px, che è superiore al requisito di ${data.minOffset}px.",
866
+ "fail": "L'elemento non ha spazio sufficiente rispetto ai suoi vicini più prossimi. Lo spazio sicuro e cliccabile ha un diametro di ${data.closestOffset}px, che è inferiore rispetto al requisito di ${data.minOffset}px.",
867
+ "incomplete": {
868
+ "default": "L'elemento con tabindex negativo non ha spazio sufficiente rispetto ai suoi vicini più prossimi. Lo spazio sicuro e cliccabile ha un diametro di ${data.closestOffset}px, che è inferiore rispetto al requisito di ${data.minOffset}px. Si tratta di un elemento che può essere attivato?",
869
+ "nonTabbableNeighbor": "L'elemento non ha spazio sufficiente rispetto ai suoi vicini più prossimi. Lo spazio sicuro e cliccabile ha un diametro di ${data.closestOffset}px, che è inferiore rispetto al requisito di ${data.minOffset}px. Il vicino più prossimo è un elemento che può essere attivato?"
870
+ }
871
+ },
872
+ "target-size": {
873
+ "pass": {
874
+ "default": "Il controllo ha dimensioni sufficienti (${data.width}px per ${data.height}px, dovrebbe essere almeno ${data.minSize}px per ${data.minSize}px)",
875
+ "obscured": "Il controllo viene ignorato perché è completamente oscurato e quindi non cliccabile"
876
+ },
877
+ "fail": {
878
+ "default": "L'elemento ha dimensioni insufficienti (${data.width}px per ${data.height}px, dovrebbe essere almeno ${data.minSize}px per ${data.minSize}px)",
879
+ "partiallyObscured": "L'elemento ha dimensioni insufficienti perché è parzialmente oscurato (lo spazio più piccolo è ${data.width}px per ${data.height}px, dovrebbe essere almeno ${data.minSize}px per ${data.minSize}px)"
880
+ },
881
+ "incomplete": {
882
+ "default": "L'elemento con tabindex negativo ha dimensioni insufficienti (${data.width}px per ${data.height}px, dovrebbe essere almeno ${data.minSize}px per ${data.minSize}px). Si tratta di un elemento che può essere attivato?",
883
+ "contentOverflow": "Le dimensioni dell'elemento non possono essere determinate con precisione a causa del contenuto in overflow",
884
+ "partiallyObscured": "L'elemento con tabindex negativo ha dimensioni insufficienti perché è parzialmente oscurato (lo spazio più piccolo è ${data.width}px per ${data.height}px, dovrebbe essere almeno ${data.minSize}px per ${data.minSize}px). Si tratta di un elemento che può essere attivato?",
885
+ "partiallyObscuredNonTabbable": "L'elemento ha dimensioni insufficienti perché è parzialmente oscurato da un vicino con tabindex negativo (lo spazio più piccolo è ${data.width}px per ${data.height}px, dovrebbe essere almeno ${data.minSize}px per ${data.minSize}px). Il vicino più prossimo è un elemento che può essere attivato?"
886
+ }
887
+ },
888
+ "header-present": {
889
+ "pass": "La pagina ha un'intestazione",
890
+ "fail": "La pagina non ha nemmeno un'intestazione"
891
+ },
892
+ "heading-order": {
893
+ "pass": "L'ordine delle intestazioni è valido",
894
+ "fail": "L'ordine delle intestazioni non è valido",
895
+ "incomplete": "Non è possibile determinare l'intestazione precedente"
896
+ },
897
+ "identical-links-same-purpose": {
898
+ "pass": "Non ci sono altri collegamenti con lo stesso nome, che puntano ad un URL diverso",
899
+ "incomplete": "Controlla che i collegamenti abbiano lo stesso scopo, o siano intenzionalmente ambigui."
900
+ },
901
+ "internal-link-present": {
902
+ "pass": "Trovato skip link valido",
903
+ "fail": "Non è stato trovato alcuno skip link valido"
904
+ },
905
+ "landmark": {
906
+ "pass": "La pagina ha una regione landmark",
907
+ "fail": "La pagina non ha una regione landmark"
908
+ },
909
+ "meta-refresh-no-exceptions": {
910
+ "pass": "Il tag <meta> non aggiorna immediatamente la pagina",
911
+ "fail": "Il tag <meta> forza il refresh temporizzato della pagina"
912
+ },
913
+ "meta-refresh": {
914
+ "pass": "Il tag <meta> non aggiorna immediatamente la pagina",
915
+ "fail": "Il tag <meta> forza il refresh temporizzato della pagina (al di sotto delle 20 ore)"
916
+ },
917
+ "p-as-heading": {
918
+ "pass": "Gli elementi <p> non sono disegnati come intestazioni",
919
+ "fail": "Al posto di elementi <p> disegnati come intestazioni, dovrebbero essere utilizzati elementi di intestazione",
920
+ "incomplete": "Non è possibile determinare se gli elementi <p> sono stati disegnati come intestazioni"
921
+ },
922
+ "region": {
923
+ "pass": "Tutto il contenuto della pagina è contenuto in landmark",
924
+ "fail": "Alcuni contenuti della pagina non sono contenuti in landmark"
925
+ },
926
+ "skip-link": {
927
+ "pass": "L'elemento a cui lo skip link punta esiste",
928
+ "incomplete": "L'elemento a cui lo skip link punta deve diventare visibile quando attivato",
929
+ "fail": "L'elemento a cui lo skip link punta non esiste"
930
+ },
931
+ "unique-frame-title": {
932
+ "pass": "L'attributo title dell'elemento è univoco",
933
+ "fail": "L'attributo title dell'elemento non è univoco"
934
+ },
935
+ "duplicate-id-active": {
936
+ "pass": "Il documento non ha elementi attivi che condividono lo stesso attributo id",
937
+ "fail": "Il documento ha elementi attivi con lo stesso attributo id: ${data}"
938
+ },
939
+ "duplicate-id-aria": {
940
+ "pass": "Il documento non ha elementi referenziati con ARIA o etichette che condividono lo stesso attributo id",
941
+ "fail": "Il documento ha più elementi referenziati con ARIA con lo stesso attributo id: ${data}"
942
+ },
943
+ "duplicate-id": {
944
+ "pass": "Il documento non ha elementi statici che condividono lo stesso attributo id",
945
+ "fail": "Il documento ha più elementi statici con lo stesso attributo id: ${data}"
946
+ },
947
+ "aria-label": {
948
+ "pass": "L'attributo aria-label esiste e non è vuoto",
949
+ "fail": "L'attributo aria-label non esiste o è vuoto"
950
+ },
951
+ "aria-labelledby": {
952
+ "pass": "L'attributo aria-labelledby esiste e fa riferimento ad elementi che sono visibili agli screen reader",
953
+ "fail": "L'attributo aria-labelledby non esiste, fa riferimento ad elementi che non esistono o fa riferimento ad elementi che sono vuoti",
954
+ "incomplete": "assicurati che aria-labelledby faccia riferimento a un elemento esistente"
955
+ },
956
+ "avoid-inline-spacing": {
957
+ "pass": "Non sono stati specificati stili inline con '!important' che influenzano lo spaziatura del testo",
958
+ "fail": {
959
+ "singular": "Rimuovi '!important' dallo stile inline ${data.values}, poiché la sovrascrittura di questo non è supportata dalla maggior parte dei browser",
960
+ "plural": "Rimuovi '!important' dagli stili inline ${data.values}, poiché la sovrascrittura di questo non è supportata dalla maggior parte dei browser"
961
+ }
962
+ },
963
+ "button-has-visible-text": {
964
+ "pass": "L'elemento ha del testo interno che è visibile agli screen reader",
965
+ "fail": "L'elemento non ha del testo interno che è visibile agli screen reader",
966
+ "incomplete": "Non è possibile determinare se l'elemento ha figli"
967
+ },
968
+ "doc-has-title": {
969
+ "pass": "Il documento ha un elemento <title> non vuoto",
970
+ "fail": "Il documento non ha un elemento <title> non vuoto"
971
+ },
972
+ "exists": {
973
+ "pass": "L'elemento non esiste",
974
+ "incomplete": "L'elemento esiste"
975
+ },
976
+ "has-alt": {
977
+ "pass": "L'elemento ha un attributo alt",
978
+ "fail": "L'elemento non ha un attributo alt"
979
+ },
980
+ "has-visible-text": {
981
+ "pass": "L'elemento ha del testo che è visibile agli screen reader",
982
+ "fail": "L'elemento non ha del testo che è visibile agli screen reader",
983
+ "incomplete": "Non è possibile determinare se l'elemento ha figli"
984
+ },
985
+ "important-letter-spacing": {
986
+ "pass": "La spaziatura delle lettere nell'attributo style non è impostato su !important, o rispetta il requisito minimo",
987
+ "fail": "La spaziatura delle lettere nell'attributo style non deve utilizzare !important, o deve essere impostata a ${data.minValue}em (attuale ${data.value}em)"
988
+ },
989
+ "important-line-height": {
990
+ "pass": "l'interlinea nell'attributo style non è impostata su !important, o rispetta il requisito minimo",
991
+ "fail": "l'interlinea nell'attributo style non deve utilizzare !important, o deve essere impostata a ${data.minValue}em (attuale ${data.value}em)"
992
+ },
993
+ "important-word-spacing": {
994
+ "pass": "La spaziatura delle parole nell'attributo style non è impostata su !important, o rispetta il requisito minimo",
995
+ "fail": "La spaziatura delle parole nell'attributo style non deve utilizzare !important, o deve essere impostata a ${data.minValue}em (attuale ${data.value}em)"
996
+ },
997
+ "is-on-screen": {
998
+ "pass": "L'elemento non è visibile",
999
+ "fail": "L'elemento è visibile"
1000
+ },
1001
+ "non-empty-alt": {
1002
+ "pass": "L'elemento ha un attributo alt non vuoto",
1003
+ "fail": {
1004
+ "noAttr": "L'elemento non ha un attributo alt",
1005
+ "emptyAttr": "L'elemento ha un attributo alt vuoto"
1006
+ }
1007
+ },
1008
+ "non-empty-if-present": {
1009
+ "pass": {
1010
+ "default": "L'elemento non ha un attributo value",
1011
+ "has-label": "L'elemento ha un attributo value non vuoto"
1012
+ },
1013
+ "fail": "L'elemento ha un attributo value e l'attributo value è vuoto"
1014
+ },
1015
+ "non-empty-placeholder": {
1016
+ "pass": "L'elemento ha un attributo placeholder",
1017
+ "fail": {
1018
+ "noAttr": "L'elemento non ha un attributo placeholder",
1019
+ "emptyAttr": "L'elemento ha un attributo placeholder vuoto"
1020
+ }
1021
+ },
1022
+ "non-empty-title": {
1023
+ "pass": "L'elemento ha un attributo title",
1024
+ "fail": {
1025
+ "noAttr": "L'elemento non ha un attributo title",
1026
+ "emptyAttr": "L'elemento ha un attributo title vuoto"
1027
+ }
1028
+ },
1029
+ "non-empty-value": {
1030
+ "pass": "L'elemento ha un attributo value non vuoto",
1031
+ "fail": {
1032
+ "noAttr": "L'elemento non ha un attributo value",
1033
+ "emptyAttr": "L'elemento ha un attributo value vuoto"
1034
+ }
1035
+ },
1036
+ "presentational-role": {
1037
+ "pass": "La semantica predefinita dell'elemento è stata sostituita da role=\"${data.role}\"",
1038
+ "fail": {
1039
+ "default": "La semantica predefinita dell'elemento non è stata sostituita da role=\"none\" o role=\"presentation\"",
1040
+ "globalAria": "Il ruolo dell'elemento non è presentazionale perché ha un attributo ARIA globale",
1041
+ "focusable": "Il ruolo dell'elemento non è presentazionale perché è focusabile",
1042
+ "both": "Il ruolo dell'elemento non è presentazionale perché ha un attributo ARIA globale ed è focusabile",
1043
+ "iframe": "L'utilizzo dell'attributo \"title\" su un elemento ${data.nodeName} con un ruolo presentazionale si comporta in modo inconsistente a seconda dello screen reader"
1044
+ }
1045
+ },
1046
+ "role-none": {
1047
+ "pass": "La semantica predefinita dell'elemento è stata sostituita da role=\"none\"",
1048
+ "fail": "La semantica predefinita dell'elemento non è stata sostituita da role=\"none\""
1049
+ },
1050
+ "role-presentation": {
1051
+ "pass": "La semantica predefinita dell'elemento è stata sostituita da role=\"presentation\"",
1052
+ "fail": "La semantica predefinita dell'elemento non è stata sostituita da role=\"presentation\""
1053
+ },
1054
+ "svg-non-empty-title": {
1055
+ "pass": "L'elemento ha un figlio che è un titolo",
1056
+ "fail": {
1057
+ "noTitle": "L'elemento non ha figli che sono titoli",
1058
+ "emptyTitle": "Il titolo figlio dell'elemento è vuoto"
1059
+ },
1060
+ "incomplete": "Non è possibile determinare se l'elemento ha un figlio che è un titolo"
1061
+ },
1062
+ "caption-faked": {
1063
+ "pass": "La prima riga di una tabella non viene utilizzata come didascalia",
1064
+ "fail": "Il primo figlio della tabella dovrebbe essere una didascalia invece di una cella di tabella"
1065
+ },
1066
+ "html5-scope": {
1067
+ "pass": "L'attributo scope viene utilizzato solo sugli elementi di intestazione della tabella (<th>)",
1068
+ "fail": "In HTML 5, gli attributi scope possono essere utilizzati solo sugli elementi di intestazione della tabella (<th>)"
1069
+ },
1070
+ "same-caption-summary": {
1071
+ "pass": "Il contenuto dell'attributo summary e dell'elemento <caption> non sono duplicati",
1072
+ "fail": "Il contenuto dell'attributo summary e dell'elemento <caption> sono identici",
1073
+ "incomplete": "Non è possibile determinare se l'elemento <table> ha una didascalia"
1074
+ },
1075
+ "scope-value": {
1076
+ "pass": "L'attributo scope viene utilizzato correttamente",
1077
+ "fail": "Il valore dell'attributo scope può essere solo 'row' o 'col'"
1078
+ },
1079
+ "td-has-header": {
1080
+ "pass": "Tutte le celle di dati non vuote hanno intestazioni di tabella",
1081
+ "fail": "Alcune celle di dati non vuote non hanno intestazioni di tabella"
1082
+ },
1083
+ "td-headers-attr": {
1084
+ "pass": "L'attributo headers viene utilizzato esclusivamente per fare riferimento ad altre celle nella tabella",
1085
+ "incomplete": "L'attributo headers è vuoto",
1086
+ "fail": "L'attributo headers non viene utilizzato esclusivamente per fare riferimento ad altre celle nella tabella"
1087
+ },
1088
+ "th-has-data-cells": {
1089
+ "pass": "Tutte le celle di intestazione della tabella fanno riferimento a celle di dati",
1090
+ "fail": "Non tutte le celle di intestazione della tabella fanno riferimento a celle di dati",
1091
+ "incomplete": "Le celle di dati della tabella sono vuote o mancanti"
1092
+ },
1093
+ "hidden-content": {
1094
+ "pass": "Tutto il contenuto della pagina è stato analizzato.",
1095
+ "fail": "Ci sono stati problemi nell'analizzare il contenuto di questa pagina.",
1096
+ "incomplete": "C'è del contenuto nascosto nella pagina che non è stato analizzato. Dovrai attivare la visualizzazione di questo contenuto per poterlo analizzare."
1097
+ }
1098
+ },
1099
+ "failureSummaries": {
1100
+ "any": {
1101
+ "failureMessage": "Correggi uno dei seguenti:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
1102
+ },
1103
+ "none": {
1104
+ "failureMessage": "Correggi tutti i seguenti:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
1105
+ }
1106
+ },
1107
+ "incompleteFallbackMessage": "axe non è stato in grado di determinare il motivo. È il momento di utilizzare l'element inspector!"
1108
+ }