Estou encerrando porque, na época, era uma preocupação válida, mas a vida continuava e o HTML5 chegou para ficar. Também está atraindo bandeiras porque muitas das respostas são opiniões e não fatos.
Kev
Respostas:
143
Bem, considere isso:
Ao servir como texto / html, tudo o que você precisa para um doctype é ativar o modo de padrões. Além disso, o doctype não faz nada no que diz respeito aos navegadores.
Ao servir como texto / html, se você usa marcação XHTML ou marcação HTML, ele é tratado pelos navegadores como HTML.
Então, na verdade, tudo se resume ao uso do doctype mais curto que aciona o modo padrão (<! DOCTYPE html>) e ao uso da marcação HTML que produz o resultado correto nos navegadores.
O resto é sobre conformidade, validação e preferência de marcação.
Com isso dito, usar o <! DOCTYPE html> agora e tentar fazer sua marcação em conformidade com HTML5 não é uma má idéia, desde que você se atenha aos recursos estáveis que funcionam nos navegadores agora. Você não usaria nada no HTML4 ou XHTML 1.x que não funcione nos navegadores, usaria?
Em outras palavras, você usa <! DOCTYPE html> com marcação semelhante ao HTML4, respeitando as coisas que foram esclarecidas no HTML5. Afinal, o HTML5 trata da compatibilidade do navegador.
A desvantagem de usar o HTML5 agora é que as especificações podem mudar com bastante frequência. Isso torna importante acompanhar as especificações, pois elas mudam ativamente. Além disso, o http://validator.nu/ pode nem sempre estar atualizado, mas o http://validator.w3.org/ nem sempre está atualizado, portanto, não deixe que isso o impeça.
Obviamente, se você deseja usar a marcação XHTML 1.0 e se conformar ao XHTML 1.0, não deve usar <! DOCTYPE html>.
Pessoalmente, eu sempre uso <! DOCTYPE html> para HTML.
“Achei que omitir o URI lança os navegadores no modo peculiar” - Não. Uma grande parte do trabalho em HTML5 foi Ian Hickson testando incansavelmente muitos navegadores comumente usados para ver o que funcionava e como. O doctype HTML5 aciona o modo de padrões em (acredito) em todos os navegadores que possuem essa funcionalidade.
Paul D. Waite
23
Se ajudar, acabei de testar o <! DOCTYPE html> no IE8, IE7 (usando as ferramentas de desenvolvimento do IE8) e IE6 (usando o Virtual PC). Nenhum deles entrou no modo peculiar. Assim, mesmo o IE antigo pode definitivamente lidar com o doctype HTML5 padrão sem entrar no modo peculiar.
Erro de sintaxe
3
Minha pergunta para você seria por que usá-lo se você não usar nenhum dos recursos novos / não suportados. Não estou dizendo que você não pode brincar com isso, mas por que começar a criar sites com um doctype que não oferece benefícios e pode ser complementado pelo XHTML5.
“Por que usá-lo se você não usa nenhum dos recursos novos / não suportados” - porque é mais curto e fácil de lembrar? Não é grande coisa, obviamente, mas ainda assim.
Paul D. Waite
Sim, mas isso não seria XHTML 1.2 ou XHTML 2.0? ;)
Talvi Watia
1
HTML5 é 'XHTML5'. O W3C interrompeu o desenvolvimento do 'X'HTML.
Chris Harrison
Bem, na verdade não. XHTML5 e HTML5 são duas representações de marcação diferentes (serializações) da linguagem HTML. O primeiro é baseado em XML e o último é um dialeto exclusivo (com semântica de análise especial) do SGML.
Delan Azabani 12/08
2
Eu diria que use e teste extensivamente. Então, deixe-nos saber se explodiu sua casa ou algo assim. : ')
Com base na versão beta mais recente do IE8, parece que a MS usará o doctype HTML5 como um desvio para o atoleiro de comutação do modo IE8. Parece que o maior risco com a implantação antecipada do doctype HTML5 é que, se as pessoas publicam muito conteúdo incompatível com o IE8 com o doctype HTML5 antes do lançamento do IE8, a Microsoft pode se acalmar ao simplificar a situação do modo para HTML5.
Atualização: Parece que isso foi votado para baixo. Obviamente, agora que o IE8 foi enviado, a consideração acima não se aplica mais. E, de fato, a situação não é simples com o IE8 .
A desvantagem para mim diz respeito principalmente à validação:
As ferramentas de validação de terceiros nem sempre acompanham as alterações nas especificações, tornando minhas ferramentas favoritas não confiáveis.
Prefiro validar contra doctypes estritos para garantir que eu fechei todos os elementos. É uma maneira fácil de evitar erros de aninhamento simples, mas demorados. Com o HTML 5, você não precisa fechar seus elementos; portanto, não há como encontrar tags incomparáveis.
Considere seu público e suas necessidades. Escrevo páginas como testes em sala de aula com um público-alvo de alunos em meus cursos que usam o FireFox 3 em um laboratório de informática equipado com o Ubuntu. Eu preciso de SVG com MathMl incorporado como um estrangeiroObject no SVG. Eu uso o doctype HTML5 e novas tags HTML5 livremente.
Para as pessoas que ainda leem isso, observe que o artigo (e a resposta) têm quase 2 anos e o HTML5 vem se movendo bastante rápido o tempo todo.
Rjmunro
0
Para quem encontrar isso. O gráfico em
http://hsivonen.iki.fi/doctype/mostra os vários modos de renderização que diferentes navegadores usam, dependendo da declaração DOCTYPE em uso. Ele fornece uma boa idéia de como a comutação DOCTYPE funciona.
Pessoalmente, eu diria que não. Não há um benefício claro para o HTML5 e, na verdade, chegaria ao ponto de dizer que tudo está errado desde o início.
Ter tags especializadas para cabeçalho, rodapés e barras laterais é um grande erro - você as possui na forma de tags (div) e nomes (classes / IDs). Por que precisamos dos especialistas? XHTML1.1 é bom o suficiente, ponto final. De fato, como a maioria dos navegadores não suporta HTML4 corretamente, há pouco sentido em usar um doctype que levará anos para obter o suporte adequado.
É sobre semântica. Você poderia perfeitamente se livrar de quase todas as tags em HTML e usar nada além de atributos div, span e style / class. Mas você remove todo o valor semântico do documento fazendo isso.
Laurent
2
Pense em como será útil para os mecanismos de pesquisa.
Leo Jweda
@ Laurent: Então, se eu quero que um cabeçalho agora seja uma barra lateral, eu tenho que passar por todos os meus CSS e marcação trocando-os, porque não é mais semanticamente correto? Não. Faça um div, chame o que faz e use como quiser. @Laith: Em que sentido será bom para os mecanismos de pesquisa?
graham.reeds
Tela: Deseja usá-lo? Você não pode. Ou você pode, mas agora você está na terra da programação direcionada. Qual não é o objetivo dos padrões.
graham.reeds
3
"Faça um div, chame o que faz e use como quiser." - Maldito seja. Enquanto você estiver nisso, faça o mesmo em todos os seus parágrafos e listas. Como digito uma marca de marca aqui.
Respostas:
Bem, considere isso:
Ao servir como texto / html, tudo o que você precisa para um doctype é ativar o modo de padrões. Além disso, o doctype não faz nada no que diz respeito aos navegadores.
Ao servir como texto / html, se você usa marcação XHTML ou marcação HTML, ele é tratado pelos navegadores como HTML.
Então, na verdade, tudo se resume ao uso do doctype mais curto que aciona o modo padrão (<! DOCTYPE html>) e ao uso da marcação HTML que produz o resultado correto nos navegadores.
O resto é sobre conformidade, validação e preferência de marcação.
Com isso dito, usar o <! DOCTYPE html> agora e tentar fazer sua marcação em conformidade com HTML5 não é uma má idéia, desde que você se atenha aos recursos estáveis que funcionam nos navegadores agora. Você não usaria nada no HTML4 ou XHTML 1.x que não funcione nos navegadores, usaria?
Em outras palavras, você usa <! DOCTYPE html> com marcação semelhante ao HTML4, respeitando as coisas que foram esclarecidas no HTML5. Afinal, o HTML5 trata da compatibilidade do navegador.
A desvantagem de usar o HTML5 agora é que as especificações podem mudar com bastante frequência. Isso torna importante acompanhar as especificações, pois elas mudam ativamente. Além disso, o http://validator.nu/ pode nem sempre estar atualizado, mas o http://validator.w3.org/ nem sempre está atualizado, portanto, não deixe que isso o impeça.
Obviamente, se você deseja usar a marcação XHTML 1.0 e se conformar ao XHTML 1.0, não deve usar <! DOCTYPE html>.
Pessoalmente, eu sempre uso <! DOCTYPE html> para HTML.
fonte
Minha pergunta para você seria por que usá-lo se você não usar nenhum dos recursos novos / não suportados. Não estou dizendo que você não pode brincar com isso, mas por que começar a criar sites com um doctype que não oferece benefícios e pode ser complementado pelo XHTML5.
fonte
Eu diria que use e teste extensivamente. Então, deixe-nos saber se explodiu sua casa ou algo assim. : ')
fonte
Com base na versão beta mais recente do IE8, parece que a MS usará o doctype HTML5 como um desvio para o atoleiro de comutação do modo IE8. Parece que o maior risco com a implantação antecipada do doctype HTML5 é que, se as pessoas publicam muito conteúdo incompatível com o IE8 com o doctype HTML5 antes do lançamento do IE8, a Microsoft pode se acalmar ao simplificar a situação do modo para HTML5.
Atualização: Parece que isso foi votado para baixo. Obviamente, agora que o IE8 foi enviado, a consideração acima não se aplica mais. E, de fato, a situação não é simples com o IE8 .
fonte
A desvantagem para mim diz respeito principalmente à validação:
fonte
se você usar o doctype, experimente os recursos. Desde que eles não entrem em um site de produção e você os teste minuciosamente, faça isso.
fonte
Considere seu público e suas necessidades. Escrevo páginas como testes em sala de aula com um público-alvo de alunos em meus cursos que usam o FireFox 3 em um laboratório de informática equipado com o Ubuntu. Eu preciso de SVG com MathMl incorporado como um estrangeiroObject no SVG. Eu uso o doctype HTML5 e novas tags HTML5 livremente.
fonte
Dê uma olhada nesta postagem do blog! Não é realmente um fã do HTML5 http://www.webscienceman.com/2009/01/24/html-xhtml-html5-future-html/
fonte
Para quem encontrar isso. O gráfico em
http://hsivonen.iki.fi/doctype/
mostra os vários modos de renderização que diferentes navegadores usam, dependendo da declaração DOCTYPE em uso. Ele fornece uma boa idéia de como a comutação DOCTYPE funciona.fonte
Pessoalmente, eu diria que não. Não há um benefício claro para o HTML5 e, na verdade, chegaria ao ponto de dizer que tudo está errado desde o início.
Ter tags especializadas para cabeçalho, rodapés e barras laterais é um grande erro - você as possui na forma de tags (div) e nomes (classes / IDs). Por que precisamos dos especialistas? XHTML1.1 é bom o suficiente, ponto final. De fato, como a maioria dos navegadores não suporta HTML4 corretamente, há pouco sentido em usar um doctype que levará anos para obter o suporte adequado.
fonte