govuk_publishing_components 38.2.0 → 38.3.0

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 (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
+ }