Como escolher o Doctype de forma correta
Em tempos de Web Standards, muitos desenvolvedores web esquecem de declarar o Doctype ou simplesmente usam o Doctype padrão do editor preferido, muitas vezes eles nem sabem o que é um Doctype, pra que serve ou muito menos sabem diferenciar um Doctype do outro, então, irei tentar ajudar vocês dando uma olhada melhor nesse tal de Doctype.
O que é um Doctype?
O Doctype é a Declaração do Tipo de Documento ou simplesmente DTD, todo documento (X)HTML deve conter um Doctype logo em seu inicio. É ele que vai dizer para o navegador qual é a versão do (X)HTML que você está usando no arquivo, e sim, existem vários tipos de HTML, cada uma com sua regra e algumas diferenças na sintaxe.
Se você deixar de declarar o Doctype em seu arquivo (X)HTML, o navegador tentara “adivinhar” qual é o Doctype, as vezes ele acerta, as vezes não, o que pode provocar uma renderização defeituosa e seu site aparecer “torto” no navegador.
Como disse, o Doctype precisa vir logo no inicio do arquivo, ou seja, antes da tag <html>, um Doctype é mais ou menos assim:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Lista de Doctypes corretos
Existem varias versões de (X)HTML certo? Então você deve decidir a versão que deseja utilizar e escolher o Doctype correto, escolher qual Doctype usar não é tarefa difícil, eu geralmente uso apenas um Doctype em todos os meus trabalhos e não preciso ficar escolhendo qual Doctype usar a cada nova página. Você só deve ficar atento as diferenças de regras e sintaxe entre cada Doctype, principalmente entre HTML e XHTML.
- HTML 4.01 Strict:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">- HMTL 4.01 Transitional:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">- HTML 4.01 Frameset:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">- XHTML 1.0 Strict:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">- XHTML 1.0 Transitional:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">- XHTML 1.0 Frameset:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">- XHTML 1.1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Está lista é formada pelos Doctypes mais utilizados, você pode ter ouvido falar de XHTML 2.0, mas esse ainda é um rascunho e não é recomendável usa-lo em desenvolvimento e também existem outros mais antigos como HTML 2.0 e alguns exóticos como SVG e MathML.
Escolhendo o Doctype
Irei explicar as diferenças entre os Doctypes e você descobrira porque muitos desenvolvedores recomendam a utilização de um Doctype Strict.
Você tem sete opções de escolha, a escolha pode parecer difícil, mas se você separar por grupos a escolha se torna mais simples.
A primeira escolha que você deve fazer é escolher entre HTML e XHTML. Está é uma questão um pouco complicada pois envolve varias questões técnicas e ideologias confusas, então vamos deixar isso de lado agora e começar de pelo mais fácil.
A outra escolha que você deve fazer é entre Strict, Transitional e Frameset. Essa escolha é fácil de resolver então vamos lá…
Strict, Transitional ou Frameset?
Strict
Strict pode ser um pouco complicado para iniciantes porque você precisa escrever um código impecável, sem erros, você não pode usar tags e atributos de apresentação como a tag <font>, <body bgcolor=”red”>, etc. E você deve usar CSS para qualquer tipo de estilo/apresentação/design que queria usar na página.
Se você se sentir bem com tudo isso então você pode parrar por aqui mesmo, você fez a escolha certa, mas se ainda está incerto, por favor, continue lendo.
Transitional
Foi destinado para ajudar os web designer a melhorarem seu códigos, para aprenderem. Com Transitional você poderá cometer alguns erros e usar tags e atributos de apresentação. É como uma transição entre a forma antiga e errada de codificar para a forma nova e correta.
Frameset
Sua existência tem destino parecido com o Transitional, foi feito para designers que insistem em usar frames em suas páginas, frames são horríveis e devem ser banidos da face da terra, são ruins tanto para usuários que não conseguem “favoritar” suas páginas corretamente quanto para mecanismos de buscas que não conseguem indexar suas páginas de maneira correta.
Mas se você quiser usar frames, então você deve usar um Doctype Frameset.
Conclusão
Quase certo que a melhor escolha será um Doctype Strict, mas se você está parado no tempo com elementos de apresentação como <font>, <body bgcolor=”red”> e por ai vai, então você deve usar um Doctype Transitional. Mas se você insiste em usar frames em suas páginas então não existe melhor escolha do que um Doctype Frameset.
Se você é Transitional ou Frameset, por favor, estude um pouco e se torne um Strict
Abraços e Muito Obrigado.
Este artigo é uma “tradução”, adaptação e inspirado no post: Choosing the Best Doctype for your Website
Este post tem 4 comentários
7 de December de 2008
Muito bom, parabéns, são trabalhos voluntários como o seu que fazem valer nossa existência.
Muito agradecido por se importar conosco: desconhecidos ignorantes em busca de conhecimento. E salve esta grande invenção que DEUS fez surgir em nossos dias para levar adiante os SEUS desígnios.
24 de December de 2008
Boa matéria!
Só uma observação, em relação aos frames, de fato estão caindo em desuso, mas os buscadores não tem dificuldades de indexa-los, o que pode ocorrer é uma visualização do cache do buscador incorreta (o que tem pouquissima importancia pois é rarissimo alguem usar cache de buscadores), mas isto não tem nada haver com falha de indexação. Os motores de buscas estão se tornando tão sofisticados, com a adobe agora se abrindo ao google até mesmo o flash vai ser devassado.
Muito boa a matéria, só fiz a ressalva em relação aos frames pois tive uma questão interessante a algum tempo, um amigo disse que uma empresa (isto mesmo empresa) tentou convence-lo de tirar sos frames pois do contrario o site dele jamais seria indexado no topo das buscas, no entanto, nas palavras chaves de interesse o site dele estava sempre entre os 4 primeiros resultados do google.
Ou seja, torna-se muito mais uma questão de estetica do que funcionalidade.
2 de February de 2009
Agradeço imensamente a informação. Sou aprendiz e estou sempre em busca de conhecimentos. Na vida, quando dividimos crescemos. Que você tenha sucessos e grande realizaçoes.
10 de February de 2009
Issssssooo meu garoto, obrigado pela explicação!
Deixe seu comentário