Principio 1/1.3 Adaptable/1.3.1-N
De WCAG Wiki
< Principio 1 | 1.3 Adaptable
1.3.1-N. Agrupar campos relacionados
- Nivel: A
- Versión: 2.2
- Principio: 1_Perceptible
- Pauta: 1.3_Adaptable
- Grupo: Formulario
- Subgrupo: Agrupación de campos
Discapacidades afectadas
Este criterio puede afectar a distintas personas con discapacidad. A continuación se indican las más relevantes.
-
Visual total –
Barrera grave
-
Motriz –
Barrera moderada
-
Cognitiva –
Barrera leve
Enunciado del criterio (Observatorio de Accesibilidad Web)
- Los grupos de campos de formulario relacionados entre sí que requieren de una descripción de todo el grupo se deben agrupar dentro de un elemento <fieldset> y describirse con <legend>.
Comprensión del criterio
Descripción resumida
Los campos de formulario relacionados (como direcciones, fechas, preferencias o grupos de opciones) deben estar agrupados con <fieldset> y describirse con <legend> para que la relación entre ellos sea entendida por tecnologías de apoyo.
Objetivo
Comunicar programáticamente la relación entre campos relacionados para reducir errores y mejorar la comprensión del formulario.
Importancia de cumplir el criterio
La agrupación ayuda a usuarios con lectores de pantalla y a personas con dificultades cognitivas o motrices a entender la organización y propósito de los campos.
Referencias WCAG
- H71: Usar <fieldset> y <legend> para describir grupos de controles de formulario
- ARIA: role="group" y role="radiogroup" como alternativas
Recursos de apoyo
- Usar <fieldset> y <legend> cuando haya varios campos vinculados
- Evitar usar <legend> muy largos (ser conciso)
- Usar ARIA solo si no es posible usar HTML semántico
Evaluación del criterio
Tipo de evaluación
Evaluación Comprobación manual
Procedimiento de evaluación
- Identificar formularios con varios campos relacionados
- Verificar la presencia de <fieldset> y <legend>
- Comprobar que el texto del <legend> describe el grupo
- Opcional: verificar uso de roles ARIA solo cuando no haya estructura HTML
Resultado esperado
Los campos relacionados están agrupados programáticamente mediante <fieldset> y <legend> o roles ARIA equivalentes.
Ejemplo ilustrativo
Ejemplo correcto:
<fieldset> <legend>Método de contacto</legend> <label><input type="radio" name="contact" value="email">Email</label> <label><input type="radio" name="contact" value="phone">Teléfono</label> </fieldset>
Ejemplo incorrecto:
<p>Método de contacto</p> <label><input type="radio" name="contact" value="email">Email</label> <label><input type="radio" name="contact" value="phone">Teléfono</label>
Otras herramientas de evaluación
- Inspección del navegador
- Lectores de pantalla
- Web Developer Toolbar
Ejemplos accesibles y no accesibles creados por alumnos
<!DOCTYPE html>
⚠️ PROBLEMA 3.3.2-C: Este formulario NO tiene etiquetas ni instrucciones claras
Reserva de Hotel
⚠️ Problemas de este formulario:
- No hay etiquetas
<label>para ningún campo - Algunos placeholders son ambiguos ("Código" - ¿qué código?)
- No se indica qué campos son obligatorios
- No hay instrucciones sobre el formato esperado
- El select dice "Selecciona" pero ¿seleccionar qué?
- Un campo no tiene ni placeholder ni etiqueta (campo de email)
- No hay indicación de formato de fecha específico
- No se explica para qué sirve cada campo
<!DOCTYPE html>
✅ ACCESIBLE 3.3.2-C: Este formulario tiene etiquetas e instrucciones claras
Reserva de Hotel
Complete el siguiente formulario para reservar su estadía
Nota: Los campos marcados con * son obligatorios
✅ Implementación correcta:
- Cada campo tiene una etiqueta
<label>clara asociada - Los campos obligatorios están claramente marcados con *
- Hay instrucciones específicas sobre formato y contenido esperado
- Los selectores tienen opciones descriptivas, no ambiguas
- Se explica el propósito de cada campo cuando no es obvio
- Se proporcionan ejemplos en los placeholders
- Hay una nota inicial explicando la convención de campos obligatorios
- Se usan atributos ARIA apropiados (aria-required, aria-describedby)
Comentarios
A continuación se muestran comentarios sobre el criterio 1.3.1-N. Agrupar campos relacionados
Loading comments...
