Portafolio Accesibilidad Analytics Tailwind
Accesibilidad: guia practica en 2025
Pablo Alcalde García
Accesibilidad: guia practica en 2025
Guía práctica y accionable para implementar accesibilidad web siguiendo los estándares WCAG 2.1 en 2025. Aprende los fundamentos y aplica mejoras inmediatas.
Fundamentos de accesibilidad web
La accesibilidad web (a11y) garantiza que personas con discapacidades puedan percibir, entender, navegar e interactuar con tu sitio web. No es opcional: es un derecho y una buena práctica de negocio.
Los 4 principios de WCAG 2.1
- Perceptible - La información debe ser presentada de forma que los usuarios puedan percibirla
- Operable - Los componentes de la interfaz deben ser operables
- Comprensible - La información y el funcionamiento deben ser comprensibles
- Robusto - El contenido debe ser suficientemente robusto para ser interpretado por diferentes tecnologías
Guía práctica paso a paso
1. Texto alternativo en imágenes
Cuándo usar:
- Imágenes informativas:
altdescriptivo - Imágenes decorativas:
alt="" - Imágenes con texto:
altcon el mismo texto
<!-- Imagen informativa -->
<img src="grafico-ventas.jpg"
alt="Gráfico de barras mostrando crecimiento de ventas del 25% en Q1 2025">
<!-- Imagen decorativa -->
<img src="separador.jpg" alt="">
<!-- Imagen con texto -->
<img src="logo-empresa.png" alt="TechSolutions - Soluciones tecnológicas">
2. Estructura semántica
Usa HTML5 semántico para crear una estructura lógica:
<header>
<nav aria-label="Navegación principal">
<ul>
<li><a href="/">Inicio</a></li>
<li><a href="/servicios">Servicios</a></li>
</ul>
</nav>
</header>
<main>
<article>
<h1>Título principal</h1>
<section>
<h2>Subtítulo</h2>
<p>Contenido...</p>
</section>
</article>
</main>
<aside>
<h2>Contenido relacionado</h2>
</aside>
<footer>
<p>© 2025 Mi Empresa</p>
</footer>
3. Formularios accesibles
<form>
<fieldset>
<legend>Información de contacto</legend>
<div class="form-group">
<label for="nombre">
Nombre completo
<span class="required" aria-label="requerido">*</span>
</label>
<input
type="text"
id="nombre"
name="nombre"
required
aria-required="true"
aria-describedby="nombre-help">
<span id="nombre-help" class="help-text">
Ingresa tu nombre completo como aparece en tu documento
</span>
</div>
<div class="form-group">
<label for="email">Correo electrónico *</label>
<input
type="email"
id="email"
name="email"
required
aria-invalid="false"
aria-describedby="email-error">
<span id="email-error" class="error-text" role="alert"></span>
</div>
</fieldset>
<button type="submit">Enviar</button>
</form>
4. Navegación por teclado
Orden de tabulación lógico:
- De arriba a abajo, izquierda a derecha
- Elementos interactivos visibles
- Skip links para saltar navegación repetitiva
<a href="#main-content" class="skip-link">
Saltar al contenido principal
</a>
<style>
.skip-link {
position: absolute;
top: -40px;
left: 0;
background: #000;
color: #fff;
padding: 8px;
z-index: 100;
}
.skip-link:focus {
top: 0;
}
</style>
5. Contraste de color
Requisitos WCAG 2.1 AA:
- Texto normal: relación de contraste mínimo 4.5:1
- Texto grande (18pt+ o 14pt+ en negrita): mínimo 3:1
- Componentes UI y estados: mínimo 3:1
Herramientas:
6. ARIA cuando sea necesario
Usa ARIA solo cuando HTML semántico no sea suficiente:
<!-- ✅ Buen uso de ARIA -->
<button
aria-expanded="false"
aria-controls="menu-desplegable"
aria-label="Abrir menú de navegación">
Menú
</button>
<!-- ❌ ARIA innecesario -->
<div role="button" tabindex="0">Click aquí</div>
<!-- Mejor: -->
<button>Click aquí</button>
Checklist de implementación
- Todas las imágenes tienen
altapropiado - Estructura semántica HTML5 correcta
- Formularios con
<label>asociados - Navegación completa con teclado
- Contraste de color cumple WCAG AA
- Focus visible en todos los elementos interactivos
- Skip links implementados
- Estados ARIA correctos (expanded, hidden, etc.)
- Mensajes de error accesibles
- Probado con lector de pantalla
Herramientas de testing
-
Automáticas:
- axe DevTools
- WAVE
- Lighthouse
-
Manuales:
- Navegación solo con teclado
- Lectores de pantalla (NVDA, JAWS, VoiceOver)
- Zoom al 200%
Qué hacer ahora
- Audita tu sitio con Lighthouse y anota los 3 problemas más críticos
- Implementa mejoras de texto alternativo y contraste esta semana
- Mide el impacto con GA4 y Search Console para validar mejoras en tiempo de sesión y tasa de rebote
¿Te ha gustado este artículo?
Si tienes preguntas o quieres discutir sobre estos temas, no dudes en contactarme.
Contáctame