La Etiqueta FIELDSET

Se utiliza para agrupar elementos relacionados en un formulario HTML, mejorando la organización, accesibilidad y estilo.
La etiqueta <fieldset> se utiliza para agrupar elementos relacionados en un formulario HTML, mejorando la organización, accesibilidad y estilo. Junto con <legend>, proporciona una estructura clara para secciones de formularios como datos personales, preferencias o configuraciones.
Sintaxis básica
<form>
<fieldset>
<legend>Título del grupo</legend>
<!-- Elementos del formulario -->
<input type="text" name="nombre">
<input type="email" name="correo">
</fieldset>
</form>
-
<fieldset>: Contenedor que agrupa elementos relacionados. -
<legend>: Etiqueta descriptiva para el grupo (debe ser el primer hijo de<fieldset>).
Casos de uso comunes
Agrupar información personal en un formulario
<fieldset> <legend>Datos personales</legend> <label>Nombre: <input type="text" name="nombre"></label> <label>Email: <input type="email" name="email"></label> </fieldset>
Opciones de configuración
<fieldset> <legend>Preferencias</legend> <label><input type="checkbox" name="newsletter"> Recibir newsletter</label> <label><input type="checkbox" name="ofertas"> Alertas de ofertas</label> </fieldset>
Deshabilitar un grupo de campos
<fieldset disabled> <legend>Dirección (deshabilitado)</legend> <label>Calle: <input type="text" name="calle"></label> <label>Ciudad: <input type="text" name="ciudad"></label> </fieldset>
Atributos clave
| Atributo | Descripción |
|---|---|
disabled |
Deshabilita todos los elementos dentro del <fieldset>. |
form |
Vincula el fieldset a un formulario externo (por id). |
name |
Nombre del grupo para referencia en JavaScript. |
Estilización con CSS
Personaliza la apariencia del grupo y su título:
fieldset {
border: 2px solid #3498db;
border-radius: 8px;
padding: 1rem;
margin: 1rem 0;
}
legend {
color: #3498db;
font-weight: bold;
padding: 0 0.5rem;
background: white;
}
/* Eliminar el borde predeterminado */
fieldset.sin-borde {
border: none;
padding: 0;
}
Accesibilidad
-
Lectores de pantalla: Anuncian el
<legend>como título del grupo. -
Buenas prácticas:
-
Usar
<legend>para describir el propósito del grupo. -
Evitar anidar múltiples
<fieldset>innecesariamente. -
Combinar con etiquetas (
<label>) para cada campo.
-
Errores comunes
Olvidar el <legend>
<!-- Incorrecto --> <fieldset> <input type="text" name="nombre"> </fieldset>
Agrupar elementos no relacionados
<!-- Incorrecto --> <fieldset> <legend>Datos y preferencias</legend> <input type="text" name="nombre"> <input type="checkbox" name="ofertas"> </fieldset>
Usar <div> en lugar de <fieldset>
<!-- Menos semántico --> <div class="grupo"> <h3>Datos personales</h3> <input type="text" name="nombre"> </div>
Ejemplos avanzados
Formulario de registro con múltiples secciones
<form>
<fieldset>
<legend>Información de cuenta</legend>
<label>Usuario: <input type="text" name="usuario" required></label>
<label>Contraseña: <input type="password" name="contraseña" required></label>
</fieldset>
<fieldset>
<legend>Datos de contacto</legend>
<label>Teléfono: <input type="tel" name="telefono"></label>
<label>Dirección: <input type="text" name="direccion"></label>
</fieldset>
</form>
Fieldset con CSS Grid
<fieldset>
<legend>Preferencias de envío</legend>
<div class="grid">
<label>País: <select name="pais">...</select></label>
<label>Ciudad: <input type="text" name="ciudad"></label>
<label>Código postal: <input type="text" name="codigo-postal"></label>
</div>
</fieldset>
<style>
.grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
}
</style>
Buenas prácticas
-
Agrupar solo elementos relacionados: Cada
<fieldset>debe tener un propósito claro. -
Usar
<legend>descriptivo: Ej: "Método de pago" en lugar de "Sección 1". -
Evitar anidaciones profundas: Mantener la estructura del formulario simple.
-
Compatibilidad: Funciona en todos los navegadores modernos, pero estilizar con cuidado para consistencia.
Conclusión:
La etiqueta <fieldset> es esencial para:
- Organizar formularios complejos de manera clara.
- Mejorar la accesibilidad para usuarios con discapacidades.
- Facilitar el estilo y la gestión de grupos de campos.
¡Úsala para crear formularios estructurados y profesionales!