Lección 7 de 10 · 14 min de lectura · Revisado el 26/10/2026
De la regla al criterio: correspondencias entre reglas automáticas, WCAG 2.2 y EN 301 549
Una herramienta habla en reglas (color-contrast, label, link-name); un informe de auditoría habla en criterios de conformidad («1.4.3 Contraste (mínimo)», «4.1.2 Nombre, función, valor») y, en el sector público español, en cláusulas de la EN 301 549 (PDF, se abre en una ventana nueva). Traducir de un idioma a otro no es inmediato. Esta lección te da las correspondencias de las reglas más frecuentes, lo que cada una deja pendiente y cómo pasarlas a la EN 301 549.
Una relación asimétrica
La relación entre regla y criterio tiene cuatro formas habituales:
- Una regla, un criterio:
document-titlese corresponde con 2.4.2 Titulado de páginas. - Una regla, varios criterios:
link-nameestá etiquetada con 2.4.4 Propósito de los enlaces (en contexto) y 4.1.2 Nombre, función, valor. - Un criterio, muchas reglas: 1.3.1 Información y relaciones recibe resultados de
list,listitem,th-has-data-cells,td-headers-attr,aria-required-childreny otras. - Un criterio, ninguna regla: 2.4.3 Orden del foco, 3.3.3 Sugerencias ante errores y muchos más.
Punto clave
La relación es asimétrica. Una violación automática verificada basta para que la página incumpla el criterio asociado. Una regla que pasa no basta para que la página lo cumpla: solo indica que no se ha encontrado ese tipo concreto de fallo. Por eso el informe nunca dice «cumple 1.1.1 según axe».
Correspondencias de las reglas más frecuentes
La tabla recoge reglas de axe-core muy habituales en las auditorías, el criterio WCAG 2.2 con el que están etiquetadas y lo que queda por comprobar a mano para dar el criterio por evaluado.
| Regla | Criterio WCAG 2.2 | Qué queda por comprobar a mano |
|---|---|---|
image-alt, role-img-alt, svg-img-alt | 1.1.1 Contenido no textual | Que el texto alternativo sea equivalente, que las decorativas tengan alt="" y que las informativas no lo tengan vacío |
color-contrast | 1.4.3 Contraste (mínimo) | Texto sobre imágenes o degradados, estados de foco y paso del puntero, texto dentro de imágenes y todo lo marcado como «necesita revisión» |
link-in-text-block | 1.4.1 Uso del color | Otros usos del color: gráficos, campos con error, estados seleccionados, campos obligatorios |
label, select-name | 4.1.2 Nombre, función, valor | Que la etiqueta sea descriptiva (2.4.6), que haya etiqueta o instrucciones visibles (3.3.2) y que el nombre contenga el texto visible (2.5.3) |
button-name, input-button-name | 4.1.2 Nombre, función, valor | Que el nombre describa la acción y coincida con el texto visible |
link-name | 2.4.4 Propósito de los enlaces (en contexto) y 4.1.2 | Que el texto del enlace, con su contexto, explique su destino |
html-has-lang, html-lang-valid | 3.1.1 Idioma de la página | Que el idioma declarado sea el real del contenido |
valid-lang | 3.1.2 Idioma de las partes | Fragmentos en otro idioma sin marcar (la regla solo valida los que ya tienen lang) |
document-title | 2.4.2 Titulado de páginas | Que el título describa el tema o propósito y que cambie en cada vista de una aplicación de una sola página |
list, listitem, th-has-data-cells, td-headers-attr | 1.3.1 Información y relaciones | Encabezados falsos (párrafos en negrita), tablas hechas con div, grupos de opciones sin fieldset, relaciones solo visuales |
aria-allowed-attr, aria-valid-attr-value, aria-hidden-focus, nested-interactive | 4.1.2 Nombre, función, valor | Que los estados (aria-expanded, aria-selected) se actualicen al interactuar |
autocomplete-valid | 1.3.5 Identificar el propósito de la entrada | Que los campos de datos personales lleven autocomplete: la regla solo valida los que ya lo tienen |
bypass | 2.4.1 Evitar bloques | Que el mecanismo funcione; la regla se da por satisfecha si existe un encabezado, un landmark o un enlace interno |
meta-viewport | 1.4.4 Cambio de tamaño del texto | Ampliación al 200 % sin pérdida de contenido ni funciones |
scrollable-region-focusable | 2.1.1 Teclado | Todo el resto de 2.1.1: cada función operable con teclado |
target-size | 2.5.8 Tamaño del objetivo (mínimo) | Excepciones (espaciado, equivalente, en línea, control del agente de usuario, esencial) y objetivos que el motor no reconoce como interactivos |
video-caption | 1.2.2 Subtítulos (grabados) | Que los subtítulos existan de verdad, sean completos y estén sincronizados, también en reproductores de terceros |
Ten presente que las etiquetas de una regla pueden cambiar entre versiones del motor y que una regla puede estar asociada a criterios AAA (por ejemplo, color-contrast-enhanced con 1.4.6 Contraste (mejorado) o identical-links-same-purpose con 2.4.9 Propósito de los enlaces (solo enlaces)). Si tu alcance es AA, esos resultados no son incumplimientos.
Criterios sin regla automática
Para los siguientes criterios de nivel A y AA los motores habituales no tienen reglas, o solo tienen reglas que cubren un caso muy particular. Su evaluación es enteramente manual y es donde suelen estar los fallos más graves:
- Perceptible: 1.2.3 Audiodescripción o medio alternativo (grabado), 1.2.4 Subtítulos (en directo), 1.2.5 Audiodescripción (grabada), 1.3.2 Secuencia significativa, 1.3.3 Características sensoriales, 1.4.5 Imágenes de texto, 1.4.10 Reajuste de los elementos, 1.4.13 Contenido con hover o foco.
- Operable: 2.1.2 Sin trampas para el foco del teclado, 2.1.4 Atajos de teclado de un solo carácter, 2.2.2 Pausar, detener, ocultar (salvo los obsoletos
blinkymarquee), 2.4.3 Orden del foco, 2.4.5 Múltiples vías, 2.4.6 Encabezados y etiquetas, 2.4.7 Foco visible, 2.4.11 Foco no oculto (mínimo), 2.5.1 Gestos del puntero, 2.5.2 Cancelación del puntero, 2.5.4 Activación mediante movimiento y 2.5.7 Movimientos de arrastre. - Comprensible: 3.2.1 Al recibir el foco, 3.2.2 Al recibir entradas, 3.2.3 Navegación coherente, 3.2.4 Identificación coherente, 3.2.6 Ayuda coherente, 3.3.1 Identificación de errores, 3.3.3 Sugerencias ante errores, 3.3.4 Prevención de errores, 3.3.7 Entrada redundante y 3.3.8 Autenticación accesible (mínimo).
- Robusto: 4.1.3 Mensajes de estado.
Las buenas prácticas: cuándo se convierten en hallazgo
Las reglas etiquetadas como best-practice (heading-order, empty-heading, page-has-heading-one, landmark-one-main, region, skip-link, tabindex) no tienen criterio asociado y, como vimos en la lección de falsos positivos, se informan como recomendaciones. Pero a veces son el síntoma visible de un incumplimiento real que solo la revisión manual puede confirmar:
tabindex(valores positivos) es buena práctica… hasta que compruebas que desordena el recorrido y entonces es un fallo de 2.4.3 Orden del foco.skip-linkavisa de que el destino del enlace de salto no existe: si no hay otro mecanismo, el problema es de 2.4.1 Evitar bloques.empty-headingpuede esconder un título de sección que solo se ve como imagen de fondo: el fallo es de 1.3.1 o de 1.1.1.
El hallazgo se informa con el criterio que has comprobado tú, no con la regla que te dio la pista.
Error frecuente
Copiar la etiqueta de la herramienta sin pensar. La regla label está asociada a 4.1.2, pero el auditor añade de oficio 3.3.2 Etiquetas o instrucciones a todos los campos que falla, aunque muchos tengan un texto visible encima que simplemente no está asociado. En ese caso hay instrucción visible (3.3.2 se cumple) y falta la asociación programática (fallan 1.3.1 y 4.1.2). Cada criterio se decide por lo que pide su texto, no por arrastre.
Traducir a la EN 301 549 v3.2.1
El RD 1112/2018 (PDF, se abre en una ventana nueva) remite a la norma armonizada, la EN 301 549 (UNE-EN 301 549 en España). Para contenido web, su cláusula 9 reproduce los criterios A y AA de WCAG 2.1 con una numeración muy sencilla: «9.» seguido del número del criterio. Así, 1.4.3 Contraste (mínimo) es la cláusula 9.1.4.3 y 4.1.2 es la 9.4.1.2. Tres matices importantes:
- Criterios nuevos de WCAG 2.2. La v3.2.1 remite a WCAG 2.1, así que 2.4.11, 2.5.7, 2.5.8, 3.2.6, 3.3.7 y 3.3.8 no tienen cláusula. Si auditas contra WCAG 2.2 y la EN, informa de ellos como requisitos de WCAG 2.2 sin equivalencia en la v3.2.1. La nueva v4.1.1 (septiembre de 2026), que incorpora WCAG 2.2, está pendiente de cita en el DOUE; hasta entonces, la referencia armonizada sigue siendo la v3.2.1. Una violación de
target-sizeno es una «9.2.5.8». - 4.1.1 Procesamiento. Sigue figurando en la v3.2.1 como cláusula 9.4.1.1. La errata del W3C publicada en 2023 indica que en HTML y XML se considera siempre satisfecho; documenta en la metodología el criterio que adoptas.
- Contenido no web. Los PDF descargables se evalúan con la cláusula 10 (documentos) y las aplicaciones nativas con la 11 (software); las extensiones de navegador no los analizan, y se estudian en el nivel 6.
Ejemplo
Así queda un hallazgo con origen automático, ya verificado y traducido:
H-07 · Plantilla «Ficha de trámite» (todas las fichas)
Criterio: 4.1.2 Nombre, función, valor (A)
EN 301 549 v3.2.1: 9.4.1.2
Origen: regla button-name (axe-core, versión en la ficha de ejecución);
verificado en el panel Accessibility y con NVDA
Descripción: el botón de descarga del modelo es un icono SVG sin
nombre; NVDA anuncia «botón» sin más.
Corrección: añadir texto visible «Descargar modelo» o, si el diseño
no lo admite, aria-label con ese texto.Pruébalo tú
Analiza una página con axe DevTools y elige cinco violaciones. Para cada una escribe: el criterio con número y nombre, su cláusula de la EN 301 549 (si existe) y una frase con lo que tendrías que comprobar a mano para dar el criterio por evaluado. Si alguna resulta ser de buenas prácticas, anota qué tendría que ocurrir para que fuera un incumplimiento.
Resumen
- Regla y criterio no se corresponden uno a uno: hay reglas con varios criterios, criterios con muchas reglas y muchos criterios sin ninguna.
- Una violación verificada basta para incumplir el criterio; una regla que pasa no basta para cumplirlo.
- Para cada regla frecuente hay una comprobación manual que completa el criterio: significado, estados, excepciones y casos no detectados.
- Las buenas prácticas son pistas: se convierten en hallazgo solo cuando la revisión manual confirma un criterio concreto.
- En la EN 301 549 v3.2.1 la cláusula web es «9.» más el número WCAG 2.1; los criterios nuevos de 2.2 no tienen cláusula equivalente.
Comprueba lo que has aprendido
Esta lección se puede leer libremente. Para hacer su test de 3 preguntas, los ejercicios prácticos con páginas reales, guardar tu avance y optar al examen y al certificado, matricúlate en el curso.
Matricularme · nivel 4 (49 €)