2009-11-27 22 views
6

Un desarrollador senior me preguntó hoy qué doctype usaría si fuera a escribir algo (personal/no comercial) para la web abierta.¿Qué tipo de documento HTML?

Respondí, <!doctype html>, a lo que me saludaron con una mirada de sorpresa, horror y sorpresa y luego les pedí que me explicaran.

En mi opinión, es un buen candidato porque los navegadores actuales (IE, FF, Opera, Safari) lo verán y cambiarán el contenido al modo estándar, aunque no implementen HTML5. Si realmente quiero aprovechar los elementos de HTML5, puedo usar algunos javascript para crear una referencia a esas etiquetas que no reconocen, digamos, IE (por ejemplo, document.createElement('article');) y luego trabajar con ellos como si fueran partes nativas del DOM.

¿Fue realmente tan mala respuesta? ¿Qué hubieras respondido y por qué?

+0

Supongo que existe el argumento de que el tipo de documento HTML no se validará correctamente en las herramientas de validación del W3C [no experimental]. –

+2

Google utiliza '' en google.com – powtac

+1

Google también usa HTML no válido. – Quentin

Respuesta

6

Mientras <!doctype html> está perfectamente bien, el WHAT-WG recommendation is to use <!DOCTYPE html>, en caso de que termine sirviendo el documento como XHTML5 (en cuyo caso las mayúsculas se vuelven importantes).

@David Dorward (no se pudo comentar todavía, entonces ...) No estoy de acuerdo con su representación de HTML5. Mientras que las cosas nuevas (elementos estructurales, etc.) son actualmente poco compatibles con los navegadores, HTML5 es 90% HTML4 con manejo de errores definido (finalmente). Navegadores HTML5 analizan el mismo que HTML 4, por lo que suponiendo que no utiliza elementos estructurales (div sigue funcionando) las diferencias son mínimas. Validator.nu ofrece mejores resultados que el validador HTML4.1 Strict de W3, se está desarrollando más rápidamente y se basa en especificaciones más detalladas.

Mi consejo sería ignorar las cosas nuevas en HTML5 por el momento y tratarlo como una especificación más precisa para HTML4. No hay desventajas y varios beneficios.

3

<!doctype html> parece bien ..

Lo bueno de este nuevo DOCTYPE, sobre todo, es que todos los navegadores actuales (es decir, FF, Opera, Safari) se verá en ella y cambiar el contenido en modo de estándares - a pesar de que no implementan HTML5. Esto significa que puede comenzar a escribir sus páginas web usando HTML5 hoy y hacer que duren mucho, mucho, mucho tiempo./http://ejohn.org/blog/html5-doctype/

3

¿Era realmente una mala respuesta tan?

<!DOCTYPE html> no fue una mala respuesta.

¿Qué le han respondido y por qué?

Me he dado mi respuesta enlatada sobre choosing a doctype en general, a pesar de que yo uso <!DOCTYPE html> para mis nuevas publicaciones personales.

2

HTML5 -, herramientas de control de calidad inmaduros experimentales que tienen un objetivo aún en movimiento. (Y si tiene que usar JavaScript (que podría estar desactivado) para que se reconozcan elementos estructurales básicos, entonces '¡eeep!').

XHTML: requiere hackers del Apéndice C para trabajar con Internet Explorer. Las DTD son menos expresivas que HTML 4.

HTML 4: maduro, bien probado, en su mayoría compatible con navegadores, no es necesario hackear. Las herramientas XML no pueden analizarlo (pero pocas personas lo usan internamente en las páginas web)

Estricto: un buen núcleo.

Transicional: estrictamente más cosas que (con un par de excepciones) deben evitarse.

Por lo tanto, HTML 4.01 Strict probablemente sea la mejor opción. Obviamente hay excepciones, pero lo convertiría en el punto de partida.

+0

La pregunta era puramente sobre el doctype, no sobre los elementos reales utilizados. – Ms2ger

+0

El uso de un tipo de documento que no permite que los elementos que está utilizando lanza "falsos" positivos cuando se valide. El uso de un Doctype que permite una gran cantidad de elementos que intenta no usar detiene la validación de detectar que usted (u otro miembro de su equipo) tiene por accidente. El Doctype está muy relacionado con el documento, tratarlo como algo independiente es tonto. – Quentin

+0

No veo por qué esto fue votado negativamente. Es un buen resumen con viñetas de las consideraciones para cada tipo de documento. –

1

Habría respondido lo mismo que usted porque está en lo correcto y ya no utilizo ningún otro tipo de documento para las páginas web nuevas por las razones expuestas en varios enlaces a continuación (incluida la respuesta de Anne a continuación porque trabaja para Opera).

1

En primer lugar, diría que el Doctype no debería haber sido introducido desde el principio. No puede mostrar páginas de navegador cruzadas con nada que no sea el tipo de texto/html mimetype y no me permite comenzar con las DTD.

Todo lo que hace el doctype es activar el modo estándar y solo es necesario porque muchos sitios no están construidos según las normas y mucho menos por la especificación w3c. Si el tipo de documento tiene un solo propósito, hazlo simple. HTML5 hace exactamente eso. Los desarrolladores no deberían aburrirnos fingiendo que el doctype tiene otro significado que el de activar o desactivar el modo estándar.

El desarrollador 'senior' debe continuar con su trabajo y dejar de molestar a la gente sobre cosas tan tontas.

Cuestiones relacionadas