Ada alasan untuk tidak mulai menggunakan doctype HTML 5? [Tutup]

132

Seharusnya kompatibel dengan HTML4 dan XHTML. John Resig memposting tentang beberapa manfaat .

Selama kita tidak menggunakan fitur yang baru dan belum didukung, apakah akan ada kerugian untuk mulai membangun situs dengan doctype ini?

Ricky
sumber
1
Saya menutup karena pada saat itu merupakan kekhawatiran yang valid tetapi kehidupan telah bergulir dan HTML5 sekarang di sini untuk tinggal. Ini juga menarik bendera karena banyak dari jawabannya adalah pendapat daripada fakta.
Kev

Jawaban:

143

Pertimbangkan dengan baik ini:

Ketika berfungsi sebagai teks / html, yang Anda butuhkan hanyalah dokumen untuk memicu mode standar. Selain itu, DOCTYPE tidak melakukan apa-apa sejauh browser yang bersangkutan.

Ketika berfungsi sebagai teks / html, apakah Anda menggunakan markup XHTML atau HTML, itu diperlakukan oleh browser sebagai HTML.

Jadi, benar-benar turun menggunakan doctype terpendek yang memicu mode standar (<! DOCTYPE html>) dan menggunakan markup HTML yang menghasilkan hasil yang benar di browser.

Selebihnya adalah tentang penyesuaian, validasi, dan prerferensi markup.

Dengan itu, menggunakan <! DOCTYPE html> sekarang dan mencoba membuat markup Anda sesuai dengan HTML5 bukanlah ide yang buruk selama Anda tetap menggunakan fitur stabil yang berfungsi di browser sekarang. Anda tidak akan menggunakan apa pun di HTML4 atau XHTML 1.x yang tidak berfungsi di browser, bukan?

Dengan kata lain, Anda menggunakan <! DOCTYPE html> dengan markup mirip-HTML4 sambil menghormati hal-hal yang telah diklarifikasi dalam HTML5. Lagipula HTML5 adalah tentang kompatibilitas browser.

Kelemahan dari menggunakan HTML5 sekarang adalah bahwa spec dapat berubah cukup sering. Ini membuatnya penting bagi Anda untuk mengikuti spec saat aktif berubah. Juga http://validator.nu/ mungkin tidak selalu mutakhir, tetapi http://validator.w3.org/ juga tidak selalu mutakhir, jadi jangan biarkan itu menghentikan Anda.

Tentu saja, jika Anda ingin menggunakan markup XHTML 1.0 dan menyesuaikan diri dengan XHTML 1.0, maka Anda tidak boleh menggunakan <! DOCTYPE html>.

Secara pribadi, saya selalu menggunakan <! DOCTYPE html> untuk HTML.

Shadow2531
sumber
4
Saya berpikir bahwa menghilangkan URI membuat browser menjadi mode quirks, sehingga menjadikan standar kerja sebagai upaya yang sia-sia.
graham.reeds
5
Mengapa Anda tidak dapat menggunakan markup XHTML 1.0 sebagai <! DOCTYPE html>? Saya pikir itu intinya!
Skilldrick
2
Skilldrick, Anda bisa menulis dokumen polyglot ya. stackoverflow.com/questions/1079427/what-is-a-polyglot-document
Shadow2531
5
"Saya berpikir bahwa menghilangkan URI membuat browser menjadi mode quirks" - Tidak. Sebagian besar pekerjaan pada HTML5 adalah Ian Hickson tanpa henti menguji banyak browser yang biasa digunakan untuk melihat apa yang berhasil, dan bagaimana. Doctype HTML5 memicu mode standar di (saya percaya) semua browser yang memiliki hal seperti itu.
Paul D. Waite
23
Jika itu membantu, saya baru saja menguji <! DOCTYPE html> di IE8, IE7 (menggunakan alat dev IE8), dan IE6 (menggunakan Virtual PC). Tak satu pun dari mereka masuk ke mode kebiasaan. Jadi, bahkan IE yang lama pasti dapat menangani doctype HTML5 standar tanpa masuk ke mode quirks.
Kesalahan Sintaks
3

Pertanyaan saya kepada Anda adalah mengapa menggunakannya jika Anda tidak menggunakan salah satu fitur baru / tidak didukung. Saya tidak mengatakan Anda tidak bisa bermain-main dengan itu, tetapi mengapa mulai membangun situs dengan DOCTYPE yang tidak menawarkan manfaat dan dapat ditambahkan oleh XHTML5.

Justin Yost
sumber
3
"Mengapa menggunakannya jika Anda tidak menggunakan salah satu fitur baru / tidak didukung" - karena lebih pendek dan lebih mudah diingat? Jelas bukan hal besar, tapi tetap saja.
Paul D. Waite
Ya, tapi bukankah itu XHTML 1.2 atau XHTML 2.0? ;)
Talvi Watia
1
HTML5 adalah 'XHTML5'. W3C telah menghentikan pengembangan 'X'HTML.
Chris Harrison
Yah tidak juga. XHTML5 dan HTML5 adalah dua representasi markup yang berbeda (serialisasi) dari bahasa HTML. Yang pertama adalah berbasis XML, dan yang terakhir adalah dialek unik (dengan semantik parsing khusus) dari SGML.
Delan Azabani
2

Saya akan mengatakan menggunakannya dan menguji secara ekstensif. Lalu beri tahu kami jika itu meledakkan rumah Anda atau sesuatu. : ')

Bernard
sumber
2

Berdasarkan beta IE8 terbaru, tampaknya MS akan menggunakan HTML5 doctype sebagai bypass untuk IE8 mode quagmire switching. Tampaknya risiko terbesar dengan menggunakan doctype HTML5 lebih awal adalah bahwa jika orang menerbitkan banyak konten yang tidak kompatibel dengan IE8 dengan doctype HTML5 sebelum IE8 dikirimkan, MS mungkin merasa takut untuk membuat situasi mode menjadi sederhana untuk HTML5.

Pembaruan: Sepertinya ini ditolak. Cukup jelas sekarang bahwa IE8 telah dikirimkan, pertimbangan di atas tidak berlaku lagi. Dan memang, situasinya tidak sederhana dengan IE8 .

hsivonen
sumber
2

Kerugian bagi saya terutama menyangkut validasi:

  1. Alat validasi pihak ketiga tidak selalu mengikuti perubahan spesifikasi, membuat alat favorit saya tidak dapat diandalkan.
  2. Saya lebih suka memvalidasi terhadap doktip yang ketat untuk memastikan saya telah menutup semua elemen. Ini adalah cara mudah untuk menghindari kesalahan bersarang yang sederhana namun memakan waktu. Dengan HTML 5 Anda tidak perlu menutup elemen Anda, jadi tidak ada cara untuk menemukan tag yang tidak cocok.
Mediascreen
sumber
Itu benar, itulah sebabnya Anda ingin mencari pemeriksa html lint: lint.brihten.com/html/help bukan hanya validator.
Kzqai
1

jika Anda akan menggunakan DOCTYPE, bereksperimen dengan fitur. Selama mereka tidak masuk ke lokasi produksi, dan Anda mengujinya dengan seksama, lakukanlah.

helloandre
sumber
1

Pertimbangkan audiens Anda dan kebutuhan Anda. Saya menulis halaman seperti tes kelas dengan target siswa di kursus saya yang menggunakan FireFox 3 di laboratorium komputer yang dilengkapi Ubuntu. Saya perlu SVG dengan MathMl tertanam sebagai foreignObject di SVG. Saya menggunakan doctype HTML5 dan tag HTML5 baru secara bebas.


sumber
0

Bagi siapa pun yang menemukan ini. Bagan di http://hsivonen.iki.fi/doctype/menunjukkan berbagai mode rendering yang digunakan berbagai browser, tergantung pada deklarasi DOCTYPE yang digunakan. Ini memberi Anda ide bagus tentang cara kerja switching DOCTYPE.

Faraz Kelhini
sumber
-16

Secara pribadi saya akan mengatakan tidak. Tidak ada manfaat yang jelas untuk HTML5 dan bahkan akan mengatakan bahwa semuanya gagal sejak awal.

Memiliki tag khusus untuk header, footer, dan sidebar adalah kesalahan besar - Anda sudah mendapatkannya dalam bentuk tag (div) dan nama (kelas / id). Mengapa kita membutuhkan spesialis? XHTML1.1 cukup bagus, titik. Faktanya, karena sebagian besar browser tidak mendukung HTML4 dengan benar, ada sedikit gunanya menggunakan doctype yang akan memakan waktu bertahun-tahun untuk mendapatkan dukungan yang tepat.

graham.reeds
sumber
10
Ini tentang semantik. Anda bisa dengan sempurna menyingkirkan hampir setiap tag tunggal dalam HTML dan hanya menggunakan atribut div, span, dan style / class. Tetapi Anda menghapus semua nilai semantik dari dokumen dengan melakukannya.
Laurent
2
Pikirkan betapa bermanfaatnya itu untuk mesin pencari.
Leo Jweda
@Laurent: Jadi jika saya ingin header sekarang menjadi sidebar, saya harus melalui semua css saya dan markup beralih di sekitar karena itu tidak lagi benar secara semantik? Tidak. Buatlah div, sebut saja apa yang dilakukannya dan gunakan sesuai keinginan Anda. @Laith: Dalam hal apa akan baik untuk mesin pencari?
graham.reeds
Kanvas: Ingin menggunakannya? Kamu tidak bisa Atau Anda bisa, tetapi sekarang Anda berada di tanah pemrograman yang ditargetkan. Yang bukan titik standar.
graham.reeds
3
"Jadikan itu sebagai div, sebut saja apa yang dilakukannya dan gunakan sesukamu." - Benar sekali. Saat Anda melakukannya, lakukan hal yang sama untuk semua paragraf dan daftar Anda. Bagaimana cara saya mengetik sarcmark di sini.
Paul D. Waite