Web '99 versus '08: ¿buenas prácticas?
Mientras sigo leyendo opciones y mentalmente organizando qué forma tomaría un nuevo blog si lo programara yo mismo, me encuentro con todas las peculiaridades que los programadores para la Web ya conocen. El cambiante DOM, Javascript en cada una de sus revisiones mayores, HTML estricto, transicional y en "quirks mode" (que simplemente traduciré como "HTML Rancio") y todo esto sin siquiera mencionar el lenguaje del lado del servidor.
¿Hemos mejorado?
Antes el diseño típico se hacía con tablas en Photoshop. Si, Photoshop... pero el 3 o algo así. Dividías una imagen en trocitos y la metías en una tabla, haciendo algunas de ellas clickeables. El resultado: código ilegible, sin semántica y limitado a una sola resolución de pantalla y tamaño de texto (que era realmente una imagen también). Luego reemplazamos la tabla por mapas de imagen, que si bien son mucho más legibles aún tienen el problema de ser difíciles de mantener, con poca si nada semántica y están limitados a la resolución de la imagen.
¿Y cual es la solución oficial a todo esto? Pues cambiar las celdas de las tablas y areas de un mapa por DIVs.
- ¿Un borde redondo alrededor de un DIV? pues le ponemos otro div antes y otro más después... y otro alrededor!
- ¿Queremos ordenar un formulario? Cada campo en un DIV entonces.
- ¿Queremos hacer una tabla? ¡Horror! ¡no usar tablas! Simulamos una tabla... usando DIVs!!
- ¿Queremos un mapa? pues no podemos usar mapas, así que... lo simulamos con DIVs.
El DIV se ha vuelto una mala práctica... o más bien, el uso gratuito de DIVs. El problema no es con un tag en particular (excepto FONT, claro) sino con el uso de tags gratuitos sin significado alguno, mezclando presentación con contenido.
Aún hoy veo sitios horrendos que si bien no están llenos de tablas gratuitas, están llenos de DIVs gratuitos. Lo más triste es ver algunos elementos abandonados por seguir esta práctica al pie de la letra y las tablas html y los mapas de imagen no soportan todo el CSS que los tags populares si soportan (SPAN es el otro, que semánticamente es un "pedazo"). Incluso en el caso de reemplazar una tabla por un monton de DIVs flotantes se pierde semántica, ya que la tabla correlaciona columnas además de filas y un user-agent astuto podría ofrecer la opción de leer (con un sintetizador de voz) las tablas por filas o por columnas.
En resumen: si su contenido es una tabla, por Dios, ¡ponga una tabla! Si tiene un mapa con regiones picables (o clickeables), ¡use un mapa html! Yo estoy usando mapas html en el 2008 y me tienen muy feliz, si bien no tienen *nada* de CSS.
Bonus links: Mientras peleo con el peculiar comportamiento de TinyMCE en Firefox (que borra a veces de a un carácter, a veces de a dos) me pregunto si habrán mas opciones. Encuentro FCKEditor y Xopus y si bien Xopus se ajusta bastante a lo que quisiera... también es comercial y con un foco a Internet Explorer, por lo que no sirve.
--Madster
Nadie ha comentado este artículo.