WP WordPress Principiante

EAA Accessibility Auto-Fixer — Guía completa

Instalar, auditar y poner tu sitio WordPress/WooCommerce en conformidad con el European Accessibility Act: escáner WCAG 2.2 AA, correcciones automáticas, alt IA y declaración legal.

Actualizado Versión del módulo 1.0.0

Presentación

EAA Accessibility Auto-Fixer pone tu sitio WordPress y WooCommerce en conformidad con el European Accessibility Act (directiva UE 2019/882, aplicable desde el 28 de junio de 2025). El plugin combina cuatro bloques: un escáner WCAG 2.2 nivel AA, un corrector frontend automático, un generador de textos alternativos por IA (Anthropic Claude) y un generador de declaración legal de accesibilidad.

¿Quién está afectado? Los e-commerce de la UE con más de 10 empleados O más de 2 M€ de facturación anual. Las microempresas están exentas para los servicios pero deben hacer accesibles sus productos.

Instalación

  1. Descarga el ZIP desde tu cuenta DataFirefly.
  2. En WordPress, ve a Plugins → Añadir nuevo → Subir plugin, selecciona el ZIP y haz clic en Instalar ahora.
  3. Haz clic en Activar. El plugin crea automáticamente 4 tablas (wp_eaa_audits, wp_eaa_issues, wp_eaa_fixes, wp_eaa_alt_cache), programa una auditoría semanal y genera una página «Declaración de accesibilidad» con el shortcode [eaa_accessibility_declaration].

Requisitos: WordPress 6.2+, WooCommerce 8.0+ (opcional — el plugin también funciona en WordPress solo), PHP 8.1+.

Primera auditoría

  1. Ve a EAA Accessibility → Auditoría.
  2. La URL de la página de inicio viene rellenada; puedes sustituirla por cualquier URL del sitio.
  3. Haz clic en Iniciar la auditoría. El escáner analiza la página y muestra la puntuación sobre 100, la lista de anomalías (severidad, regla, criterio WCAG, extracto HTML, sugerencia) y un botón Corregir para las anomalías autocorregibles.

Entender la puntuación

La puntuación empieza en 100 y cada anomalía resta puntos según su severidad: crítica 15 puntos, seria 8, moderada 3, menor 1. Una puntuación de 90 o más se muestra en verde, de 70 a 89 en naranja, por debajo en rojo. La declaración legal refleja esta puntuación: 90+ da «Totalmente conforme», 50 a 89 «Parcialmente conforme», menos de 50 «No conforme».

Las 15 reglas verificadas

  • html-lang — atributo lang en el elemento raíz (WCAG 3.1.1)
  • page-title — presencia y contenido de la etiqueta title (2.4.2)
  • headings — h1 único y jerarquía sin saltos (1.3.1)
  • image-alt — atributo alt en todas las imágenes (1.1.1)
  • link-name — texto accesible en cada enlace (2.4.4)
  • button-name — nombre accesible en cada botón (4.1.2)
  • label — etiqueta en cada campo de formulario (1.3.1, 4.1.2)
  • skip-link — enlace de salto al principio de la página (2.4.1)
  • landmarks — punto de referencia main presente (1.3.1)
  • duplicate-id — sin identificadores duplicados (4.1.1)
  • aria-roles — roles ARIA válidos (4.1.2)
  • target-size — objetivos táctiles de 24×24 px mínimo (2.5.8, novedad WCAG 2.2)
  • color-contrast — contraste texto/fondo de 4,5:1 mínimo (1.4.3)
  • tabindex — sin tabindex positivo (2.4.3)
  • autoplay — sin reproducción automática incontrolable (1.4.2)

Correcciones automáticas

En EAA Accessibility → Ajustes → Correcciones activas, activa las correcciones que el plugin aplica en tiempo real vía output buffer, sin modificar tu tema:

  • Atributo lang — añade el idioma del sitio en el elemento raíz si falta.
  • Enlace de salto — inserta «Saltar al contenido» al principio de la página, visible al recibir el foco con el teclado.
  • Texto alternativo ausente — marca las imágenes decorativas (clases decoration, icon…) con un alt vacío; las imágenes de contenido pasan por la IA si está activada.
  • Etiquetas de formulario — añade un aria-label deducido del placeholder o del name en los campos sin etiqueta.
  • Roles ARIA e iconos — aria-label en los botones-icono, role=»presentation» en los SVG decorativos.
  • Indicador de foco — inyecta un estilo :focus-visible contrastado.
  • Contrastes — corrige los colores inline por debajo de 4,5:1 oscureciendo o aclarando automáticamente.
  • Tamaño de los objetivos — garantiza 24×24 px en botones y enlaces vía CSS.

Cada corrección se registra en la tabla wp_eaa_fixes con el valor antes/después — útil en caso de control. Consulta el total por tipo en el Panel de control.

Si una corrección entra en conflicto con tu tema (por ejemplo un skip link ya existente), desactiva la corrección afectada: el plugin detecta los elementos existentes pero algunos temas muy personalizados pueden requerir un ajuste.

Generación IA de textos alternativos

Configuración

  1. Crea una clave API en console.anthropic.com.
  2. En EAA Accessibility → Ajustes → Generación IA, marca Activar la IA, pega la clave y haz clic en Probar la conexión.
  3. Elige el modelo: Claude Haiku 4.5 (por defecto, alrededor de 0,0001 € por imagen, recomendado), Sonnet 4.6 (calidad superior) u Opus 4.7 (calidad máxima).

Generación en lote

Desde el Panel de control, el botón de generación en lote procesa la biblioteca multimedia por lotes de 5 imágenes. Cada descripción se genera en el idioma del adjunto (FR/EN/ES/DE/IT), se almacena en wp_eaa_alt_cache y se escribe en el campo alt de WordPress. La caché evita toda regeneración: una imagen ya descrita en un idioma nunca se reenvía a la API.

Las imágenes de más de 4 MB se redimensionan automáticamente a 1024 px máximo antes de enviarlas a la API — sin ningún impacto en tus archivos originales.

Widget para visitantes

Actívalo en Ajustes → Widget para visitantes. Un botón flotante ♿ aparece abajo a la derecha del sitio y abre un panel con 8 preferencias: tamaño del texto (5 niveles, del 100 % al 200 %), contraste alto, tipografía para dislexia, espaciado mejorado, animaciones reducidas, subrayado de enlaces, cursor grande y un botón de reinicio. Las elecciones se guardan en localStorage (sin cookies, sin datos enviados al servidor) y se restauran en cada visita. El panel es totalmente navegable con teclado y se cierra con Escape.

La página creada al activar muestra, vía el shortcode [eaa_accessibility_declaration]: el estado de conformidad calculado sobre la última auditoría, la puntuación, la fecha, los contenidos no accesibles, la metodología y tus datos de contacto. Rellena esta información en Ajustes → Información para la declaración legal: razón social, correo de contacto de accesibilidad, teléfono, dirección postal.

Complemento manual recomendado. Añade tus identificadores legales (NIF, CIF o equivalente) y haz validar la declaración por un experto en accesibilidad: el plugin cubre del 30 al 40 % de los criterios automatizables, una revisión humana sigue siendo necesaria para la conformidad total.

Después añade un enlace a esta página en tu pie de página — es una exigencia del EAA.

Auditorías programadas

En Ajustes → Auditoría programada, elige la frecuencia: diaria, semanal (por defecto) o mensual. El cron de WordPress escanea entonces la página de inicio automáticamente y alimenta el historial. Consulta todas las auditorías pasadas en EAA Accessibility → Historial con puntuación, duración y desglose de anomalías por severidad.

Desinstalación

Por defecto, la desinstalación conserva las tablas y el historial (trazabilidad legal). Para eliminarlo todo, activa la opción de eliminación de datos en los ajustes antes de desinstalar: las 4 tablas, las opciones y la página de declaración serán entonces eliminadas.

Solución de problemas

El escáner devuelve un error de conexión

El escáner usa wp_remote_get para recuperar la página. Verifica que tu servidor pueda llamarse a sí mismo (loopback): algunos alojamientos bloquean las peticiones salientes hacia el propio dominio del sitio. Prueba con Herramientas → Salud del sitio.

La prueba de la clave API falla

Verifica que la clave empieza por sk-ant-, que tu cuenta Anthropic tiene crédito y que el servidor autoriza las conexiones salientes hacia api.anthropic.com en HTTPS.

Las correcciones no se aplican

El corrector está inactivo en los feeds RSS, las peticiones REST/AJAX, la administración y el cron. Si un plugin de caché sirve una versión estática, vacía la caché tras la activación. Verifica también que Activar el corrector frontend está marcado.

El widget no aparece

Verifica que Widget para visitantes está activado en los ajustes y que tu tema llama a wp_footer() — el widget se inyecta en ese hook.

¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte