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