17 febrero, 2009

Reconsiderando la etiqueta table para el diseño

Hace unos días se desató la polémica por el artículo de Ron Garret titulado Why CSS should not be used for layout al que siguió CSS and the meaning of life y luego On the semantics of HTML.

El artículo puede resumirse con las frases:

Mientras que el CSS debe ser usado para dar estilo, las tablas deben ser usadas para el diseño (layout)
Si algo inherentemente simple resulta difícil de plasmar, es porque algo falla.
Y su justificación...
Aparentemente el orden importa. La razón por la que el orden importa es que este diseño, como todos los diseños CSS multicolumna, se consigue con floats y la forma en la que los floats son distribuidos depende del orden en el que aparecen. Por ello no hemos conseguido separar el contenido de la presentación. La forma en la que las cosas aparecen en pantalla aún depende del órden con el que aparecen en el contenido. Peor aún, con el fin de ser distribuidos adecuadamente, el órden en el que los elementos deben aparecer es diferente del flujo natural en el diseño.

Aunque los puristas le acusarán de no conocer suficiente el CSS, lo cierto es que todos hemos pasado por las molestias descritas. Y después de pegarse un rato, con el agravante de que cada navegador reacciona de una forma distinta, consigues por fin la apariencia que quieres. Pero sin saber dónde estaba el problema, por lo que volveremos a caer una y otra vez en el mismo desesperante proceso.

Su justificación de que el significado de las etiquetas HTML no la da la W3C sino la forma con la que los navegadores muestran dichas etiquetas resulta dolorosamente cierta. De hecho en ese tercer artículo hay muchos menos comentarios. Sin duda necesitamos algo mejor para el diseño y estamos ignorando años de experiencia con este tema. Seguramente resultaría mucho más sencillo con una especie de GridBagLayout (de Java), pero mientras tanto, lo más parecido son, ciertamente, las viejas tablas de siempre.

Via Ajaxian.

Publicar un comentario en la entrada

Últimos links en indiza.com