Tarea 5 — Modo Accesibilidad
Resumen: Implementar toggle de accesibilidad que aumente contraste, tamaños de fuente y reduzca animaciones
Descripción
Agregar un toggle de accesibilidad en el navbar (junto al de idioma y dark mode) que active un conjunto de mejoras de accesibilidad en todo el sitio. Al activarse, debe:
- Aumentar el contraste general (textos más oscuros sobre fondos más claros y viceversa)
- Incrementar el tamaño base de fuente (al menos 125%)
- Aumentar el espaciado entre líneas y párrafos
- Reducir o desactivar animaciones y movimientos (respetar
prefers-reduced-motion)
- Agrandar blancos de elementos clickeables (botones, links, tarjetas)
- Agregar subrayado a todos los links para identificarlos sin depender del color
La preferencia debe persistir en localStorage y ser independiente del dark mode (pueden activarse ambos simultáneamente).
Alcance
Incluye:
- Toggle de accesibilidad en el navbar (ícono de persona/accessibility)
- Clase CSS
.accessibility-mode en el body que active todas las mejoras
- Aumento de contraste en textos, fondos, bordes y elementos interactivos
- Incremento de fuente base (de 16px a 20px mínimo)
- Reducción/desactivación de animaciones (CSS
@media (prefers-reduced-motion) + override)
- Subrayado persistente en todos los links
- Aumento de padding/margin en botones y elementos clickeables
- Persistencia en localStorage (
vrton-accessibility)
- Independencia del dark mode (funciona en claro y oscuro)
- Estilos responsive
No incluye:
- Soporte para lectores de pantalla (se asume que el HTML semántico ya lo cubre)
- Traducción a lenguaje simple de los contenidos
- Cambio de tipografía a una de alta legibilidad (se mantiene la actual)
- Modo daltónico o filtros de color
- Navegación por voz
Criterios de Aceptación
- El toggle de accesibilidad está visible en el navbar en todas las páginas públicas
- Al activarlo, el tamaño de fuente base aumenta al menos un 25%
- Todos los textos tienen contraste mejorado (ratio ≥ 7:1 para texto normal)
- Las animaciones (hover, carrusel, flying hearts, scroll effects) se reducen o desactivan
- Todos los links tienen subrayado visible
- Los botones y elementos clickeables tienen padding aumentado
- El espaciado entre líneas (line-height) aumenta a al menos 1.8
- La preferencia persiste al recargar la página
- El modo accesibilidad funciona correctamente combinado con dark mode
- No hay regresión visual en modo normal cuando la accesibilidad está desactivada
Casos de Prueba
| # |
Caso |
Pasos |
Resultado Esperado |
| CP1 |
Toggle visible |
Cargar cualquier página pública |
El ícono de accesibilidad está en el navbar |
| CP2 |
Activar accesibilidad |
Hacer clic en el toggle |
Body recibe clase .accessibility-mode, fuente aumenta |
| CP3 |
Desactivar accesibilidad |
Hacer clic en el toggle estando activo |
Body pierde la clase, fuente vuelve a tamaño normal |
| CP4 |
Persistencia |
Activar, recargar página |
Modo accesibilidad sigue activo |
| CP5 |
Contraste mejorado |
Activar modo, inspeccionar texto |
Ratio de contraste ≥ 7:1 |
| CP6 |
Links subrayados |
Activar modo, ver cualquier link |
Todos los links tienen text-decoration: underline |
| CP7 |
Animaciones reducidas |
Activar modo, hover sobre botón |
No hay animación de ripple ni transform |
| CP8 |
Carrusel sin animación |
Activar modo, navegar carrusel |
Las imágenes cambian sin transición animada |
| CP9 |
Flying hearts detenidos |
Activar modo en Hero |
Los corazones no se mueven o están ocultos |
| CP10 |
Botones más grandes |
Activar modo, inspeccionar botón |
Padding aumentado, área clickeable más grande |
| CP11 |
Line-height aumentado |
Activar modo, ver párrafo |
line-height ≥ 1.8 |
| CP12 |
Combinación con dark mode |
Activar dark mode + accesibilidad |
Ambos modos funcionan simultáneamente |
Tarea 5 — Modo Accesibilidad
Resumen: Implementar toggle de accesibilidad que aumente contraste, tamaños de fuente y reduzca animaciones
Descripción
Agregar un toggle de accesibilidad en el navbar (junto al de idioma y dark mode) que active un conjunto de mejoras de accesibilidad en todo el sitio. Al activarse, debe:
prefers-reduced-motion)La preferencia debe persistir en localStorage y ser independiente del dark mode (pueden activarse ambos simultáneamente).
Alcance
Incluye:
.accessibility-modeen el body que active todas las mejoras@media (prefers-reduced-motion)+ override)vrton-accessibility)No incluye:
Criterios de Aceptación
Casos de Prueba
.accessibility-mode, fuente aumenta