| 1 | {
|
|---|
| 2 | "lang": "es",
|
|---|
| 3 | "rules": {
|
|---|
| 4 | "accesskeys": {
|
|---|
| 5 | "description": "Garantiza que cada valor para el atributo accesskey es único",
|
|---|
| 6 | "help": "El valor del atributo accesskey debe ser único"
|
|---|
| 7 | },
|
|---|
| 8 | "area-alt": {
|
|---|
| 9 | "description": "Garantiza que los elementos <area> de los mapas de imágenes tienen texto alternativo",
|
|---|
| 10 | "help": "Los elementos <area> activos deben tener texto alternativo"
|
|---|
| 11 | },
|
|---|
| 12 | "aria-allowed-attr": {
|
|---|
| 13 | "description": "Garantiza que los atributos ARIA están permitidos para el rol de un elemento",
|
|---|
| 14 | "help": "Los elementos solo deben usar atributos ARIA permitidos"
|
|---|
| 15 | },
|
|---|
| 16 | "aria-allowed-role": {
|
|---|
| 17 | "description": "Garantiza que el atributo role tiene un valor apropiado para el elemento",
|
|---|
| 18 | "help": "ARIA role debe ser apropiado para el elemento"
|
|---|
| 19 | },
|
|---|
| 20 | "aria-hidden-body": {
|
|---|
| 21 | "description": "Garantiza que aria-hidden='true' no está presente en el 'body' del documento.",
|
|---|
| 22 | "help": "aria-hidden='true' no debe estar presente en el 'body' del documento"
|
|---|
| 23 | },
|
|---|
| 24 | "aria-hidden-focus": {
|
|---|
| 25 | "description": "Garantiza que los elementos 'aria-hidden' no contienen elementos que admitan el foco",
|
|---|
| 26 | "help": "Los elementos 'ARIA hidden' no deben contener elementos que admitan el foco"
|
|---|
| 27 | },
|
|---|
| 28 | "aria-input-field-name": {
|
|---|
| 29 | "description": "Garantiza que cada 'ARIA input field' tiene un nombre accesible",
|
|---|
| 30 | "help": "Los 'ARIA input fields' tienen un nombre accesible"
|
|---|
| 31 | },
|
|---|
| 32 | "aria-required-attr": {
|
|---|
| 33 | "description": "Garantiza que los elementos con 'ARIA roles' tienen todos los atributos ARIA requeridos",
|
|---|
| 34 | "help": "Deben proporcionarse los atributos ARIA requeridos"
|
|---|
| 35 | },
|
|---|
| 36 | "aria-required-children": {
|
|---|
| 37 | "description": "Garantiza que los elementos con un 'ARIA role' que requieren 'child roles' los contienen",
|
|---|
| 38 | "help": "Ciertos 'ARIA roles' deben contener determinados hijos"
|
|---|
| 39 | },
|
|---|
| 40 | "aria-required-parent": {
|
|---|
| 41 | "description": "Garantiza que los elementos con un 'ARIA role' que requieren 'parent roles' están contenidos en ellos",
|
|---|
| 42 | "help": "Ciertos 'ARIA roles' deben estar contenidos en determinados padres"
|
|---|
| 43 | },
|
|---|
| 44 | "aria-roles": {
|
|---|
| 45 | "description": "Garantiza que todos los elementos con un atributo role usan un valor válido",
|
|---|
| 46 | "help": "Los 'ARIA roles' usados deben cumplir los requisitos para valores válidos"
|
|---|
| 47 | },
|
|---|
| 48 | "aria-toggle-field-name": {
|
|---|
| 49 | "description": "Garantiza que cada 'ARIA toggle field' tiene un nombre accesible",
|
|---|
| 50 | "help": "Los 'ARIA toggle fields' tienen un nombre accesible"
|
|---|
| 51 | },
|
|---|
| 52 | "aria-valid-attr-value": {
|
|---|
| 53 | "description": "Garantiza que todos los atributos ARIA tienen valores válidos",
|
|---|
| 54 | "help": "Los atributos ARIA deben cumplir los requisitos para valores válidos"
|
|---|
| 55 | },
|
|---|
| 56 | "aria-valid-attr": {
|
|---|
| 57 | "description": "Garantiza que los atributos que empiezan por aria- son atributos ARIA válidos",
|
|---|
| 58 | "help": "Los atributos ARIA deben cumplir los requisitos para nombres válidos"
|
|---|
| 59 | },
|
|---|
| 60 | "audio-caption": {
|
|---|
| 61 | "description": "Garantiza que los elementos <audio> tienen subtítulos",
|
|---|
| 62 | "help": "Los elementos <audio> deben tener una pista de subtítulos"
|
|---|
| 63 | },
|
|---|
| 64 | "autocomplete-valid": {
|
|---|
| 65 | "description": "Garantizar que el atributo autocomplete es correcto y adecuado para el campo de formulario",
|
|---|
| 66 | "help": "El atributo autocomplete debe usarse correctamente"
|
|---|
| 67 | },
|
|---|
| 68 | "avoid-inline-spacing": {
|
|---|
| 69 | "description": "Garantizar que el espaciado de texto establecido mediante atributos style se puede ajustar con hojas de estilo personalizadas",
|
|---|
| 70 | "help": "El espaciado de texto 'inline' debe poder ajustarse mediante hojas de estilo personalizadas"
|
|---|
| 71 | },
|
|---|
| 72 | "blink": {
|
|---|
| 73 | "description": "Garantiza que no se usan elementos <blink>",
|
|---|
| 74 | "help": "Los elementos <blink> están obsoletos y no deben usarse"
|
|---|
| 75 | },
|
|---|
| 76 | "button-name": {
|
|---|
| 77 | "description": "Garantiza que los botones tienen texto discernible",
|
|---|
| 78 | "help": "Los botones deben tener texto discernible"
|
|---|
| 79 | },
|
|---|
| 80 | "bypass": {
|
|---|
| 81 | "description": "Garantiza que cada página tiene al menos un medio para que un usuario pueda saltarse la navegación y pasar directamente al contenido",
|
|---|
| 82 | "help": "Las páginas deben tener medios para saltarse bloques repetidos"
|
|---|
| 83 | },
|
|---|
| 84 | "color-contrast": {
|
|---|
| 85 | "description": "Garantiza que el contraste entre colores de primer plano y fondo cumple los límites de la ratio para contraste WCAG 2 AA",
|
|---|
| 86 | "help": "Los elementos deben tener un contraste de colores suficiente"
|
|---|
| 87 | },
|
|---|
| 88 | "color-contrast-enhanced": {
|
|---|
| 89 | "description": "Garantiza que el contraste entre colores de primer plano y fondo cumple los límites de la ratio para contraste WCAG 2 AAA",
|
|---|
| 90 | "help": "Los elementos deben tener un contraste de colores suficiente"
|
|---|
| 91 | },
|
|---|
| 92 | "css-orientation-lock": {
|
|---|
| 93 | "description": "Garantiza que el contenido no está bloqueado en ninguna orientación de pantalla específica, y que el contenido es manejable en cualquier orientación de pantalla",
|
|---|
| 94 | "help": "Las 'CSS Media queries' no se usan para bloquear la orientación de pantalla"
|
|---|
| 95 | },
|
|---|
| 96 | "definition-list": {
|
|---|
| 97 | "description": "Garantiza que los elementos <dl> están estructurados correctamente",
|
|---|
| 98 | "help": "Los elementos <dl> solo deben contener directamente grupos de <dt> y <dd> debidamente ordenados, o elementos <script> o <template>"
|
|---|
| 99 | },
|
|---|
| 100 | "dlitem": {
|
|---|
| 101 | "description": "Garantiza que los elementos <dt> y <dd> están contenidos en un <dl>",
|
|---|
| 102 | "help": "Los elementos <dt> y <dd> deben estar contenidos en un <dl>"
|
|---|
| 103 | },
|
|---|
| 104 | "document-title": {
|
|---|
| 105 | "description": "Garantiza que cada documento HTML tiene un elemento <title> no vacío",
|
|---|
| 106 | "help": "Los documentos deben tener elementos <title> para ayudar en la navegación"
|
|---|
| 107 | },
|
|---|
| 108 | "duplicate-id-active": {
|
|---|
| 109 | "description": "Garantiza que cada valor para el atributo id de elementos activos es único",
|
|---|
| 110 | "help": "Los 'IDs' de elementos activos deben ser únicos"
|
|---|
| 111 | },
|
|---|
| 112 | "duplicate-id-aria": {
|
|---|
| 113 | "description": "Garantiza que cada valor del atributo id usado en ARIA y en 'labels' es único",
|
|---|
| 114 | "help": "Los 'IDs' usados en ARIA y en 'labels' deben ser únicos"
|
|---|
| 115 | },
|
|---|
| 116 | "duplicate-id": {
|
|---|
| 117 | "description": "Garantiza que cada valor para el atributo id es único",
|
|---|
| 118 | "help": "El valor del atributo id debe ser único"
|
|---|
| 119 | },
|
|---|
| 120 | "empty-heading": {
|
|---|
| 121 | "description": "Garantiza que los encabezados tienen texto discernible",
|
|---|
| 122 | "help": "Los encabezados no deben estar vacíos"
|
|---|
| 123 | },
|
|---|
| 124 | "focus-order-semantics": {
|
|---|
| 125 | "description": "Garantiza que los elementos en orden de foco tienen un rol apropiado",
|
|---|
| 126 | "help": "Los elementos en orden de foco necesitan un rol apropiado para contenido interactivo"
|
|---|
| 127 | },
|
|---|
| 128 | "form-field-multiple-labels": {
|
|---|
| 129 | "description": "Garantiza que el campo de formulario no tiene múltiples elementos label",
|
|---|
| 130 | "help": "El campo de formulario no debe tener múltiples elementos label"
|
|---|
| 131 | },
|
|---|
| 132 | "frame-tested": {
|
|---|
| 133 | "description": "Garantiza que los elementos <iframe> y <frame> contienen el script axe-core",
|
|---|
| 134 | "help": "Los marcos deben probarse con axe-core"
|
|---|
| 135 | },
|
|---|
| 136 | "frame-title-unique": {
|
|---|
| 137 | "description": "Garantiza que los elementos <iframe> y <frame> contienen un atributo título único",
|
|---|
| 138 | "help": "Los marcos deben tener un único atributo title"
|
|---|
| 139 | },
|
|---|
| 140 | "frame-title": {
|
|---|
| 141 | "description": "Garantiza que los elementos <iframe> y <frame> contienen un atributo título no vacío",
|
|---|
| 142 | "help": "Los marcos deben tener el atributo title"
|
|---|
| 143 | },
|
|---|
| 144 | "heading-order": {
|
|---|
| 145 | "description": "Garantiza que el orden de los encabezados es semánticamente correcto",
|
|---|
| 146 | "help": "El nivel de encabezados solo debería incrementarse en 1"
|
|---|
| 147 | },
|
|---|
| 148 | "hidden-content": {
|
|---|
| 149 | "description": "Informa a los usuarios sobre contenido oculto.",
|
|---|
| 150 | "help": "El contenido oculto de la página no se puede analizar"
|
|---|
| 151 | },
|
|---|
| 152 | "html-has-lang": {
|
|---|
| 153 | "description": "Garantiza que cada documento HTML tiene un atributo lang",
|
|---|
| 154 | "help": "El elemento <html> debe tener un atributo lang"
|
|---|
| 155 | },
|
|---|
| 156 | "html-lang-valid": {
|
|---|
| 157 | "description": "Garantiza que el atributo lang del elemento <html> tiene un valor válido",
|
|---|
| 158 | "help": "El elemento <html> debe tener un valor válido para el atributo lang"
|
|---|
| 159 | },
|
|---|
| 160 | "html-xml-lang-mismatch": {
|
|---|
| 161 | "description": "Garantizar que en los elementos HTML con atributos tanto lang como xml:lang válidos haya concordancia en el idioma base de la página",
|
|---|
| 162 | "help": "Los elementos HTML con lang y xml:lang deben tener el mismo idioma base"
|
|---|
| 163 | },
|
|---|
| 164 | "image-alt": {
|
|---|
| 165 | "description": "Garantiza que los elementos <img> tienen texto alternativo o un rol de none o presentation",
|
|---|
| 166 | "help": "Las imágenes deben tener texto alternativo"
|
|---|
| 167 | },
|
|---|
| 168 | "image-redundant-alt": {
|
|---|
| 169 | "description": "Garantiza que la alternativa a la imagen no se repite como texto",
|
|---|
| 170 | "help": "El texto alternativo de las imágenes no debe repetirse como texto"
|
|---|
| 171 | },
|
|---|
| 172 | "input-button-name": {
|
|---|
| 173 | "description": "Garantizar que los 'input buttons' tienen texto discernible",
|
|---|
| 174 | "help": "Los 'Input buttons' deben tener texto discernible"
|
|---|
| 175 | },
|
|---|
| 176 | "input-image-alt": {
|
|---|
| 177 | "description": "Garantiza que los elementos <input type=\"image\"> tienen texto alternativo",
|
|---|
| 178 | "help": "Los 'image buttons' deben tener texto alternativo"
|
|---|
| 179 | },
|
|---|
| 180 | "label-content-name-mismatch": {
|
|---|
| 181 | "description": "Garantiza que, en los elementos etiquetados mediante su contenido, su texto visible debe formar parte de su nombre accesible",
|
|---|
| 182 | "help": "Los elementos deben tener su texto visible como parte de su nombre accesible"
|
|---|
| 183 | },
|
|---|
| 184 | "label-title-only": {
|
|---|
| 185 | "description": "Garantiza que cada elemento de formulario no está etiquetado únicamente mediante los atributos title o aria-describedby ",
|
|---|
| 186 | "help": "Los elementos de formulario deben tener una etiqueta visible"
|
|---|
| 187 | },
|
|---|
| 188 | "label": {
|
|---|
| 189 | "description": "Garantiza que cada elemento de formulario tiene una etiqueta",
|
|---|
| 190 | "help": "Los elementos de formulario deben tener etiquetas"
|
|---|
| 191 | },
|
|---|
| 192 | "landmark-banner-is-top-level": {
|
|---|
| 193 | "description": "Garantiza que el punto de referencia banner está en el nivel superior",
|
|---|
| 194 | "help": "El punto de referencia banner no debe estar contenido en otro punto de referencia"
|
|---|
| 195 | },
|
|---|
| 196 | "landmark-complementary-is-top-level": {
|
|---|
| 197 | "description": "Garantiza que el punto de referencia complementary o aside está en el nivel superior",
|
|---|
| 198 | "help": "Aside no debe estar contenido en otro punto de referencia"
|
|---|
| 199 | },
|
|---|
| 200 | "landmark-contentinfo-is-top-level": {
|
|---|
| 201 | "description": "Garantiza que el punto de referencia contentinfo está en el nivel superior",
|
|---|
| 202 | "help": "El punto de referencia contentinfo no debe estar contenido en otro punto de referencia"
|
|---|
| 203 | },
|
|---|
| 204 | "landmark-main-is-top-level": {
|
|---|
| 205 | "description": "Garantiza que el punto de referencia main está en el nivel superior",
|
|---|
| 206 | "help": "El punto de referencia main no debe estar contenido en otro punto de referencia"
|
|---|
| 207 | },
|
|---|
| 208 | "landmark-no-duplicate-banner": {
|
|---|
| 209 | "description": "Garantiza que el documento tiene, como mucho, un punto de referencia banner",
|
|---|
| 210 | "help": "El documento no debe tener más de un punto de referencia banner"
|
|---|
| 211 | },
|
|---|
| 212 | "landmark-no-duplicate-contentinfo": {
|
|---|
| 213 | "description": "Garantiza que el documento tiene, como mucho, un punto de referencia contentinfo",
|
|---|
| 214 | "help": "El documento no debe tener más de un punto de referencia contentinfo"
|
|---|
| 215 | },
|
|---|
| 216 | "landmark-one-main": {
|
|---|
| 217 | "description": "Garantiza que el documento solo tiene un punto de referencia main y que cada marco incorporado en la página tiene, como mucho, un punto de referencia main",
|
|---|
| 218 | "help": "El documento debe tener un punto de referencia main"
|
|---|
| 219 | },
|
|---|
| 220 | "landmark-unique": {
|
|---|
| 221 | "help": "Garantiza que los puntos de referencia son únicos",
|
|---|
| 222 | "description": "Los puntos de referencia deben tener una única combinación de role o role/label/title (es decir, un nombre accesible único)"
|
|---|
| 223 | },
|
|---|
| 224 | "link-in-text-block": {
|
|---|
| 225 | "description": "Los enlaces pueden distinguirse sin depender del color",
|
|---|
| 226 | "help": "Los enlaces deben distinguirse del texto adyacente por un medio que no dependa del color"
|
|---|
| 227 | },
|
|---|
| 228 | "link-name": {
|
|---|
| 229 | "description": "Garantiza que los enlaces tienen texto discernible",
|
|---|
| 230 | "help": "Los enlaces deben tener texto discernible"
|
|---|
| 231 | },
|
|---|
| 232 | "list": {
|
|---|
| 233 | "description": "Garantiza que las listas están estructuradas correctamente",
|
|---|
| 234 | "help": "<ul> y <ol> solo deben contener directamente elementos <li>, <script> o <template>"
|
|---|
| 235 | },
|
|---|
| 236 | "listitem": {
|
|---|
| 237 | "description": "Garantiza que los elementos <li> se utilizan semánticamente",
|
|---|
| 238 | "help": "Los elementos <li> deben estar contenidos en un <ul> o un <ol>"
|
|---|
| 239 | },
|
|---|
| 240 | "marquee": {
|
|---|
| 241 | "description": "Garantiza que no se usan elementos <marquee>",
|
|---|
| 242 | "help": "Los elementos <marquee> están obsoletos y no deben usarse"
|
|---|
| 243 | },
|
|---|
| 244 | "meta-refresh": {
|
|---|
| 245 | "description": "Garantiza que no se usa <meta http-equiv=\"refresh\">",
|
|---|
| 246 | "help": "El refresco programado no debe existir"
|
|---|
| 247 | },
|
|---|
| 248 | "meta-viewport-large": {
|
|---|
| 249 | "description": "Garantizar que <meta name=\"viewport\"> puede ampliarse en grado significativo",
|
|---|
| 250 | "help": "Los usuarios deben poder hacer zum y ampliar el texto hasta 500%"
|
|---|
| 251 | },
|
|---|
| 252 | "meta-viewport": {
|
|---|
| 253 | "description": "Garantiza que <meta name=\"viewport\"> no impide la ampliación y el zum en el texto",
|
|---|
| 254 | "help": "No debe impedirse el zum y la ampliación"
|
|---|
| 255 | },
|
|---|
| 256 | "object-alt": {
|
|---|
| 257 | "description": "Garantiza que los elementos <object> tienen texto alternativo",
|
|---|
| 258 | "help": "Los elementos <object> deben tener texto alternativo"
|
|---|
| 259 | },
|
|---|
| 260 | "p-as-heading": {
|
|---|
| 261 | "description": "Garantizar que los elementos p no se usan para diseñar encabezados",
|
|---|
| 262 | "help": "No se usa texto en negrita, cursiva o tamaño de fuente para dar estilo de encabezados a elementos p"
|
|---|
| 263 | },
|
|---|
| 264 | "page-has-heading-one": {
|
|---|
| 265 | "description": "Garantizar que la página, o al menos uno de sus marcos, contiene un encabezado de nivel 1",
|
|---|
| 266 | "help": "La página debe contener un encabezado de nivel 1"
|
|---|
| 267 | },
|
|---|
| 268 | "region": {
|
|---|
| 269 | "description": "Garantiza que todo el contenido de la página está incluido en puntos de referencia",
|
|---|
| 270 | "help": "Todo el contenido de la página debe estar incluido en puntos de referencia"
|
|---|
| 271 | },
|
|---|
| 272 | "role-img-alt": {
|
|---|
| 273 | "description": "Garantiza que los elementos [role='img'] tienen texto alternativo",
|
|---|
| 274 | "help": "Los elementos [role='img'] tienen un texto alternativo"
|
|---|
| 275 | },
|
|---|
| 276 | "scope-attr-valid": {
|
|---|
| 277 | "description": "Garantiza que el atributo scope se usa correctamente en las tablas",
|
|---|
| 278 | "help": "El atributo scope debería usarse correctamente"
|
|---|
| 279 | },
|
|---|
| 280 | "scrollable-region-focusable": {
|
|---|
| 281 | "description": "Los elementos que tienen contenido que puede desplazarse verticalmente (en 'scroll') deberían ser accesibles mediante el teclado",
|
|---|
| 282 | "help": "Asegurar que la región de desplazamiento vertical ('scroll') tiene acceso por teclado"
|
|---|
| 283 | },
|
|---|
| 284 | "server-side-image-map": {
|
|---|
| 285 | "description": "Garantiza que no se usan mapas de imágenes del lado del servidor",
|
|---|
| 286 | "help": "No deben usarse mapas de imágenes del lado del servidor"
|
|---|
| 287 | },
|
|---|
| 288 | "skip-link": {
|
|---|
| 289 | "description": "Garantizar que todos los enlaces de salto ('skip') tienen un destino que admite el foco",
|
|---|
| 290 | "help": "El destino del enlace de salto ('skip') debería existir y admitir el foco"
|
|---|
| 291 | },
|
|---|
| 292 | "tabindex": {
|
|---|
| 293 | "description": "Garantiza que los valores del atributo tabindex no son mayores que 0",
|
|---|
| 294 | "help": "Los elementos no deberían tener un tabindex mayor que 0"
|
|---|
| 295 | },
|
|---|
| 296 | "table-duplicate-name": {
|
|---|
| 297 | "description": "Garantizar que las tablas no tienen el mismo summary y caption",
|
|---|
| 298 | "help": "El elemento <caption> no debería contener el mismo texto que el atributo summary"
|
|---|
| 299 | },
|
|---|
| 300 | "table-fake-caption": {
|
|---|
| 301 | "description": "Garantizar que las tablas con título usan el elemento <caption>.",
|
|---|
| 302 | "help": "Las celdas de datos o de encabezados no deberían usarse para dar título a una tabla de datos."
|
|---|
| 303 | },
|
|---|
| 304 | "td-has-header": {
|
|---|
| 305 | "description": "Garantizar que cada celda de datos no vacía de una tabla grande tiene uno o más encabezados de tabla",
|
|---|
| 306 | "help": "Todos los elementos td no vacíos de una tabla mayor que 3 por 3 deben tener un encabezado de tabla asociado"
|
|---|
| 307 | },
|
|---|
| 308 | "td-headers-attr": {
|
|---|
| 309 | "description": "Garantizar que cada celda que use los encabezados en una tabla haga referencia a otra celda de esa tabla",
|
|---|
| 310 | "help": "Todas las celdas de un elemento table que usen el atributo headers deben hacer referencia solo a otras celdas de esa misma tabla"
|
|---|
| 311 | },
|
|---|
| 312 | "th-has-data-cells": {
|
|---|
| 313 | "description": "Garantizar que cada encabezado de tabla en una tabla de datos hace referencia a celdas de datos",
|
|---|
| 314 | "help": "Todos los elementos th y elementos con role=columnheader/rowheader deben tener las celdas de datos que describen"
|
|---|
| 315 | },
|
|---|
| 316 | "valid-lang": {
|
|---|
| 317 | "description": "Garantiza que los atributos lang tienen valores válidos",
|
|---|
| 318 | "help": "El atributo lang debe tener un valor válido"
|
|---|
| 319 | },
|
|---|
| 320 | "video-caption": {
|
|---|
| 321 | "description": "Garantiza que los elementos <video> tienen subtítulos",
|
|---|
| 322 | "help": "Los elementos <video> deben tener subtítulos"
|
|---|
| 323 | }
|
|---|
| 324 | },
|
|---|
| 325 | "checks": {
|
|---|
| 326 | "abstractrole": {
|
|---|
| 327 | "pass": "No se usan 'abstract roles'",
|
|---|
| 328 | "fail": "Los 'abstract roles' no se pueden usar directamente"
|
|---|
| 329 | },
|
|---|
| 330 | "aria-allowed-attr": {
|
|---|
| 331 | "pass": "Los atributos ARIA se usan correctamente para el rol definido",
|
|---|
| 332 | "fail": {
|
|---|
| 333 | "singular": "En ARIA, atributos no están permitidos : ${data.values}",
|
|---|
| 334 | "plural": "En ARIA, atributono está permitido : ${data.values}"
|
|---|
| 335 | }
|
|---|
| 336 | },
|
|---|
| 337 | "aria-allowed-role": {
|
|---|
| 338 | "pass": "El rol ARIA está permitido para el elemento proporcionado",
|
|---|
| 339 | "fail": {
|
|---|
| 340 | "singular": "En ARIA, roles ${data.values} no están permitidos para el elemento proporcionado",
|
|---|
| 341 | "plural": "En ARIA, role ${data.values} no está permitido para el elemento proporcionado"
|
|---|
| 342 | },
|
|---|
| 343 | "incomplete": {
|
|---|
| 344 | "singular": "En ARIA, hay que eliminar roles ${data.values} cuando el elemento se haga visible, ya que no están permitidos para el elemento",
|
|---|
| 345 | "plural": "En ARIA, hay que eliminar role ${data.values} cuando el elemento se haga visible, ya que no está permitido para el elemento"
|
|---|
| 346 | }
|
|---|
| 347 | },
|
|---|
| 348 | "aria-hidden-body": {
|
|---|
| 349 | "pass": "No hay ningún atributo aria-hidden presente en el 'body' del documento",
|
|---|
| 350 | "fail": "aria-hidden=true no debe estar presente en el 'body' del documento"
|
|---|
| 351 | },
|
|---|
| 352 | "aria-errormessage": {
|
|---|
| 353 | "pass": "Usa una técnica admitida para aria-errormessage",
|
|---|
| 354 | "fail": {
|
|---|
| 355 | "singular": "En aria-errormessage, valores ${data.values}`, se debe usar una técnica para anunciar el mensaje (p. ej., aria-live, aria-describedby, role=alert, etc.)",
|
|---|
| 356 | "plural": "En aria-errormessage, valor ${data.values}`, se debe usar una técnica para anunciar el mensaje (p. ej., aria-live, aria-describedby, role=alert, etc.)"
|
|---|
| 357 | }
|
|---|
| 358 | },
|
|---|
| 359 | "has-widget-role": {
|
|---|
| 360 | "pass": "El elemento tiene un rol de widget.",
|
|---|
| 361 | "fail": "El elemento no tiene un rol de widget."
|
|---|
| 362 | },
|
|---|
| 363 | "invalidrole": {
|
|---|
| 364 | "pass": "El rol ARIA es válido",
|
|---|
| 365 | "fail": "El rol debe ser uno de los roles ARIA válidos"
|
|---|
| 366 | },
|
|---|
| 367 | "no-implicit-explicit-label": {
|
|---|
| 368 | "pass": "No hay discordancia entre un <label> y el nombre accesible",
|
|---|
| 369 | "incomplete": "Comprobar que el <label> no necesita ser parte del ARIA ${data} para el nombre del campo"
|
|---|
| 370 | },
|
|---|
| 371 | "aria-required-attr": {
|
|---|
| 372 | "pass": "Todos los atributos ARIA requeridos están presentes",
|
|---|
| 373 | "fail": {
|
|---|
| 374 | "singular": "Atributos requeridos no presentes: ${data.values}",
|
|---|
| 375 | "plural": "Atributo requerido no presente: ${data.values}"
|
|---|
| 376 | }
|
|---|
| 377 | },
|
|---|
| 378 | "aria-required-children": {
|
|---|
| 379 | "pass": {
|
|---|
| 380 | "default": "Los hijos ARIA requeridos están presentes"
|
|---|
| 381 | },
|
|---|
| 382 | "fail": {
|
|---|
| 383 | "singular": "Rol de hijos requerido en ARIA no presente: ${data.values}",
|
|---|
| 384 | "plural": "Rol de hijo requerido en ARIA no presente: ${data.values}"
|
|---|
| 385 | },
|
|---|
| 386 | "incomplete": {
|
|---|
| 387 | "singular": "Esperando que se añada rol ARIA para hijos: ${data.values}",
|
|---|
| 388 | "plural": "Esperando que se añada rol ARIA para hijo: ${data.values}"
|
|---|
| 389 | }
|
|---|
| 390 | },
|
|---|
| 391 | "aria-required-parent": {
|
|---|
| 392 | "pass": "Rol de padre requerido en ARIA presente",
|
|---|
| 393 | "fail": {
|
|---|
| 394 | "singular": "Rol de ARIA requerido para padre s no presente: ${data.values}",
|
|---|
| 395 | "plural": "Rol de ARIA requerido para padre no presente: ${data.values}"
|
|---|
| 396 | }
|
|---|
| 397 | },
|
|---|
| 398 | "aria-unsupported-attr": {
|
|---|
| 399 | "pass": "El atributo ARIA está admitido",
|
|---|
| 400 | "fail": "El atributo ARIA no está ampliamente admitido en lectores de pantalla y tecnologías de apoyo: ${data.values}"
|
|---|
| 401 | },
|
|---|
| 402 | "unsupportedrole": {
|
|---|
| 403 | "pass": "El rol ARIA está admitido",
|
|---|
| 404 | "fail": "El rol usado no está ampliamente admitido en lectores de pantalla y tecnologías de apoyo: ${data.values}"
|
|---|
| 405 | },
|
|---|
| 406 | "aria-valid-attr-value": {
|
|---|
| 407 | "pass": "Los valores de los atributos ARIA son válidos",
|
|---|
| 408 | "fail": {
|
|---|
| 409 | "singular": "Valores no válidos para atributo ARIA: ${data.values}",
|
|---|
| 410 | "plural": "Valor no válido para atributo ARIA: ${data.values}"
|
|---|
| 411 | },
|
|---|
| 412 | "incomplete": {
|
|---|
| 413 | "singular": "Atributos ARIA ID de elemento no existe en la página: ${data.values}",
|
|---|
| 414 | "plural": "Atributo ARIA ID de elemento no existe en la página: ${data.values}"
|
|---|
| 415 | }
|
|---|
| 416 | },
|
|---|
| 417 | "aria-valid-attr": {
|
|---|
| 418 | "pass": {
|
|---|
| 419 | "singular": "Nombres de atributos ARIA válidos",
|
|---|
| 420 | "plural": "Nombrede atributo ARIA válido"
|
|---|
| 421 | },
|
|---|
| 422 | "fail": {
|
|---|
| 423 | "singular": "Nombres de atributos ARIA no válidos: ${data.values}",
|
|---|
| 424 | "plural": "Nombre de atributo ARIA no válido: ${data.values}"
|
|---|
| 425 | }
|
|---|
| 426 | },
|
|---|
| 427 | "valid-scrollable-semantics": {
|
|---|
| 428 | "pass": "El elemento tiene una semántica válida para un elemento en orden de foco.",
|
|---|
| 429 | "fail": "El elemento tiene una semántica no válida para un elemento en orden de foco."
|
|---|
| 430 | },
|
|---|
| 431 | "color-contrast": {
|
|---|
| 432 | "pass": "El elemento tiene un contraste de color suficiente de ${data.contrastRatio}",
|
|---|
| 433 | "fail": "El elemento tiene un contraste de color insuficiente de ${data.contrastRatio} (color de primer plano: ${data.fgColor}, color de fondo: ${data.bgColor}, tamaño de fuente: ${data.fontSize}, grosor de fuente: ${data.fontWeight}). Ratio de contraste esperado: ${data.expectedContrastRatio}",
|
|---|
| 434 | "incomplete": {
|
|---|
| 435 | "bgImage": "El color de fondo del elemento no se pudo determinar debido a una imagen de fondo",
|
|---|
| 436 | "bgGradient": "El color de fondo del elemento no se pudo determinar debido a un degradado de fondo",
|
|---|
| 437 | "imgNode": "El color de fondo del elemento no se pudo determinar porque el elemento contiene un nodo de imagen",
|
|---|
| 438 | "bgOverlap": "El color de fondo no se pudo determinar porque tiene otro elemento superpuesto",
|
|---|
| 439 | "fgAlpha": "El color de fondo no se pudo determinar debido a una transparencia alfa",
|
|---|
| 440 | "elmPartiallyObscured": "El color de fondo no se pudo determinar porque está parcialmente oculto por otro elemento",
|
|---|
| 441 | "elmPartiallyObscuring": "El color de fondo del elemento no se pudo determinar porque se superpone parcialmente a otros elementos",
|
|---|
| 442 | "outsideViewport": "El color de fondo del elemento no se pudo determinar porque está fuera de la ventana gráfica ('viewport')",
|
|---|
| 443 | "equalRatio": "El elemento tiene una ratio de contraste 1:1 con el fondo",
|
|---|
| 444 | "shortTextContent": "El contenido del elemento es demasiado corto para determinar si es contenido de texto propiamente dicho",
|
|---|
| 445 | "default": "Imposible determinar la ratio de contraste"
|
|---|
| 446 | }
|
|---|
| 447 | },
|
|---|
| 448 | "color-contrast-enhanced": {
|
|---|
| 449 | "pass": "El elemento tiene un contraste de color suficiente de ${data.contrastRatio}",
|
|---|
| 450 | "fail": "El elemento tiene un contraste de color insuficiente de ${data.contrastRatio} (color de primer plano: ${data.fgColor}, color de fondo: ${data.bgColor}, tamaño de fuente: ${data.fontSize}, grosor de fuente: ${data.fontWeight}). Ratio de contraste esperado: ${data.expectedContrastRatio}",
|
|---|
| 451 | "incomplete": {
|
|---|
| 452 | "bgImage": "El color de fondo del elemento no se pudo determinar debido a una imagen de fondo",
|
|---|
| 453 | "bgGradient": "El color de fondo del elemento no se pudo determinar debido a un degradado de fondo",
|
|---|
| 454 | "imgNode": "El color de fondo del elemento no se pudo determinar porque el elemento contiene un nodo de imagen",
|
|---|
| 455 | "bgOverlap": "El color de fondo no se pudo determinar porque tiene otro elemento superpuesto",
|
|---|
| 456 | "fgAlpha": "El color de fondo no se pudo determinar debido a una transparencia alfa",
|
|---|
| 457 | "elmPartiallyObscured": "El color de fondo no se pudo determinar porque está parcialmente oculto por otro elemento",
|
|---|
| 458 | "elmPartiallyObscuring": "El color de fondo del elemento no se pudo determinar porque se superpone parcialmente a otros elementos",
|
|---|
| 459 | "outsideViewport": "El color de fondo del elemento no se pudo determinar porque está fuera de la ventana gráfica ('viewport')",
|
|---|
| 460 | "equalRatio": "El elemento tiene una ratio de contraste 1:1 con el fondo",
|
|---|
| 461 | "shortTextContent": "El contenido del elemento es demasiado corto para determinar si es contenido de texto propiamente dicho",
|
|---|
| 462 | "default": "Imposible determinar la ratio de contraste"
|
|---|
| 463 | }
|
|---|
| 464 | },
|
|---|
| 465 | "link-in-text-block": {
|
|---|
| 466 | "pass": "Los enlaces se pueden distinguir respecto al texto adyacente de forma ajena al color",
|
|---|
| 467 | "fail": "Es necesario distinguir los enlaces respecto al texto adyacente de una forma ajena al color",
|
|---|
| 468 | "incomplete": {
|
|---|
| 469 | "bgContrast": "No se pudo determinar la ratio de contraste del elemento. Comprobar si existe un estilo hover/focus distinto",
|
|---|
| 470 | "bgImage": "La ratio de contraste del elemento no se pudo determinar debido a una imagen de fondo",
|
|---|
| 471 | "bgGradient": "La ratio de contraste del elemento no se pudo determinar debido a un degradado de fondo",
|
|---|
| 472 | "imgNode": "La ratio de contraste del elemento no se pudo determinar porque el elemento contiene un nodo de imagen",
|
|---|
| 473 | "bgOverlap": "La ratio de contraste del elemento no se pudo determinar debido a superposición de elementos",
|
|---|
| 474 | "default": "Imposible determinar la ratio de contraste"
|
|---|
| 475 | }
|
|---|
| 476 | },
|
|---|
| 477 | "autocomplete-appropriate": {
|
|---|
| 478 | "pass": "el valor de autocomplete está en un elemento apropiado",
|
|---|
| 479 | "fail": "el valor de autocomplete es inapropiado para este tipo de input"
|
|---|
| 480 | },
|
|---|
| 481 | "autocomplete-valid": {
|
|---|
| 482 | "pass": "el atributo autocomplete está formateado correctamente",
|
|---|
| 483 | "fail": "el atributo autocomplete está formateado incorrectamente"
|
|---|
| 484 | },
|
|---|
| 485 | "accesskeys": {
|
|---|
| 486 | "pass": "El valor del atributo accesskey es único",
|
|---|
| 487 | "fail": "El documento tiene múltiples elementos con el mismo accesskey"
|
|---|
| 488 | },
|
|---|
| 489 | "focusable-content": {
|
|---|
| 490 | "pass": "El elemento contiene elementos que admiten el foco",
|
|---|
| 491 | "fail": "El elemento debería tener contenido que admita el foco"
|
|---|
| 492 | },
|
|---|
| 493 | "focusable-disabled": {
|
|---|
| 494 | "pass": "Dentro del elemento no hay elementos que admitan el foco",
|
|---|
| 495 | "fail": "El contenido que admita el foco debería ser desactivado o eliminado del DOM"
|
|---|
| 496 | },
|
|---|
| 497 | "focusable-element": {
|
|---|
| 498 | "pass": "El elemento admite el foco",
|
|---|
| 499 | "fail": "El elemento debería admitir el foco"
|
|---|
| 500 | },
|
|---|
| 501 | "focusable-no-name": {
|
|---|
| 502 | "pass": "El elemento no está en orden de tabulación o tiene texto accesible",
|
|---|
| 503 | "fail": "El elemento está en orden de tabulación y no tiene texto accesible"
|
|---|
| 504 | },
|
|---|
| 505 | "focusable-not-tabbable": {
|
|---|
| 506 | "pass": "Dentro del elemento no hay elementos que admitan el foco",
|
|---|
| 507 | "fail": "El contenido que admita el foco debería tener tabindex='-1' o ser eliminado del DOM"
|
|---|
| 508 | },
|
|---|
| 509 | "landmark-is-top-level": {
|
|---|
| 510 | "pass": "El punto de referencia ${data.role} está en el nivel superior.",
|
|---|
| 511 | "fail": "El punto de referencia ${data.role} está contenido en otro punto de referencia."
|
|---|
| 512 | },
|
|---|
| 513 | "page-has-heading-one": {
|
|---|
| 514 | "pass": "La página tiene al menos un encabezado de nivel 1",
|
|---|
| 515 | "fail": "La página debe tener un encabezado de nivel 1"
|
|---|
| 516 | },
|
|---|
| 517 | "page-has-main": {
|
|---|
| 518 | "pass": "El documento tiene al menos un punto de referencia main",
|
|---|
| 519 | "fail": "El documento no tiene punto de referencia main"
|
|---|
| 520 | },
|
|---|
| 521 | "page-no-duplicate-banner": {
|
|---|
| 522 | "pass": "El documento no tiene más de un punto de referencia banner",
|
|---|
| 523 | "fail": "El documento tiene más de un punto de referencia banner"
|
|---|
| 524 | },
|
|---|
| 525 | "page-no-duplicate-contentinfo": {
|
|---|
| 526 | "pass": "El documento no tiene más de un punto de referencia contentinfo",
|
|---|
| 527 | "fail": "El documento tiene más de un punto de referencia contentinfo"
|
|---|
| 528 | },
|
|---|
| 529 | "page-no-duplicate-main": {
|
|---|
| 530 | "pass": "El documento no tiene más de un punto de referencia main",
|
|---|
| 531 | "fail": "El documento tiene más de un punto de referencia main"
|
|---|
| 532 | },
|
|---|
| 533 | "tabindex": {
|
|---|
| 534 | "pass": "El elemento no tiene un tabindex mayor que 0",
|
|---|
| 535 | "fail": "El elemento tiene un tabindex mayor que 0"
|
|---|
| 536 | },
|
|---|
| 537 | "alt-space-value": {
|
|---|
| 538 | "pass": "El elemento tiene un valor válido para el atributo alt",
|
|---|
| 539 | "fail": "El elemento tiene un atributo alt que contiene solo un carácter de espacio, que no es ignorado por todos los lectores de pantalla"
|
|---|
| 540 | },
|
|---|
| 541 | "duplicate-img-label": {
|
|---|
| 542 | "pass": "El elemento no duplica texto existente en el texto alternativo de <img>",
|
|---|
| 543 | "fail": "El elemento contiene un elemento <img> con texto alternativo que duplica texto existente"
|
|---|
| 544 | },
|
|---|
| 545 | "explicit-label": {
|
|---|
| 546 | "pass": "El elemento de formulario tiene un <label> explícito",
|
|---|
| 547 | "fail": "El elemento de formulario no tiene un <label> explícito"
|
|---|
| 548 | },
|
|---|
| 549 | "help-same-as-label": {
|
|---|
| 550 | "pass": "El texto de ayuda (title o aria-describedby) no duplica el texto de label",
|
|---|
| 551 | "fail": "El texto de ayuda (title o aria-describedby) es el mismo que el texto de label"
|
|---|
| 552 | },
|
|---|
| 553 | "hidden-explicit-label": {
|
|---|
| 554 | "pass": "El elemento de formulario tiene un <label> explícito visible",
|
|---|
| 555 | "fail": "El elemento de formulario tiene un <label> explícito oculto"
|
|---|
| 556 | },
|
|---|
| 557 | "implicit-label": {
|
|---|
| 558 | "pass": "El elemento de formulario tiene un <label> implícito ('envuelto')",
|
|---|
| 559 | "fail": "El elemento de formulario no tiene un <label> implícito ('envuelto')"
|
|---|
| 560 | },
|
|---|
| 561 | "label-content-name-mismatch": {
|
|---|
| 562 | "pass": "El elemento contiene texto visible como parte de su nombre accesible",
|
|---|
| 563 | "fail": "El texto contenido en el elemento no está incluido en el nombre accesible"
|
|---|
| 564 | },
|
|---|
| 565 | "multiple-label": {
|
|---|
| 566 | "pass": "El campo de formulario no tiene múltiples elementos label",
|
|---|
| 567 | "fail": "Múltiples elementos label no son ampliamente admitidos en las tecnologías de apoyo"
|
|---|
| 568 | },
|
|---|
| 569 | "title-only": {
|
|---|
| 570 | "pass": "El elemento de formulario no usa únicamente el atributo title para su etiqueta",
|
|---|
| 571 | "fail": "Solo se usó title para generar la etiqueta de un elemento de formulario"
|
|---|
| 572 | },
|
|---|
| 573 | "landmark-is-unique": {
|
|---|
| 574 | "pass": "Los puntos de referencia deben tener una combinación única de role o role/label/title (es decir, un nombre accesible único)",
|
|---|
| 575 | "fail": "El punto de referencia debe tener un aria-label, aria-labelledby o title único para que los puntos de referencia sean distinguibles"
|
|---|
| 576 | },
|
|---|
| 577 | "has-lang": {
|
|---|
| 578 | "pass": "El elemento <html> tiene un atributo lang",
|
|---|
| 579 | "fail": "El elemento <html> no tiene un atributo lang"
|
|---|
| 580 | },
|
|---|
| 581 | "valid-lang": {
|
|---|
| 582 | "pass": "El valor del atributo lang está incluido en la lista de idiomas válidos",
|
|---|
| 583 | "fail": "Valor del atributo lang no incluido en la lista de idiomas válidos"
|
|---|
| 584 | },
|
|---|
| 585 | "xml-lang-mismatch": {
|
|---|
| 586 | "pass": "Los atributos lang y xml:lang tienen el mismo idioma base",
|
|---|
| 587 | "fail": "Los atributos lang y xml:lang no tienen el mismo idioma base"
|
|---|
| 588 | },
|
|---|
| 589 | "dlitem": {
|
|---|
| 590 | "pass": "El elemento de lista de descripción tiene un elemento <dl> padre",
|
|---|
| 591 | "fail": "El elemento de lista de descripción no tiene un elemento <dl> padre"
|
|---|
| 592 | },
|
|---|
| 593 | "listitem": {
|
|---|
| 594 | "pass": "El elemento de lista tiene un elemento padre <ul>, <ol> o role=\"list\"",
|
|---|
| 595 | "fail": "El elemento de lista no tiene un elemento padre <ul>, <ol> o role=\"list\""
|
|---|
| 596 | },
|
|---|
| 597 | "only-dlitems": {
|
|---|
| 598 | "pass": "El elemento de lista solo tiene hijos directos que están permitidos dentro de elementos <dt> o <dd>",
|
|---|
| 599 | "fail": "El elemento de lista tiene hijos directos que no están permitidos dentro de elementos <dt> o <dd>"
|
|---|
| 600 | },
|
|---|
| 601 | "only-listitems": {
|
|---|
| 602 | "pass": "El elemento de lista solo tiene hijos directos que están permitidos dentro de elementos <li>",
|
|---|
| 603 | "fail": "El elemento de lista tiene hijos directos que no están permitidos dentro de elementos <li>"
|
|---|
| 604 | },
|
|---|
| 605 | "structured-dlitems": {
|
|---|
| 606 | "pass": "Cuando no está vacío, el elemento tiene tanto elementos <dt> como <dd>",
|
|---|
| 607 | "fail": "Cuando no está vacío, el elemento no tiene al menos un elemento <dt> seguido por, al menos, un elemento <dd>"
|
|---|
| 608 | },
|
|---|
| 609 | "caption": {
|
|---|
| 610 | "pass": "El elemento multimedia tiene una pista de subtítulos",
|
|---|
| 611 | "incomplete": "Comprobar que hay disponibles subtítulos para el elemento"
|
|---|
| 612 | },
|
|---|
| 613 | "frame-tested": {
|
|---|
| 614 | "pass": "El marco incorporado fue probado con axe-core",
|
|---|
| 615 | "fail": "El marco incorporado no se pudo probar con axe-core",
|
|---|
| 616 | "incomplete": "El marco incorporado aún tiene que probarse con axe-core"
|
|---|
| 617 | },
|
|---|
| 618 | "css-orientation-lock": {
|
|---|
| 619 | "pass": "La pantalla es manejable y no existe bloqueo de orientación",
|
|---|
| 620 | "fail": "Se aplica bloqueo de orientación CSS y hace que la pantalla sea inmanejable",
|
|---|
| 621 | "incomplete": "No se puede determinar si hay bloqueo de orientación CSS"
|
|---|
| 622 | },
|
|---|
| 623 | "meta-viewport-large": {
|
|---|
| 624 | "pass": "La etiqueta <meta> no impide un zum significativo en dispositivos móviles",
|
|---|
| 625 | "fail": "La etiqueta <meta> limita el zum en dispositivos móviles"
|
|---|
| 626 | },
|
|---|
| 627 | "meta-viewport": {
|
|---|
| 628 | "pass": "La etiqueta <meta> no impide el zum en dispositivos móviles",
|
|---|
| 629 | "fail": "${data} en la etiqueta <meta> impide el zum en dispositivos móviles"
|
|---|
| 630 | },
|
|---|
| 631 | "header-present": {
|
|---|
| 632 | "pass": "La página tiene un 'header'",
|
|---|
| 633 | "fail": "La página no tiene un 'header'"
|
|---|
| 634 | },
|
|---|
| 635 | "heading-order": {
|
|---|
| 636 | "pass": "Horden de encabezados válido",
|
|---|
| 637 | "fail": "Orden de encabezados no válido"
|
|---|
| 638 | },
|
|---|
| 639 | "internal-link-present": {
|
|---|
| 640 | "pass": "Encontrado enlace de salto ('skip') válido",
|
|---|
| 641 | "fail": "No se han encontrado enlaces de salto ('skip') válidos"
|
|---|
| 642 | },
|
|---|
| 643 | "landmark": {
|
|---|
| 644 | "pass": "La página tiene una región punto de referencia",
|
|---|
| 645 | "fail": "La página no tiene una región punto de referencia"
|
|---|
| 646 | },
|
|---|
| 647 | "meta-refresh": {
|
|---|
| 648 | "pass": "La etiqueta <meta> no refresca la página inmediatamente",
|
|---|
| 649 | "fail": "La etiqueta <meta> fuerza el refresco programado de la página"
|
|---|
| 650 | },
|
|---|
| 651 | "p-as-heading": {
|
|---|
| 652 | "pass": "Los elementos <p> no se han diseñado como encabezados",
|
|---|
| 653 | "fail": "Deberían usarse elementos de encabezado en vez de elementos <p> con estilos"
|
|---|
| 654 | },
|
|---|
| 655 | "region": {
|
|---|
| 656 | "pass": "Todo el contenido de la página está incluido en puntos de referencia",
|
|---|
| 657 | "fail": "La página tiene contenido no incluido en puntos de referencia"
|
|---|
| 658 | },
|
|---|
| 659 | "skip-link": {
|
|---|
| 660 | "pass": "Existe el destino del enlace de salto ('skip')",
|
|---|
| 661 | "incomplete": "El destino del enlace de salto ('skip') debería volverse visible en la activación",
|
|---|
| 662 | "fail": "No hay destino para el enlace de salto ('skip')"
|
|---|
| 663 | },
|
|---|
| 664 | "unique-frame-title": {
|
|---|
| 665 | "pass": "El atributo title del elemento es único",
|
|---|
| 666 | "fail": "El atributo title del elemento no es único"
|
|---|
| 667 | },
|
|---|
| 668 | "duplicate-id-active": {
|
|---|
| 669 | "pass": "El documento no tiene elementos activos que compartan el mismo atributo id",
|
|---|
| 670 | "fail": "El documento tiene elementos activos con el mismo atributo id: ${data}"
|
|---|
| 671 | },
|
|---|
| 672 | "duplicate-id-aria": {
|
|---|
| 673 | "pass": "El documento no tiene elementos referidos con ARIA o etiquetas que compartan el mismo atributo id",
|
|---|
| 674 | "fail": "El documento tiene múltiples elementos referidos con ARIA con el mismo atributo id: ${data}"
|
|---|
| 675 | },
|
|---|
| 676 | "duplicate-id": {
|
|---|
| 677 | "pass": "El documento no tiene elementos estáticos que compartan el mismo atributo id",
|
|---|
| 678 | "fail": "El documento tiene múltiples elementos estáticos con el mismo atributo id"
|
|---|
| 679 | },
|
|---|
| 680 | "aria-label": {
|
|---|
| 681 | "pass": "El atributo aria-label existe y no está vacío",
|
|---|
| 682 | "fail": "El atributo aria-label no existe o está vacío"
|
|---|
| 683 | },
|
|---|
| 684 | "aria-labelledby": {
|
|---|
| 685 | "pass": "El atributo aria-labelledby existe y hace referencia a elementos visibles para lectores de pantalla",
|
|---|
| 686 | "fail": "El atributo aria-labelledby no existe, hace referencia a elementos inexistentes o hace referencia a elementos vacíos"
|
|---|
| 687 | },
|
|---|
| 688 | "avoid-inline-spacing": {
|
|---|
| 689 | "pass": "No se han especificado estilos 'inline' con '!important' que afecten al espaciado de texto",
|
|---|
| 690 | "fail": {
|
|---|
| 691 | "singular": "Eliminar '!important' de inline styles ${data.values}, porque su anulación no está admitida en la mayoría de navegadores",
|
|---|
| 692 | "plural": "Eliminar '!important' de inline style ${data.values}, porque su anulación no está admitida en la mayoría de navegadores"
|
|---|
| 693 | }
|
|---|
| 694 | },
|
|---|
| 695 | "button-has-visible-text": {
|
|---|
| 696 | "pass": "El elemento tiene texto interno visible para lectores de pantalla",
|
|---|
| 697 | "fail": "El elemento no tiene texto interno visible para lectores de pantalla"
|
|---|
| 698 | },
|
|---|
| 699 | "doc-has-title": {
|
|---|
| 700 | "pass": "El documento tiene un elemento <title> no vacío",
|
|---|
| 701 | "fail": "El documento no tiene un elemento <title> no vacío"
|
|---|
| 702 | },
|
|---|
| 703 | "exists": {
|
|---|
| 704 | "pass": "El elemento no existe",
|
|---|
| 705 | "fail": "El elemento existe"
|
|---|
| 706 | },
|
|---|
| 707 | "has-alt": {
|
|---|
| 708 | "pass": "El elemento tiene un atributo alt",
|
|---|
| 709 | "fail": "El elemento no tiene un atributo alt"
|
|---|
| 710 | },
|
|---|
| 711 | "has-visible-text": {
|
|---|
| 712 | "pass": "El elemento tiene texto visible para lectores de pantalla",
|
|---|
| 713 | "fail": "El elemento no tiene texto visible para lectores de pantalla"
|
|---|
| 714 | },
|
|---|
| 715 | "is-on-screen": {
|
|---|
| 716 | "pass": "El elemento no es visible",
|
|---|
| 717 | "fail": "El elemento es visible"
|
|---|
| 718 | },
|
|---|
| 719 | "non-empty-alt": {
|
|---|
| 720 | "pass": "El elemento tiene un atributo alt no vacío",
|
|---|
| 721 | "fail": "El elemento no tiene atributo alt o el atributo alt está vacío"
|
|---|
| 722 | },
|
|---|
| 723 | "non-empty-if-present": {
|
|---|
| 724 | "pass": {
|
|---|
| 725 | "default": "El elemento no tiene un atributo de valor",
|
|---|
| 726 | "has-label": "El elemento tiene un atributo de valor no vacío"
|
|---|
| 727 | },
|
|---|
| 728 | "fail": "El elemento tiene un atributo de valor y el atributo de valor está vacío"
|
|---|
| 729 | },
|
|---|
| 730 | "non-empty-title": {
|
|---|
| 731 | "pass": "El elemento tiene un atributo title",
|
|---|
| 732 | "fail": "El elemento no tiene atributo title o el atributo title está vacío"
|
|---|
| 733 | },
|
|---|
| 734 | "non-empty-value": {
|
|---|
| 735 | "pass": "El elemento tiene un atributo de valor no vacío",
|
|---|
| 736 | "fail": "El elemento no tiene un atributo de valor o el atributo de valor está vacío"
|
|---|
| 737 | },
|
|---|
| 738 | "role-none": {
|
|---|
| 739 | "pass": "La semántica predeterminada del elemento se anuló mediante role=\"none\"",
|
|---|
| 740 | "fail": "La semántica predeterminada del elemento no se anuló mediante role=\"none\""
|
|---|
| 741 | },
|
|---|
| 742 | "role-presentation": {
|
|---|
| 743 | "pass": "La semántica predeterminada del elemento se anuló mediante role=\"presentation\"",
|
|---|
| 744 | "fail": "La semántica predeterminada del elemento no se anuló mediante role=\"presentation\""
|
|---|
| 745 | },
|
|---|
| 746 | "caption-faked": {
|
|---|
| 747 | "pass": "La primera fila de una tabla no se usa como título ('caption')",
|
|---|
| 748 | "fail": "La primera fila de la tabla debería ser un título ('caption') en vez de una celda de tabla"
|
|---|
| 749 | },
|
|---|
| 750 | "html5-scope": {
|
|---|
| 751 | "pass": "El atributo scope solo se usa en elementos de encabezados de tabla (<th>)",
|
|---|
| 752 | "fail": "En HTML 5, los atributos scope solo se pueden usar en elementos de encabezados de tabla (<th>)"
|
|---|
| 753 | },
|
|---|
| 754 | "same-caption-summary": {
|
|---|
| 755 | "pass": "El contenido del atributo summary y de <caption> no están duplicados",
|
|---|
| 756 | "fail": "El contenido del atributo summary y del elemento <caption> son idénticos"
|
|---|
| 757 | },
|
|---|
| 758 | "scope-value": {
|
|---|
| 759 | "pass": "El atributo scope se usa correctamente",
|
|---|
| 760 | "fail": "El valor del atributo scope solo puede ser 'row' o 'col'"
|
|---|
| 761 | },
|
|---|
| 762 | "td-has-header": {
|
|---|
| 763 | "pass": "Todas las celdas de datos no vacías tienen encabezados de tabla",
|
|---|
| 764 | "fail": "Algunas celdas de datos no vacías no tienen encabezados de tabla"
|
|---|
| 765 | },
|
|---|
| 766 | "td-headers-attr": {
|
|---|
| 767 | "pass": "El atributo headers se usa exclusivamente para hacer referencia a otras celdas de la tabla",
|
|---|
| 768 | "fail": "El atributo headers no se usa exclusivamente para hacer referencia a otras celdas de la tabla"
|
|---|
| 769 | },
|
|---|
| 770 | "th-has-data-cells": {
|
|---|
| 771 | "pass": "Todas las celdas de encabezados de tabla hacen referencia a celdas de datos",
|
|---|
| 772 | "fail": "No todas las celdas de encabezados de tabla hacen referencia a celdas de datos",
|
|---|
| 773 | "incomplete": "Hay celdas de datos de la tabla ausentes o vacías"
|
|---|
| 774 | },
|
|---|
| 775 | "hidden-content": {
|
|---|
| 776 | "pass": "Se ha analizado todo el contenido de la página.",
|
|---|
| 777 | "fail": "Hubo problemas al analizar el contenido de esta página.",
|
|---|
| 778 | "incomplete": "Hay contenido oculto en la página que no fue analizado. Necesitarás activar la visualización de este contenido a fin de analizarlo."
|
|---|
| 779 | }
|
|---|
| 780 | },
|
|---|
| 781 | "failureSummaries": {
|
|---|
| 782 | "any": {
|
|---|
| 783 | "failureMessage": "Corregir cualquiera de las siguientes incidencias:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
|
|---|
| 784 | },
|
|---|
| 785 | "none": {
|
|---|
| 786 | "failureMessage": "Corregir (todas) las siguientes incidencias:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
|
|---|
| 787 | }
|
|---|
| 788 | },
|
|---|
| 789 | "incompleteFallbackMessage": "Corregir (todas) las siguientes incidencias:{{~it:value}}\n {{=value.split('\\n').join('\\n ')}}{{~}}"
|
|---|
| 790 | }
|
|---|