O HTML é o idioma comum para publicar hipertexto na World Wide Web [1]. Desde 1982, Tim Berners-Lee simplificou a definição original de SGML para a liberação de especificação XHTML1.1 em 2001, o HTML se tornou um padrão internacional com várias versões [2]. As especificações de cada versão são definidas em uma linguagem legível por máquina que descreve estruturas, elementos e atributos legais, que é a definição do tipo de documento, denominada DTD.
Artigos relacionados: HTML Code Learning: Abreviação de Doctype
O DTD descreve a declaração do tipo de documento (declaração do DTD, referida como doctype [3]) na frente do documento HTML. É o documento de contato e a diretiva DTD. Por exemplo, o doctype de html4.01 rigoroso é:
<!doctype html public -//w3c//dtd html 4.01//en http://www.w3.org/tr/html4/strict.dtd>Ele especifica a versão HTML do documento, que é a informação mais necessária quando uma ferramenta como um navegador analisa um documento. Por exemplo, a ferramenta de verificação do W3C pode verificar a sintaxe e apontar erros com base nela.
A implementação dos padrões de erros dos navegadores iniciais, o grande número de extensões privadas, a confusão dos próprios padrões iniciais etc., levou aos documentos naquele momento nem a Doctype nem as referências diretas ao DTD, e também dificultou a aplicação de novos padrões e popularizados porque os navegadores não podem distingui -los. Para lidar com as páginas da Web criadas de acordo com os padrões da Web e as páginas da Web criadas de acordo com práticas desatualizadas, Todd Fahrner propôs o método de alternância em 1998, que permite que o navegador forneça dois conjuntos de modos de renderização: ou seja, existe um documento completo para parse usar o padrão W3C, caso contrário, é parsado.
Este método é prático, simples e eficaz. Dois anos depois, a primeira vez que foi usada na versão Mac do IE, e logo outros fabricantes de navegadores a adotaram, o que deu à luz a Doctype Sniffing (Snifting Doctype ou comutação Doctype). O navegador o usa para decidir se seu mecanismo deve adotar o modo padrão, o modo quase padrão ou o modo peculiar, o que terá um grande impacto na análise de HTML e CSS, o layout dos scripts CSS e JavaScript [5]. Não há dúvida de que devemos adotar o modelo padrão o máximo possível.
Embora o HTML5 ainda esteja no rascunho, os mais recentes navegadores Firefox3.5, Chrome2, Safari4 e IE8 começaram a suportar alguns recursos, especialmente o lançamento do Google Wave desencadeou um novo clímax na promoção da prática do HTML5. O HTML5 não se baseia no SGML nem possui DTD, mas, para compatibilidade com a frente, aceita o fato de que a Doctype sniffs, definindo que Doctype é a única declaração de conversão de modo em texto/html, exceto que não é de nenhum uso. Seu doctype é tão conciso: <! Doctype html> [6].
Vale a pena mencionar que, para resolver o problema da compatibilidade para a frente, o IE8 adota a declaração compatível com X-UA [7], o que leva ao modo de renderização do navegador no IE8 que não apenas depende do Doctype Sniffing, mas também do declínio do X-UA compatível. Isso não apenas leva a julgamentos de padrões mais complexos [8], mas também viola a idéia progressiva de aprimoramento de web design [9].
No caminho para os padrões da Web, precisamos não apenas avançar a compatibilidade com o realismo, mas também a compatibilidade com o idealismo. Esta é a esperança de garantir que nossa web possa funcionar normalmente no futuro. Com a idéia de padrão, simplicidade e aprimoramento gradualmente, a melhor solução para a nossa página agora é talvez:
<!doctype html>…<meta http-equiv=x-ua-compatible content=ie=edge>…Notas: