Checklist de Cumplimiento EAA: Requisitos Web EN 301 549
Checklist completo para el cumplimiento de la Ley Europea de Accesibilidad. Todos los requisitos del Capitulo 9 de EN 301 549 (contenido web) mapeados a WCAG 2.2, con indicadores de pruebas automatizadas vs manuales.
Referencia Rapida: EN 301 549 de un Vistazo
Entendiendo EN 301 549 y la EAA
La Ley Europea de Accesibilidad (EAA) exige que los productos y servicios digitales vendidos a consumidores de la UE sean accesibles. El estandar tecnico al que hace referencia es EN 301 549, que incorpora WCAG 2.1 Nivel AA para contenido web.
El Capitulo 9 de EN 301 549 cubre los requisitos de contenido web. Los numeros de clausula se corresponden directamente con WCAG: la clausula 9.X.Y.Z de EN 301 549 se corresponde con WCAG X.Y.Z. Por ejemplo, la clausula 9.1.4.3 de EN 301 549 corresponde a WCAG 1.4.3 (Contraste).
Como Usar Este Checklist
- Los requisitos Automatizados pueden ser detectados por herramientas de analisis (inclly los detecta)
- Los requisitos Manuales requieren juicio y pruebas humanas
Cada requisito muestra tanto el numero de clausula de EN 301 549 (para la documentacion de cumplimiento de la UE) como el criterio WCAG correspondiente (para la implementacion tecnica).
9.1 Perceptible
La informacion y los componentes de la interfaz de usuario deben presentarse a los usuarios de formas que puedan percibir.
Non-text Content
Level ATodo el contenido no textual presentado al usuario tiene una alternativa de texto que cumple el mismo proposito.
Como Solucionarlo
- -Agrega texto alternativo a todas las imagenes informativas
- -Usa alt="" vacio para imagenes decorativas
- -Proporciona alternativas de texto para graficos complejos
Audio-only and Video-only (Prerecorded)
Level AProporciona alternativas para medios basados en tiempo: transcripciones para audio, audiodescripcion o texto para video.
Como Solucionarlo
- -Crea transcripciones para podcasts
- -Agrega audiodescripciones para contenido solo de video
Captions (Prerecorded)
Level ASe proporcionan subtitulos para todo el contenido de audio pregrabado en medios sincronizados.
Como Solucionarlo
- -Agrega subtitulos sincronizados a todos los videos con audio
- -Incluye identificacion del hablante
Audio Description or Media Alternative
Level ASe proporciona una alternativa para medios basados en tiempo o audiodescripcion para el contenido de video pregrabado.
Como Solucionarlo
- -Proporciona audiodescripciones para la informacion exclusivamente visual en los videos
Audio Description (Prerecorded)
Level AASe proporciona audiodescripcion para todo el contenido de video pregrabado.
Como Solucionarlo
- -Agrega audiodescripciones que narren los elementos visuales durante las pausas naturales
Info and Relationships
Level ALa informacion, la estructura y las relaciones transmitidas mediante la presentacion pueden determinarse programaticamente.
Como Solucionarlo
- -Usa HTML semantico
- -Asocia etiquetas con los campos de formulario
- -Usa marcado de tabla correcto
Meaningful Sequence
Level ACuando la secuencia en la que se presenta el contenido afecta su significado, se puede determinar programaticamente una secuencia de lectura correcta.
Como Solucionarlo
- -Asegurate de que el orden del DOM coincida con el orden visual
- -Prueba con CSS deshabilitado
Sensory Characteristics
Level ALas instrucciones proporcionadas para entender y operar el contenido no dependen unicamente de caracteristicas sensoriales.
Como Solucionarlo
- -Evita "haz clic en el boton verde" o "mira la barra lateral"
- -Usa multiples caracteristicas identificativas
Orientation
Level AAEl contenido no restringe su visualizacion y operacion a una unica orientacion de pantalla.
Como Solucionarlo
- -Soporta tanto la orientacion vertical como horizontal
- -Solo restringe si es esencial
Identify Input Purpose
Level AAEl proposito de cada campo de entrada que recopila informacion sobre el usuario puede determinarse programaticamente.
Como Solucionarlo
- -Usa atributos autocomplete en los campos de informacion personal
- -Por ejemplo, autocomplete="email"
Use of Color
Level AEl color no se usa como el unico medio visual para transmitir informacion.
Como Solucionarlo
- -Agrega iconos o etiquetas de texto junto a los indicadores de color
- -Usa patrones en los graficos
Audio Control
Level ASi el audio se reproduce automaticamente durante mas de 3 segundos, se proporciona un mecanismo para pausarlo o detenerlo.
Como Solucionarlo
- -Evita la reproduccion automatica de audio
- -Proporciona controles de pausa/detencion si es necesario
Contrast (Minimum)
Level AAEl texto tiene una relacion de contraste de al menos 4.5:1 (3:1 para texto grande).
Como Solucionarlo
- -Usa una herramienta de verificacion de contraste
- -El texto grande (18pt+) necesita una relacion de 3:1
Resize Text
Level AAEl texto puede redimensionarse sin tecnologia de asistencia hasta un 200% sin perdida de contenido o funcionalidad.
Como Solucionarlo
- -Usa unidades relativas (rem, em)
- -Prueba con zoom del navegador al 200%
Images of Text
Level AASi la misma presentacion visual se puede lograr usando texto, no se usan imagenes de texto.
Como Solucionarlo
- -Usa CSS para el estilo del texto en lugar de imagenes
- -Los logotipos son una excepcion
Reflow
Level AAEl contenido puede presentarse sin perdida de informacion o funcionalidad a 320px de ancho sin desplazamiento bidimensional.
Como Solucionarlo
- -Usa diseno responsive
- -Prueba con un ancho de ventana de 320px
Non-text Contrast
Level AALa informacion visual necesaria para identificar componentes de la interfaz y objetos graficos tiene al menos un contraste de 3:1.
Como Solucionarlo
- -Los campos de formulario necesitan bordes visibles
- -Los indicadores de foco necesitan un contraste de 3:1
Text Spacing
Level AANo hay perdida de contenido o funcionalidad cuando los usuarios ajustan las propiedades de espaciado del texto.
Como Solucionarlo
- -Evita contenedores de altura fija para texto
- -Prueba con line-height y letter-spacing aumentados
Content on Hover or Focus
Level AAEl contenido adicional activado al pasar el cursor/foco es descartable, navegable y persistente.
Como Solucionarlo
- -Los tooltips deben poder cerrarse con Escape
- -El contenido debe permanecer visible hasta que se descarte
9.2 Operable
Los componentes de la interfaz de usuario y la navegacion deben ser operables.
Keyboard
Level AToda la funcionalidad esta disponible desde el teclado.
Como Solucionarlo
- -Prueba solo con Tab, Enter, Espacio y teclas de flecha
- -Asegurate de que todos los elementos interactivos sean enfocables
No Keyboard Trap
Level AEl foco del teclado puede moverse fuera de cualquier componente usando solo el teclado.
Como Solucionarlo
- -Prueba la navegacion por teclado en modales y dialogos
- -El foco nunca debe quedar atrapado
Character Key Shortcuts
Level ALos atajos de teclado de un solo caracter pueden desactivarse o reasignarse.
Como Solucionarlo
- -Evita atajos de una sola tecla
- -Proporciona ajustes para desactivar o reasignar si se usan
Timing Adjustable
Level ALos usuarios pueden desactivar, ajustar o extender los limites de tiempo.
Como Solucionarlo
- -Avisa a los usuarios antes del tiempo de expiracion de la sesion
- -Permite la extension de los limites de tiempo
Pause, Stop, Hide
Level AEl contenido en movimiento, parpadeante o con desplazamiento puede pausarse, detenerse u ocultarse.
Como Solucionarlo
- -Los carruseles necesitan controles de pausa
- -Las animaciones de mas de 5 segundos necesitan controles
Three Flashes or Below Threshold
Level ALas paginas web no contienen nada que parpadee mas de tres veces por segundo.
Como Solucionarlo
- -Evita por completo el contenido parpadeante
- -Mantiene la frecuencia de parpadeo por debajo de 3 Hz
Bypass Blocks
Level AHay un mecanismo disponible para omitir bloques de contenido que se repiten en multiples paginas.
Como Solucionarlo
- -Agrega un enlace para saltar al contenido principal
- -Usa puntos de referencia ARIA
Page Titled
Level ALas paginas web tienen titulos que describen el tema o proposito.
Como Solucionarlo
- -Cada pagina debe tener un titulo unico y descriptivo
- -Incluye tanto el nombre de la pagina como el del sitio
Focus Order
Level ASi la secuencia de navegacion afecta al significado, los componentes enfocables reciben el foco en un orden que preserva el significado.
Como Solucionarlo
- -El orden de tabulacion debe seguir el orden de lectura visual
- -Los modales deben atrapar el foco apropiadamente
Link Purpose (In Context)
Level AEl proposito de cada enlace puede determinarse a partir del texto del enlace solo o con el contexto determinado programaticamente.
Como Solucionarlo
- -Evita "haz clic aqui" sin contexto
- -Usa aria-label si es necesario
Multiple Ways
Level AAHay mas de una forma disponible para localizar una pagina web dentro de un conjunto de paginas.
Como Solucionarlo
- -Proporciona busqueda en el sitio
- -Incluye un mapa del sitio
- -Usa navegacion clara
Headings and Labels
Level AALos encabezados y etiquetas describen el tema o proposito.
Como Solucionarlo
- -Usa encabezados descriptivos y unicos
- -Las etiquetas de formulario deben describir claramente la entrada esperada
Focus Visible
Level AACualquier interfaz de usuario operable por teclado tiene un indicador de foco visible.
Como Solucionarlo
- -Nunca elimines el outline sin un reemplazo
- -Usa :focus-visible para estilos exclusivos de teclado
Focus Not Obscured (Minimum)
Level AACuando un elemento recibe el foco del teclado, no queda completamente oculto por contenido creado por el autor.
Como Solucionarlo
- -Las cabeceras fijas no deben cubrir los elementos enfocados
- -Usa scroll-margin para elementos fijos
Pointer Gestures
Level AToda la funcionalidad que usa gestos multipunto o basados en trayectoria puede operarse con un puntero simple.
Como Solucionarlo
- -El pellizco para hacer zoom debe tener alternativas con botones
- -Los gestos de deslizamiento necesitan alternativas con botones
Pointer Cancellation
Level APara la funcionalidad operada con un solo puntero, al menos una de las siguientes es verdadera: sin evento de pulsacion, cancelar o deshacer, reversion al soltar, esencial.
Como Solucionarlo
- -Usa click/touch-end en lugar de mousedown
- -Proporciona deshacer para acciones destructivas
Label in Name
Level APara los componentes de interfaz con etiquetas de texto visibles, el nombre accesible contiene el texto visible.
Como Solucionarlo
- -El nombre accesible debe coincidir o incluir la etiqueta visible
Motion Actuation
Level ALa funcionalidad activada por movimiento del dispositivo puede operarse mediante componentes de la interfaz de usuario.
Como Solucionarlo
- -Agitar para deshacer necesita una alternativa con boton
- -Los controles por movimiento deben ser opcionales
Dragging Movements
Level AAToda la funcionalidad que usa un movimiento de arrastre puede lograrse con un solo puntero sin arrastre.
Como Solucionarlo
- -Proporciona botones arriba/abajo para reordenar listas
- -Arrastrar para reordenar necesita una alternativa de un solo clic
Target Size (Minimum)
Level AAEl tamano del objetivo para las entradas de puntero es de al menos 24 por 24 pixeles CSS.
Como Solucionarlo
- -Botones y enlaces de al menos 24x24 pixeles
- -Se recomiendan 44x44 pixeles para movil
9.3 Comprensible
La informacion y el funcionamiento de la interfaz de usuario deben ser comprensibles.
Language of Page
Level AEl idioma humano predeterminado de cada pagina web puede determinarse programaticamente.
Como Solucionarlo
- -Agrega el atributo lang al elemento html
- -Usa el codigo de idioma correcto (en, nl, de, etc.)
Language of Parts
Level AAEl idioma humano de cada pasaje o frase puede determinarse programaticamente.
Como Solucionarlo
- -Usa el atributo lang en elementos con texto en un idioma diferente
On Focus
Level ACuando cualquier componente recibe el foco, no inicia un cambio de contexto.
Como Solucionarlo
- -No envies formularios automaticamente al recibir el foco
- -No abras nuevas ventanas al recibir el foco
On Input
Level ACambiar la configuracion de cualquier componente de la interfaz no causa automaticamente un cambio de contexto a menos que el usuario haya sido informado.
Como Solucionarlo
- -Los formularios deben tener botones de envio explicitos
- -Avisa antes del envio automatico
Consistent Navigation
Level AALos mecanismos de navegacion que se repiten en multiples paginas aparecen en el mismo orden relativo.
Como Solucionarlo
- -Mantiene la navegacion en la misma ubicacion en todas las paginas
- -Mantiene un orden de menu consistente
Consistent Identification
Level AALos componentes con la misma funcionalidad se identifican de forma consistente.
Como Solucionarlo
- -Usa etiquetas consistentes para funciones similares
- -Los iconos de busqueda siempre deben significar busqueda
Consistent Help
Level ASi se incluyen mecanismos de ayuda en multiples paginas, aparecen en el mismo orden relativo.
Como Solucionarlo
- -Mantiene los enlaces de ayuda en una ubicacion consistente
- -La informacion de contacto debe estar en el mismo lugar
Error Identification
Level ASi se detecta automaticamente un error de entrada, se identifica el elemento con error y se describe el error.
Como Solucionarlo
- -Muestra mensajes de error claros
- -Identifica que campo tiene el error
Labels or Instructions
Level ASe proporcionan etiquetas o instrucciones cuando el contenido requiere entrada del usuario.
Como Solucionarlo
- -Cada campo de formulario necesita una etiqueta
- -Proporciona indicaciones de formato para la entrada esperada
Error Suggestion
Level AASi se detecta un error de entrada y se conocen sugerencias, se proporcionan al usuario.
Como Solucionarlo
- -Sugiere correcciones cuando sea posible
- -Muestra el formato esperado para entradas invalidas
Error Prevention (Legal, Financial, Data)
Level AAPara paginas con compromisos legales o transacciones financieras: reversible, verificado o confirmado.
Como Solucionarlo
- -Permite la revision antes del envio
- -Proporciona un paso de confirmacion
- -Permite deshacer
Redundant Entry
Level ALa informacion previamente ingresada por el usuario se rellena automaticamente o esta disponible para seleccion.
Como Solucionarlo
- -Auto-rellena los datos de envio desde la facturacion
- -Recuerda las preferencias dentro de la sesion
Accessible Authentication (Minimum)
Level AANo se requieren pruebas de funcion cognitiva para ningun paso de la autenticacion a menos que se proporcionen alternativas.
Como Solucionarlo
- -Permite gestores de contrasenas
- -Permite copiar y pegar codigos
- -Ofrece alternativas a CAPTCHA
9.4 Robusto
El contenido debe ser lo suficientemente robusto para ser interpretado de forma fiable por los agentes de usuario, incluidas las tecnologias de asistencia.
Name, Role, Value
Level APara todos los componentes de la interfaz, el nombre y el rol pueden determinarse programaticamente; los estados, propiedades y valores pueden establecerse programaticamente.
Como Solucionarlo
- -Los componentes personalizados necesitan roles ARIA
- -Usa aria-pressed para interruptores
- -Usa aria-expanded para elementos expandibles
Status Messages
Level AALos mensajes de estado pueden determinarse programaticamente sin recibir el foco.
Como Solucionarlo
- -Usa regiones aria-live para actualizaciones
- -Usa role="alert" para errores
- -Anuncia los estados de carga
Preguntas Frecuentes
Cual es la relacion entre EN 301 549 y WCAG?
EN 301 549 es el estandar europeo para la accesibilidad de las TIC. El Capitulo 9 (Web) incorpora directamente WCAG 2.1 Nivel AA. Los numeros de clausula se corresponden directamente: la clausula 9.X.Y.Z de EN 301 549 corresponde a WCAG X.Y.Z. Si cumples con WCAG 2.2 AA, cumples los requisitos web de EN 301 549.
Se aplica la EAA a mi empresa fuera de la UE?
Si, si vendes productos o servicios digitales a consumidores de la UE. La EAA se aplica en funcion de donde estan tus clientes, no de donde tiene su sede tu empresa. Las empresas estadounidenses y britanicas que venden a clientes de la UE deben cumplir.
Cual es la fecha limite para el cumplimiento de la EAA?
La EAA entro en vigor el 28 de junio de 2025. Todos los productos y servicios cubiertos deben ser accesibles ahora. Hay un periodo de transicion hasta junio de 2030 para los productos existentes comercializados antes de junio de 2025.
Cuales son las sanciones por incumplimiento?
Las sanciones varian segun el estado miembro de la UE, ya que cada pais aplica la EAA a traves de la legislacion nacional. Las sanciones pueden incluir multas, remediacion obligatoria y, en algunos casos, la retirada de productos del mercado. En los Paises Bajos, la ACM (Autoridad de Consumidores y Mercados) es el organismo de aplicacion.
Necesito proporcionar una declaracion de accesibilidad?
Si, la EAA requiere una declaracion de accesibilidad que describa el estado de conformidad, las limitaciones conocidas y la informacion de contacto. Esta declaracion debe actualizarse cuando se realicen cambios significativos. inclly puede ayudar a generar declaraciones de accesibilidad conformes con la UE a partir de los datos de tus analisis.
Seguir aprendiendo
Explora guías relacionadas para apoyar tu cumplimiento de accesibilidad europea.
Ley Europea de Accesibilidad
Lo que las empresas estadounidenses y británicas necesitan saber sobre la EAA en 2026.
Guía EN 301 549
El estándar europeo de accesibilidad explicado con desgloses por capítulo.
EAA vs WCAG
Cómo se relaciona la Ley Europea de Accesibilidad con WCAG y qué significa el cumplimiento.
Requisitos ACM de accesibilidad
Plazos de aplicación de la EAA en los Países Bajos y pasos de cumplimiento.
Listo para Verificar tu Cumplimiento con la EAA?
inclly analiza tu sitio web segun los requisitos de EN 301 549 y proporciona orientacion de remediacion especifica. Observa exactamente que necesita corregirse para lograr el cumplimiento de la UE.