La Etiqueta LEGEND

Se utiliza junto a la etiqueta FIELDSET para agrupar elementos de formulario relacionados y proporcionarles un título descriptivo.
La etiqueta <legend> se utiliza junto a <fieldset> para agrupar elementos de formulario relacionados y proporcionarles un título descriptivo. Esencialmente:
-
<fieldset>: Crea un contenedor para agrupar elementos (como inputs, selects, etc.). -
<legend>: Define un título o leyenda para ese grupo.
Propósito:
-
Mejorar la accesibilidad (los lectores de pantalla anuncian el título del grupo).
-
Organizar visualmente formularios complejos.
-
Dar contexto semántico a los datos agrupados.
<fieldset> <legend>Título del grupo</legend> <!-- Elementos del formulario aquí --> </fieldset>
Ejemplos prácticos
Ejemplo 1: Grupo de datos personales
<fieldset> <legend>Información personal</legend> <label for="nombre">Nombre:</label> <input type="text" id="nombre"><br><br> <label for="email">Correo:</label> <input type="email" id="email"> </fieldset>
Resultado:
Ejemplo 2: Opciones de entrega (radio buttons)
<fieldset>
<legend>Método de entrega</legend>
<label>
<input type="radio" name="entrega" value="domicilio"> Envío a domicilio
</label><br>
<label>
<input type="radio" name="entrega" value="recoger"> Recoger en tienda
</label>
</fieldset>
Resultado:
Ejemplo 3: Formulario con múltiples grupos
<form>
<fieldset>
<legend>Datos de contacto</legend>
<label>Email: <input type="email"></label><br>
<label>Teléfono: <input type="tel"></label>
</fieldset>
<fieldset>
<legend>Preferencias</legend>
<label>
<input type="checkbox"> Recibir newsletter
</label>
</fieldset>
</form>
Estilizar <fieldset> y <legend> con CSS
Por defecto, <fieldset> tiene un borde y <legend> aparece en la esquina superior izquierda. Puedes personalizarlos:
fieldset {
border: 2px solid #007BFF;
border-radius: 8px;
padding: 20px;
margin: 10px 0;
}
legend {
color: #007BFF;
font-weight: bold;
padding: 0 10px;
background: white;
}
Resultado con estilos:
Ejemplo estilizado
Errores comunes
Usar <legend> sin <fieldset>: La etiqueta <legend> solo funciona dentro de un <fieldset>.
<!-- Incorrecto --> <legend>Título suelto</legend>
Ignorar la jerarquía: <legend> debe ser el primer hijo de <fieldset>.
<!-- Incorrecto --> <fieldset> <input type="text"> <legend>Título</legend> </fieldset>
Leyendas ambiguas:
Evita títulos genéricos como "Datos" o "Grupo 1".
Mejores prácticas
Usa texto descriptivo:
El título debe resumir claramente el propósito del grupo:
<legend>Dirección de facturación</legend>
Combina con <label>:
Asegura que cada elemento dentro del <fieldset> tenga su etiqueta.
Accesibilidad:
-
Los lectores de pantalla anuncian el texto de
<legend>al entrar al grupo. -
Usa
aria-describedbysi necesitas más contexto.
Agrupa lógicamente:
Separa campos como "Datos personales", "Método de pago", etc.
Importancia en formularios complejos
En formularios largos (como registros o encuestas), <fieldset> y <legend>:
-
Reducen la fatiga visual del usuario.
-
Facilitan la navegación con teclado o lectores de pantalla.
-
Mejoran la tasa de finalización al organizar la información.
Ejemplo avanzado: Formulario de registro
<form>
<fieldset>
<legend>Crear cuenta</legend>
<label>Usuario: <input type="text" required></label><br><br>
<label>Contraseña: <input type="password" required></label>
</fieldset>
<fieldset>
<legend>Datos adicionales</legend>
<label>País:
<select>
<option>México</option>
<option>España</option>
</select>
</label><br><br>
<label><input type="checkbox"> Acepto los términos</label>
</fieldset>
</form>
Con este tutorial, podrás estructurar formularios HTML de manera profesional, accesible y semánticamente correcta. ¡Usa <fieldset> y <legend> para dar claridad a tus usuarios!