it-swarm-es.com

Doctypes XHTML estrictos

Me preguntaba sobre las consecuencias de construir un sitio que cumpla con XHTML1.0 Strict. He desarrollado muchos sitios utilizando el doctype de transición y leo sobre las consecuencias de un atributo de destino de enlace. No se puede usar y debe repararse con un bloque de código JavaScript.

Me preguntaba si había más de estas ocurrencias de 'gran impacto' y si hay cambios significativos con la codificación diaria en la variante de transición.

3
Rickjaah

En primer lugar, usar Javascript para agregar atributos no válidos a los elementos es exactamente igual de malo como ponerlos en el HTML en primera instancia. Solo estás enmascarando el "problema".

En segundo lugar, dije esto en otra respuesta, pero la clave para una buena validación es saber cuáles son los errores importantes que hay que abordar. ¿Agregar target="_blank" a un enlace afectará negativamente a alguien que use un navegador en particular? No, el enlace se abrirá en una nueva ventana o no. No romperá el diseño ni bloqueará su navegador ni nada.

Un estricto doctype * es la única opción sensata para las nuevas páginas web, ya que reduce enormemente los problemas entre navegadores, más que cualquier otra técnica. Pero usar un doctype estricto no significa que su código debe ser 100% válido para la especificación. Está bien usar atributos técnicamente inválidos siempre y cuando sepas las consecuencias (o la falta de) cuando un navegador podría no admitir una función.

* Personalmente me encanta el doctype HTML5: <!DOCTYPE html>.
Increíblemente fácil de recordar y fuerza el modo estricto en todos los navegadores, incluso IE6.

3
DisgruntledGoat

Las consecuencias son un mejor soporte de estándares web, una mayor compatibilidad entre navegadores y una comprobación más fácil de la accesibilidad. El estándar estricto fomenta el código muy limpio.

Sin embargo, a veces simplemente necesita romper una regla para que funcione correctamente. En estos casos, el uso de Strict no impide que pueda hacer algo, solo evita que pase la validación.

1
dmsnell