Hola, Victoria y todos.

Tanto en HTML 4.01 como en XHTML, incluso en sus versiones Strict, el 
elemento <label> puede contener un elemento <input> (y sólo uno), como 
se puede leer en los comentarios que hay en las propias DTD de HTML 4.01 
[1] y de XHTML 1.0 [2]:

Comentario en la DTD de HTML 4.01:
<!-- Each label must not contain more than ONE field -->

Comentario en la DTD de XHTML 1.0:
<!--
  Each label must not contain more than ONE field
  Label elements shouldn't be nested.
-->

Por si esto fuera poco, en el documento de Técnicas HTML para las WCAG 
1.0 [3], sobre accesibilidad, se especifica la manera idónea de asociar 
implícitamente las etiquetas con sus controles de formulario:

<!--cita-->
A label is implicitly associated with its form control either through 
markup or positioning on the page. The following example shows how a 
label and form control may be implicitly associated with markup.

Example.

   <LABEL for="firstname">First name:
     <INPUT type="text" id="firstname" tabindex="1">
   </LABEL>
<!-- fin de cita -->

Puedo estar de acuerdo contigo en que, semánticamente hablando, no suena 
del todo bien que el control esté contenido en su etiqueta, pero vamos, 
que como ser es una técnica perfectamente válida y además recomendada 
por el W3C.

Y no es necesario añadir ningún contenido extra como <br /> ni nada por 
el estilo para que ambos controles se muestren en distintas líneas, 
basta con ponerle un display: block; al <input> y arreglado. Y si 
quieres mostrar etiqueta y control en una sola línea basta darle ese 
display: block; al <label>.

Eso sí, lo de la lista para cuando no hay estilos, me temo que no hay 
manera de apañarlo, jejeje.

Un saludín,
Ramón.

[1] DTD HTML 4.01
http://www.w3.org/TR/html4/loose.dtd
http://www.w3.org/TR/html4/strict.dtd

[2] DTD XHTML 1.0
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd

[3] Técnicas HTML para las WCAG 1.0
http://www.w3.org/TR/WCAG10-HTML-TECHS/#forms-labels
http://www.discapnet.es/web_accesible/tecnicas/html/WCAG10-HTML-TECHS_es.html#forms-labels



Gracia escribió:
> Tanto en HTML 4.01 como para XHTML, el elemento <label> está pensado 
> para ser un elemento per-se, y es el atributo "id" el que lo asocia con 
> el control a que hace referencia. Puede anidarse el <input>, pero no es 
> lo recomendable. Podéis verlo en las especificaciones del W3C [1]

_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a Ovillo@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo

Responder a