¿Por qué la gente desaconseja usar la etiqueta de tabla en HTML?

No hay nada de malo en usar tablas en HTML para marcar datos tabulares. Para eso están, y cuando se usan correctamente, las tablas son accesibles y proporcionan un valor semántico.

Sin embargo, el uso de tablas solo con fines de diseño está mal visto porque viola la semántica del marcado (que está destinado a reprimir datos tabulares, no un diseño de página) y generalmente crea problemas de accesibilidad, ya que los lectores de pantalla y otras tecnologías de asistencia no tienen una forma confiable de saber la diferencia entre una tabla que se usa correctamente para marcar datos tabulares y una tabla que se usa incorrectamente para proporcionar el diseño.

El argumento para usar tablas para el diseño es generalmente uno de pragmatismo: lograr ciertos diseños usando CSS a menudo requiere más trabajo y más ingenio que lograr el mismo diseño usando tablas, por lo que algunas personas están dispuestas a cambiar la pérdida de semántica y accesibilidad por la capacidad de solo haz algo rápidamente y al menos haz que se vea bien.

Las tablas también incurren en una leve penalización de rendimiento con respecto al tiempo de reflujo ( http://code.google.com/speed/art …). Intuitivamente, esto tiene sentido porque si una sola celda cambia de tamaño, la geometría del resto de las celdas en la tabla debe ser recalculada.

La respuesta de Ryan cubre todas las razones principales por las que el uso de tablas para diseños es malo. Sin embargo, para comprender por qué muchos desarrolladores y diseñadores son aparentemente alérgicos a la etiqueta de la tabla, debe comprender cuán gravemente se abusó de la etiqueta a fines de los 90. Las páginas anidarían tablas de cuatro o cinco niveles de profundidad creando marcas que fueron increíblemente dolorosas de asimilar y mantener sin herramientas como Dreamweaver. Los diseños semánticos, por otro lado, generalmente son accesibles para cualquier persona con un editor de texto.

Otro problema importante asociado con el marcado de presentación, en particular las tablas para el diseño, es la enorme cantidad de trabajo involucrado con cambios de diseño simples.

Imagine tener que editar cientos de páginas de tablas anidadas solo para mover un bloque de contenido, en lugar de hacer solo una edición de 5 o 6 líneas en su hoja de estilo externa.

Separar el contenido de los datos de presentación es una recomendación clave del estándar web.