govuk_publishing_components 38.2.0 → 38.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/govuk_publishing_components/components/feedback.js +4 -40
- data/app/views/govuk_publishing_components/components/_share_links.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/feedback/_survey_signup_form.html.erb +7 -45
- data/app/views/govuk_publishing_components/components/metadata/_sentence.html.erb +2 -2
- data/config/locales/ar.yml +1 -1
- data/config/locales/az.yml +1 -1
- data/config/locales/be.yml +1 -1
- data/config/locales/bg.yml +1 -1
- data/config/locales/bn.yml +1 -1
- data/config/locales/cs.yml +1 -1
- data/config/locales/cy.yml +1 -1
- data/config/locales/da.yml +1 -1
- data/config/locales/de.yml +1 -1
- data/config/locales/dr.yml +1 -1
- data/config/locales/el.yml +1 -1
- data/config/locales/en.yml +1 -1
- data/config/locales/es-419.yml +1 -1
- data/config/locales/es.yml +1 -1
- data/config/locales/et.yml +1 -1
- data/config/locales/fa.yml +1 -1
- data/config/locales/fi.yml +1 -1
- data/config/locales/fr.yml +1 -1
- data/config/locales/gd.yml +1 -1
- data/config/locales/gu.yml +1 -1
- data/config/locales/he.yml +1 -1
- data/config/locales/hi.yml +1 -1
- data/config/locales/hr.yml +1 -1
- data/config/locales/hu.yml +1 -1
- data/config/locales/hy.yml +1 -1
- data/config/locales/id.yml +1 -1
- data/config/locales/is.yml +1 -1
- data/config/locales/it.yml +1 -1
- data/config/locales/ja.yml +1 -1
- data/config/locales/ka.yml +1 -1
- data/config/locales/kk.yml +1 -1
- data/config/locales/lt.yml +1 -1
- data/config/locales/lv.yml +1 -1
- data/config/locales/ms.yml +1 -1
- data/config/locales/mt.yml +1 -1
- data/config/locales/nl.yml +1 -1
- data/config/locales/no.yml +1 -1
- data/config/locales/pa-pk.yml +1 -1
- data/config/locales/pa.yml +1 -1
- data/config/locales/pl.yml +1 -1
- data/config/locales/ps.yml +1 -1
- data/config/locales/pt.yml +1 -1
- data/config/locales/ro.yml +1 -1
- data/config/locales/ru.yml +1 -1
- data/config/locales/si.yml +1 -1
- data/config/locales/sk.yml +1 -1
- data/config/locales/sl.yml +1 -1
- data/config/locales/so.yml +1 -1
- data/config/locales/sq.yml +1 -1
- data/config/locales/sr.yml +1 -1
- data/config/locales/sv.yml +1 -1
- data/config/locales/sw.yml +1 -1
- data/config/locales/ta.yml +1 -1
- data/config/locales/th.yml +1 -1
- data/config/locales/tk.yml +1 -1
- data/config/locales/tr.yml +1 -1
- data/config/locales/uk.yml +1 -1
- data/config/locales/ur.yml +1 -1
- data/config/locales/uz.yml +1 -1
- data/config/locales/vi.yml +1 -1
- data/config/locales/zh-hk.yml +1 -1
- data/config/locales/zh-tw.yml +1 -1
- data/config/locales/zh.yml +1 -1
- data/lib/govuk_publishing_components/version.rb +1 -1
- data/node_modules/axe-core/README.md +7 -3
- data/node_modules/axe-core/axe.js +11587 -10370
- data/node_modules/axe-core/axe.min.js +2 -2
- data/node_modules/axe-core/locales/_template.json +13 -5
- data/node_modules/axe-core/locales/da.json +3 -1
- data/node_modules/axe-core/locales/de.json +207 -31
- data/node_modules/axe-core/locales/el.json +1069 -0
- data/node_modules/axe-core/locales/es.json +3 -1
- data/node_modules/axe-core/locales/eu.json +3 -1
- data/node_modules/axe-core/locales/fr.json +3 -1
- data/node_modules/axe-core/locales/he.json +3 -1
- data/node_modules/axe-core/locales/it.json +1108 -0
- data/node_modules/axe-core/locales/ja.json +3 -1
- data/node_modules/axe-core/locales/ko.json +3 -1
- data/node_modules/axe-core/locales/no_NB.json +3 -1
- data/node_modules/axe-core/locales/pl.json +3 -1
- data/node_modules/axe-core/locales/pt_BR.json +3 -1
- data/node_modules/axe-core/locales/zh_CN.json +1116 -0
- data/node_modules/axe-core/locales/zh_TW.json +1108 -0
- data/node_modules/axe-core/package.json +19 -21
- data/node_modules/axe-core/sri-history.json +4 -0
- metadata +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
|
+
}
|