html - usar - xaml documentacion
¿No es el diseño basado en la cuadrícula de WPF lo mismo que el diseño basado en tablas que es tabú en html? (1)
El punto es que Grid en WPF se define como un mecanismo de diseño, mientras que una tabla en HTML es para marcar datos tabulares, algo donde generalmente se usa un DataGrid o similar en WPF.
El problema con HTML a este respecto no es tanto que estés usando tablas para el diseño. De hecho, el Módulo de diseño de plantillas CSS3 no es tan diferente. El problema es que el contenido de las tablas no tiene una estructura semántica y, por lo tanto, es inaccesible para los lectores de pantalla, los motores de búsqueda y similares. Esperan que una tabla contenga datos tabulares ya que cualquier mecanismo de diseño visual no tiene sentido para algo que no tiene vista (como lectores de pantalla, rastreadores web o personas ciegas).
En WPF hay varias formas de abordar esto. En primer lugar, WPF es para el diseño gráfico de la interfaz de usuario y, como tal, está muy arraigado visualmente. Eso implica automáticamente una cierta inadecuación para las personas ciegas. Además, los rastreadores web no son realmente una preocupación (haciendo caso omiso de XBAP por un tiempo, no los he visto hasta el momento). Más allá de eso, WPF trabaja con las tecnologías de accesibilidad existentes en Windows para garantizar que los lectores de pantalla puedan entender la interfaz de usuario de la misma forma que lo harían con una aplicación tradicional de Windows. Así que aquí tienes más meta-información de accesibilidad que inherente a HTML. Además, lo único que es accesible al exterior es una cuadrícula completamente renderizada. No el marcado debajo, sino una serie de controles que están en algún lugar de la pantalla. Y para quienes aplican las mismas reglas que para cualquier otra ventana también.
Otro punto en comparación con las tablas para el diseño en HTML es que mezcla el contenido y la presentación, dificultando el cambio solo de uno de ellos y dificultando el acceso al contenido (similar al problema anterior para lectores de pantalla y rastreadores web). En WPF, ambos ya están separados (a través del enlace de datos) y puede separarlos aún más si lo desea creando controles personalizados para encapsular partes de un diseño, tomando cadenas e imágenes en recursos, etc.
Para resumir, HTML no tenía un mecanismo adecuado para construir diseños complejos y atractivos y las tablas eran una solución a ese problema (con todas las debilidades y problemas inherentes). WPF, por otro lado, se construyó desde cero con técnicas y formas de abordar exactamente esas deficiencias y, en su mayor parte, en realidad son las mejores prácticas allí.
Ambos emplean el mismo concepto: definen algunas filas y columnas y agregan contenido en posiciones específicas. Pero The Grid es el contenedor de diseño WPF más común, mientras que el diseño basado en tablas en html es muy controvertido . Entonces, ¿por qué se elogia el diseño de cuadrícula de WPF y el diseño basado en tablas de html se considera "malo" (por algunos)?