Skip to content

Tarea 5 — Accesibilidad #5

Description

@madkoding

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

  1. El toggle de accesibilidad está visible en el navbar en todas las páginas públicas
  2. Al activarlo, el tamaño de fuente base aumenta al menos un 25%
  3. Todos los textos tienen contraste mejorado (ratio ≥ 7:1 para texto normal)
  4. Las animaciones (hover, carrusel, flying hearts, scroll effects) se reducen o desactivan
  5. Todos los links tienen subrayado visible
  6. Los botones y elementos clickeables tienen padding aumentado
  7. El espaciado entre líneas (line-height) aumenta a al menos 1.8
  8. La preferencia persiste al recargar la página
  9. El modo accesibilidad funciona correctamente combinado con dark mode
  10. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions