Doctype é necessário para documentos HTML5

12

Recentemente, tive uma entrevista de emprego e uma das perguntas foi "O doctype é necessário para documentos HTML 5?". Eu respondi "não", mas tenho a sensação de que posso estar errado. No w3 , parece absolutamente necessário, mas se eu digitar um HTML simples como

<html>
    <body>
        <input type="color" disabled/>
    </body>
</html>

salve-o como HTML e tente abrir no Chrome - funcionaria perfeitamente bem, com uma nova entrada de cores (desativada). Essa entrada é HTML5, bem como atributo.

Portanto, a pergunta é: preciso especificar doctype ou não? Qual seria a resposta correta para a entrevista?

user1582878
fonte
1
Eu acho que você poderia argumentar que sem o Doctypeelemento não é um documento HTML5.
MetaFight 5/02
Você pode digitar hello worldum editor de texto, salvá-lo como HTML e ele será renderizado no Chrome. Acontece que o Chrome (e muitos outros navegadores) coloca coisas para você, mesmo que seja "obrigatório".
Intcreator #

Respostas:

14

A resposta correta seria "Depende".

Um DOCTYPE é opcional para documentos HTML5 na sintaxe XHTML (ou seja, documentos XHTML5):

Documentos XML podem conter um DOCTYPE, se desejado, mas isso não é necessário para estar em conformidade com esta especificação.

Um DOCTYPE é necessário para documentos HTML5 na sintaxe HTML :

Os documentos devem consistir nas seguintes partes, na ordem especificada:

[...]

3. UM MÉDICO.

Exceções

unor
fonte
1
Esta é a resposta completa se "for necessário" for interpretado como "é exigido pelas especificações". Também poderia ser interpretado como se referindo a efeitos práticos. Nesse caso, a resposta seria a necessidade de uma string doctype na sintaxe HTML para colocar os navegadores no "modo de padrões".
Jukka K. Korpela
Eu gostaria desta resposta melhor se você dissesse quando um documento é html vs xhtml. O que isso significa para os navegadores - como eles decidiram com qual sintaxe avaliar?
temporary_user_name
7

Eu também teria respondido "não" (errado, por acaso).

No entanto, http://www.w3.org/TR/html5/syntax.html#the-doctype diz:

8.1.1 O DOCTYPE

Um DOCTYPE é um preâmbulo obrigatório.

DOCTYPEs são necessários por motivos herdados. Quando omitido, os navegadores tendem a usar um modo de renderização diferente que é incompatível com algumas especificações. A inclusão do DOCTYPE em um documento garante que o navegador faça o possível para seguir as especificações relevantes.

BTW, GIYF

Mawg diz que restabelece Monica
fonte
1
A parte citada se aplica apenas à sintaxe HTML.
Jukka K. Korpela
E o título da pergunta é "O Doctype é necessário para documentos HTML5" (QED).
Mawg diz que restabelece Monica
1
A especificação do HTML5 diz clara e visivelmente que define duas sintaxes para o HTML5, uma baseada no HTML original e outra totalmente em conformidade com XML. O que você cita não responde à pergunta, pois se aplica apenas a uma das sintaxes.
Jukka K. Korpela
Ah! Finalmente eu entendo. Muito obrigado pelo esclarecimento.
Mawg diz que restabelece Monica
2

Quando você deseja escrever um documento HTML5 em conformidade com o padrão w3c, <!DOCTYPE html>é necessário.

Mas, na prática, você nem sempre precisa de um tipo de documento, porque qualquer navegador comum renderiza seu documento independentemente. No entanto, alguns navegadores usarão um modo legado no qual alguns recursos não serão interpretados corretamente e, de certa forma, uma versão anterior do navegador o tratará (a maioria relacionada ao layout).

Qual resposta é correta para esta entrevista ? Isso depende da mentalidade da pessoa que o entrevistou. Em uma entrevista de emprego, não importa se você está certo ou errado. Importa apenas a impressão que você causa no entrevistador.

Philipp
fonte
A pergunta interessante para mim é: o DOCTYPE HTML5 é necessário na prática no ano de 2020? O que os navegadores atuais (FF, Chrome, Edge) fazem se eu omiti-lo e ainda assim tornar o código compatível com HTML-5?
Panu Logic