¿El uso de la etiqueta HTML de conjunto de campos tiene un significado más allá de la agrupación de formularios?

StackOverflow https://stackoverflow.com/questions/314457

  •  10-07-2019
  •  | 
  •  

Pregunta

Por lo general, lo he visto con formularios, pero me ha resultado útil agrupar conjuntos de datos relacionados (por ejemplo, cuando tiene varias tablas en una página, utilizando un conjunto de campos alrededor de cada tabla o grupo de tablas relacionadas para definir un significado visible y un nombre de grupo (leyenda)). ¿Abusa de la etiqueta del conjunto de campos hasta el punto en que, en mis usos, ya no tiene un significado semántico?

¿Fue útil?

Solución

Puedo ver ventajas semánticas para bloquear contenido en conjuntos de campos con leyendas.

Aunque el W3C asoció el uso de conjuntos de campos y leyendas con formularios, permitir el uso fuera de la etiqueta del formulario abre nuevos límites a la experimentación. Potencialmente similar a la lista de definiciones en uso.

Personalmente no creo que el " campo " en el conjunto de campos es específico del campo de formulario. Simplemente heredó la relación de su uso dentro de la etiqueta del formulario. campo hace referencia a la agrupación.

Imagina ir a tus parques locales y recreación para jugar softball con tus amigos. Hay 3 campos disponibles. Todos ellos tienen letreros en la cerca & Quot; SOLO BÉISBOL & Quot;

¿Empacas tu equipo y te vas a casa?

etiquetar el uso de conjuntos de campos y leyendas fuera del uso indebido de etiquetas de formulario es limitado

En ningún lugar de la definición menciona formas:

  

El elemento FIELDSET permite a los autores   agrupar controles relacionados temáticamente   y etiquetas. Los controles de agrupación lo hacen   más fácil para los usuarios entender su   propósito mientras que simultáneamente   facilitando la navegación con pestañas para   agentes de usuario visual y discurso   navegación para usuarios orientados al habla   agentes El uso adecuado de este elemento.   hace que los documentos sean más accesibles.

Considero el control de formato de etiquetas xhtml. div p blockquote etc.

<h1>The Big Book about Everything</h1>
<fieldset>
    <legend>Jokes</legend>
    <h2>30 pages of humorous Jokes</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p>
</fieldset>
<fieldset>
    <legend>Poems</legend>
    <h2>20 pages of well written poems</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p>
</fieldset>
<fieldset>
    <legend>Horror</legend>
    <h2>3 Short and scary stories</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p>
</fieldset>
<fieldset>
    <legend>Mystery</legend>
    <h2>3 Short and mysterious stories</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
    <p>Cras nec diam eu lectus condimentum faucibus in et odio.</p>
</fieldset>

Otros consejos

Creo que esto sería abuso. http://www.w3.org/TR/REC -html40 / interact / forms.html # h-17.10 indica " El elemento FIELDSET permite a los autores agrupar controles y etiquetas " ;.

El " campo " bit en el nombre fieldset se refiere a <form> campos.

Usar form fuera de <=> s para agrupar datos de aribtrary es claramente un mal uso semántico.

Sin embargo, su HTML se validará y Dios no matará a un gatito.

fieldset trata sobre grupo de control de formulario . Al agrupar los controles de formulario relacionados, los autores pueden dividir un formulario en partes más pequeñas y más manejables, mejorando el desastre de usabilidad que puede ocurrir al enfrentar a los usuarios con demasiados controles de formulario.

Eso no significa que un conjunto de campos siempre agrupe campos dentro de un formulario , aunque la especificación discuta el conjunto de campos solo dentro del contexto de interacción del usuario con el formulario ...

Entonces el " abuso " puede provenir del hecho de que las especificaciones HTML 4 y XHTML no requieren que el conjunto de campos y la leyenda estén contenidos dentro de los elementos del formulario. FIELDSET puede incluso ser hijo del elemento BODY. Es una sintaxis válida para colocar conjuntos de campos fuera de los formularios.

Pero, cuando describe algo como un conjunto de campos que no es realmente un conjunto de campos, solo causa confusión.

Es mejor pensar que las etiquetas HTML / XHTML describen el significado de un elemento en lugar de cómo se verá. Luego puedes usar CSS para hacer que el elemento se vea como quieras.

Si agrupa datos para fines de presentación, puede encontrar aquí un buena alternativa CSS .

Para referencia:

.fieldset {
border-right: 1px solid #75736E;
border-bottom: 1px solid #75736E;
border-left: 1px solid #F2F0EE;
border-top: 1px solid #F2F0EE;
padding: 10px 3px 3px 3px;

}

.outer {
border-left: 1px solid #75736E;
border-top: 1px solid #75736E;
border-right: 1px solid #F2F0EE;
border-bottom: 1px solid #F2F0EE;
width: 200px; /* CHANGE THIS FOR BOX SIZE */
} 

.legend {
float: left;
margin-left: 15px;
margin-top: -8px;
padding-left: 5px;
padding-right: 5px;
font-weight: bold;
background: #FFF;
} 

<div class="legend">Lipsum.com Is The Best</div>
<div class="outer">
<div class="fieldset">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
Donec congue fermentum metus. Quisque vel ante. 
Cras purus metus, dignissim at, luctus et, sollicitudin eget, urna. 
Maecenas eget lacus. Aenean bibendum risus non erat mattis semper. 
Aliquam placerat nibh eget lacus. Sed blandit eleifend justo. Nam elit. 
Fusce feugiat orci id eros facilisis laoreet. 
Integer vestibulum condimentum purus. 
Proin vehicula congue lacus. Quisque placerat diam nec enim. 
Nunc lorem. Maecenas nec sem sed nulla tristique faucibus.</div></div>

Si desea agrupar tablas, considere usar un elemento de encabezado apropiado (h1-h6) para cada grupo. Las tablas individuales se pueden describir utilizando el título ' 'elemento. El atributo 'resumen' también está disponible para cada tabla.

De la especificación:

  

Cada tabla puede tener un asociado   subtítulo (vea el elemento CAPTION) que   proporciona una breve descripción de la   Propósito de la mesa. Una descripción más larga   también se puede proporcionar (a través del resumen   atributo) en beneficio de las personas   usando voz o usuario basado en Braille   agentes.

Y para el registro, el elemento 'fieldset' no está destinado a usarse fuera de los formularios. Y dentro de los formularios, se pretende agrupar conceptualmente como campos de entrada, cosas como 'información personal' o 'dirección de facturación', etc.

Aquí hay un artículo interesante que analiza lo que los usuarios de lectores de pantalla escuchan al navegar por los conjuntos de campos. http: // www .rnib.org.uk / wacblog / articles / too-much-accessibility / too-much-accessibility-fieldset-legends /

La etiqueta de conjunto de campos también es útil para los lectores de pantalla y algunas otras tecnologías de asistencia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top