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