Desde mi punto de vista...

Formulario = entrada de datos
Tabla = salida de datos

Por lo tanto, NO se debe maquetar un formulario con una tabla, y menos 
poner <th> para indicar cabeceras de datos tabulares. En general, una 
tabla podría contener varios registros iguales con los mismos campos, 
mientras que un formulario raramente tendrá este aspecto (normalmente la 
relación será uno a uno entre etiqueta y control). En el caso de una 
ficha, también creo que sería más correcto utilizar listas de 
definición, aunque habría que ver cada caso concreto, y tal vez en 
algunos casos una tabla sería adecuada.

Además, en HTML existe el elemento específico <label> para asociar las 
etiquetas de forma única a cada control, y si hace falta agrupar 
controles como botones de radio, existen <fieldset> y <legend>, por lo 
que no veo sentido a usar otros elementos que no están pensados para ese 
fin. Si necesitas maquetarlo (visualmente) en forma de tabla, puedes 
usar CSS para hacerlo sin demasiada complicación, y siempre puedes 
añadir los <div> o <span> que hagan falta sin añadir semántica al contenido.

En WCAG 1.0, los puntos asociados serían: 3.3 (maquetar con estilos), 
5.3 (tablas de maquetación), 5.4 (<th> usado para otro fin distinto de 
marcar encabezados de datos tabulares), 10.2 (asociación implícita de 
etiquetas y controles) y 12.4 (asociación explícita de etiquetas y 
controles).

En WCAG 2.0, tendrías el 1.1.1 (alternativas a elementos no textuales), 
1.3.1 (información y relaciones), y 3.3.2 (etiquetas o instrucciones), 
aunque dado que las WCAG 2.0 admiten lo de "programáticamente 
determinable", igual hasta colaba, pero sigo viéndolo mú feo cuando 
existe <label> para eso.

Saludín,
Ramón.

Martín escribió:

 > sobre utilización de tablas en formularios
_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a [email protected]
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://lists.ovillo.org/mailman/listinfo/ovillo

Responder a