2009-11-27 13 views
6

Oggi mi è stato chiesto da uno sviluppatore senior quale doctype avrei usato se avessi intenzione di scrivere qualcosa (personale/non commerciale) per il web aperto.Quale documento HTML?

Ho risposto, <!doctype html>, al quale sono stato accolto con uno sguardo di shock, orrore e sorpresa e poi ho chiesto di spiegarmi.

A mio parere, è un buon candidato perché i browser correnti (IE, FF, Opera, Safari) lo guarderanno e cambieranno il contenuto in modalità standard, anche se non implementano HTML5. Se voglio sfruttare effettivamente gli elementi HTML5, posso usare qualche javascript per creare un riferimento a quei tag non riconosciuti da, ad esempio, IE (ad esempio document.createElement('article');) e quindi lavorare con loro come se fossero parti native del DOM.

Questa è stata davvero una brutta risposta? A cosa avresti risposto e perché?

+0

Suppongo che ci sia l'argomento che il doctype HTML non si convalida correttamente sugli strumenti di convalida W3C [non sperimentali]? –

+2

Google utilizza '' su google.com – powtac

+1

Google utilizza anche HTML non valido. – Quentin

risposta

6

Mentre <!doctype html> è perfettamente a posto, lo WHAT-WG recommendation is to use <!DOCTYPE html>, nel caso si finisca per servire il documento come XHTML5 (nel qual caso la maiuscola diventa importante).

@David Dorward (impossibile commentare ancora, quindi ...) Non sono d'accordo con la tua rappresentazione di HTML5. Mentre i nuovi elementi (elementi strutturali, ecc.) Sono attualmente poco supportati dai browser, HTML5 è il 90% HTML4 con la gestione degli errori definita (finalmente). I browser analizzano HTML5 come HTML4, quindi supponendo che non si utilizzino elementi strutturali (div funziona ancora) le differenze sono minime. Validator.nu fornisce risultati migliori del validatore rigoroso HTML4.1 di W3, viene sviluppato più rapidamente e si basa su una specifica più dettagliata.

Il mio consiglio sarebbe di ignorare le novità in HTML5 per il momento e trattarlo come una specifica più precisa per HTML4. Non ci sono svantaggi e molti vantaggi.

3

<!doctype html> sembra bene ..

Il bello di questo nuovo DOCTYPE, in particolare, è che tutti i browser attuali (IE, FF, Opera, Safari) saranno guardare e passare il contenuto in modalità standard - anche se non implementano HTML5. Ciò significa che potresti iniziare a scrivere le tue pagine web usando HTML5 oggi e farle durare per molto, molto, molto tempo./http://ejohn.org/blog/html5-doctype/

3

Questa è stata davvero una risposta così male?

<!DOCTYPE html> non è stata una cattiva risposta.

Cosa avresti risposto e perché?

avrei dato la mia risposta in scatola su choosing a doctype in generale, anche se io uso <!DOCTYPE html> per le mie nuove pubblicazioni personali.

2

HTML5 - sperimentali, strumenti di controllo qualità immature che hanno un bersaglio ancora in movimento. (E se devi usare JavaScript (che potrebbe essere disattivato) per ottenere elementi strutturali di base da riconoscere allora 'eeep!').

XHTML - richiede che l'hackery dell'Appendice C funzioni con Internet Explorer. Le DTD sono meno espressive di HTML 4.

HTML 4: maturo, ben testato, supportato principalmente dai browser, non sono necessari trucchi. Non può essere analizzato da strumenti XML (ma poche persone li usano comunque internamente su pagine web)

Strict: un buon nucleo.

Transitional - Strict più cose che (con un paio di eccezioni) dovrebbero essere evitate.

Pertanto, HTML 4.01 Strict sarebbe probabilmente l'opzione migliore. Ovviamente ci sono delle eccezioni, ma lo farei come punto di partenza.

+0

La domanda riguardava puramente il doctype, non gli effettivi elementi utilizzati. – Ms2ger

+0

L'utilizzo di un doctype che non consente gli elementi che si stanno utilizzando genera "falsi" positivi durante la convalida. L'utilizzo di un Doctype che consente a una vasta gamma di elementi che si intende non utilizzare interrompe la convalida dello spotting che tu (o un altro membro del tuo team) hai per caso. Il Doctype è strettamente legato al documento, trattandolo come qualcosa di indipendente è sciocco. – Quentin

+0

Non vedo perché questo è stato down-votato. È un buon riepilogo puntato delle considerazioni per ogni doctype. –

1

Avrei risposto come te perché hai ragione e non uso più nessun altro doctype per qualsiasi nuova pagina web per i motivi indicati in diversi link di seguito (inclusa la risposta di Anne in basso perché lavora per Opera).

1

Prima di tutto, direi che il Doctype non dovrebbe essere stato introdotto in primo luogo. Non puoi pubblicare pagine cross browser con qualcosa di diverso dal mimetype text/html e non farmi iniziare su DTD.

Tutto il doctype deve attivare la modalità standard ed è necessario solo perché molti siti non sono costruiti per gli standard, tanto meno per le specifiche w3c. Se il doctype ha un solo scopo, rendilo semplice. HTML5 fa esattamente questo. Gli sviluppatori non dovrebbero annoiarci facendo finta che il doctype abbia altri significati che accendere o spegnere la modalità standard.

Lo sviluppatore "senior" dovrebbe andare avanti con il suo lavoro e smettere di tormentare la gente su cose così stupide.

Problemi correlati