2008-11-24 13 views
25

Normalmente, lo he visto con formularios, pero he encontrado que es útil agrupar conjuntos de datos relacionados (por ejemplo, cuando tienes varias tablas en una página, usando un conjunto de campos alrededor de cada tabla o grupo de tablas relacionadas para definir significado visible y un nombre de grupo (leyenda)). ¿Está abusando de la etiqueta fieldset al punto donde, en mis usos, ya no tiene significado semántico?¿El significado de la etiqueta HTML fieldset tiene un significado que va más allá de la agrupación de formularios?

Respuesta

4

Veo las ventajas semánticas de bloquear contenido en conjuntos de campos con leyendas.

Aunque el W3C asociaba el uso de conjuntos de campos y leyendas con formularios, permitir el uso fuera de la etiqueta de 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 fieldset sea específico para el campo de formulario. Simplemente heredó la relación de su uso dentro de la etiqueta del formulario. campo está en referencia a la agrupación.

Imagínese ir a sus parques y lugares de recreación locales para jugar al softbol con sus amigos. Hay 3 campos disponibles. Todos ellos tienen carteles en la valla "BÉISBOL SOLAMENTE"

¿Paquetes tus cosas y te vas a casa?

etiquetar el uso de conjuntos de campos y leyendas fuera del formulario etiqueta abuso es estrecho de miras.

En ninguna parte de la definición hace mención formas:

El elemento FIELDSET permite a los autores grupo controles relacionados temáticamente y etiquetas. La agrupación de controles hace que sea más fácil para los usuarios a entender su propósito al mismo tiempo facilitar la navegación con tabulador para agentes de usuario visuales y de voz para la navegación agentes del habla-orientado al usuario. El uso adecuado de este elemento hace que los documentos sean más accesibles.

Considero que el control de formato de las 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> 
+9

Controles y etiquetas, es decir, campos. Usar conjuntos de campo para contenido normal es un abuso, como dice mmiika. Si está buscando elementos de agrupación semántica, debe mirar los elementos

1

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

18

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

+0

Controles significan elementos de formulario individuales, ¿correcto? ¿Como un grupo de casillas de verificación, un grupo de botones de opción y no todo el formulario? –

+0

Sí: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.2 – mmiika

2

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

Eso hace not means a fieldset always group fields within a form, a pesar de que la especificación de campos discutir sólo dentro del contexto del usuario que interactúa con la forma ...

Así que el "abuso" puede venir del hecho de los HTML 4 y XHTML especificaciones técnicas no requieren de campos y la leyenda a estar contenida dentro de los elementos de la forma. FIELDSET puede incluso ser el elemento secundario del elemento BODY. Es una sintaxis válida para colocar conjuntos de campos fuera de los formularios.

Pero, cuando se describe algo como un fieldset que no es realmente un fieldset, solo causa confusión.

Lo mejor es pensar que las etiquetas HTML/XHTML describen el significado de un elemento en lugar de cómo se verá. Luego puede usar CSS para que el elemento se vea como usted lo desee.

Si agrupa los datos para fines de presentación, puede encontrar aquí un nice CSS alternative.

Como 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> 
+0

Gracias por el enlace, pero sabía sobre el uso de etiquetas para describir el significado. Sin embargo, no estoy seguro del significado de "fieldset". –

2

Si desea tablas de grupos, considere el uso de la denominación correspondiente (h1-h6) elemento para cada grupo. Las tablas individuales pueden describirse utilizando el elemento 'caption'. El atributo 'resumen' también está disponible para cada tabla.

De la especificación:

Cada tabla puede tener un asociado subtítulo (ver el elemento CAPTION) que proporciona una breve descripción del propósito de la tabla . También se puede proporcionar una descripción más larga (a través del atributo resumen) para el beneficio de las personas utilizando el habla o los usuarios basados ​​en Braille agentes.

Y para el registro, el elemento 'fieldset' no está destinado a ser utilizado 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 trata sobre lo que los usuarios de lectores de pantalla escuchan cuando navegan por conjuntos de campo.http://www.rnib.org.uk/wacblog/articles/too-much-accessibility/too-much-accessibility-fieldset-legends/

4

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

El uso de fieldset en el exterior form s para agrupar datos aribtrary es claramente un uso indebido semántico.

Sin embargo, su HTML se validará y Dios no Kill a Kitten.

Cuestiones relacionadas