HTML adalah bahasa universal untuk menerbitkan hypertext di World Wide Web [1]. Sejak tahun 1982 ketika Tim Berners-Lee menyederhanakan SGML untuk menetapkan definisi asli HTML hingga dirilisnya spesifikasi XHTML1.1 pada tahun 2001, HTML telah menjadi standar internasional dengan berbagai versi [2]. Setiap versi spesifikasi didefinisikan dalam bahasa yang dapat dibaca mesin, yang menjelaskan struktur hukum, elemen dan atribut. Ini adalah Definisi Tipe Dokumen (DTD).
DTD menjelaskan deklarasi tipe dokumen (deklarasi DTD, disebut doctype[3]) yang terletak di depan dokumen HTML. Misalnya, doctype HTML4.01 Strict adalah:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd ">
Ini menunjukkan versi HTML yang digunakan oleh dokumen, yang merupakan informasi terpenting yang dibutuhkan alat seperti browser saat menguraikan dokumen. Misalnya, alat validasi W3C dapat menggunakannya untuk memeriksa sintaksis dan menunjukkan kesalahan.
Penerapan standar yang salah pada browser awal, penyebaran ekstensi pribadi, dan kebingungan standar awal itu sendiri untuk kompatibilitas ke depan mengakibatkan dokumen pada saat itu tidak memiliki doctypes atau referensi langsung ke DTD, yang juga mempersulit penerapan standar baru. . memperoleh adopsi dan popularitas karena browser tidak dapat membedakannya. Untuk menangani halaman web yang dibuat menurut standar Web dan halaman web yang dibuat menurut praktik lama, Todd Fahrner mengusulkan metode "muncul dengan sakelar" pada tahun 1998 [4], yang memungkinkan browser menyediakan dua set mode rendering : yaitu, dengan doctype yang lengkap, Dokumen diurai menggunakan standar W3C, jika tidak, dokumen tersebut diurai dengan cara lama.
Cara ini praktis, sederhana dan efektif. Dua tahun kemudian, ini pertama kali digunakan pada IE versi Mac, dan produsen browser lain segera mengadopsinya. Hal ini melahirkan doctype sniffing (doctype sniffing atau doctype switching). Browser menggunakannya untuk memutuskan apakah mesinnya harus mengadopsi mode standar, mode kuasi-standar, atau mode quirks, yang akan berdampak besar pada penguraian HTML dan CSS, tata letak CSS, dan skrip JavaScript [5]. Tidak ada keraguan bahwa kita harus menggunakan model standar semaksimal mungkin.
Meskipun HTML5 masih dalam tahap rancangan, browser terbaru Firefox3.5, Chrome2, Safari4 dan IE8 telah mulai mendukung beberapa fitur. Secara khusus, peluncuran Google Wave telah memicu kebangkitan baru dalam mempromosikan praktik HTML5. HTML5 tidak didasarkan pada SGML dan tidak memiliki DTD, tetapi demi kompatibilitas ke depan, ia menerima fakta mengendus doctype dan mendefinisikan bahwa doctype adalah satu-satunya pernyataan konversi mode dalam teks/html, dan tidak memiliki kegunaan lain. Doctype-nya sangat ringkas: <!doctype html>[6].
Perlu disebutkan bahwa IE8 mengadopsi pernyataan Kompatibel dengan X-UA [7] untuk menyelesaikan kompatibilitas ke depan. Akibatnya, mode rendering browser di IE8 tidak hanya bergantung pada doctype sniffing tetapi juga pada pernyataan Kompatibel dengan X-UA Tidak hanya membuat penilaian pola menjadi lebih kompleks [8], tetapi juga melanggar gagasan peningkatan progresif dalam desain web [9].
Dalam perjalanan menuju standar web, kita tidak hanya membutuhkan kompatibilitas ke depan yang penuh realisme, tetapi juga kompatibilitas ke belakang yang penuh idealisme. Hal ini merupakan harapan untuk memastikan bahwa web kita dapat berfungsi dengan baik di masa depan. Berdasarkan gagasan standar, kesederhanaan, dan peningkatan bertahap, solusi terbaik untuk halaman kami saat ini adalah:
<!doctype html> … <meta http-equiv="Kompatibel dengan X-UA" content="IE=Edge"> …
Catatan:
[1] HTML adalah lingua franca untuk menerbitkan hypertext di Dunia
Jaringan Luas
[2] http://zh.wikipedia.org/wiki/Html
[3] Deklarasi DTD sering disebut Deklarasi Jenis Dokumen pada spesifikasi sebelumnya.
Sangat mudah untuk bingung dengan DTD.
[4] http://web.archive.org/web/20030212115103/http://www.geocrawler.
com/archives/list-name.mbox/123/1998/7/0/1037920/
[5]Aktifkan mode browser dengan doctype
[6] http://www.w3.org/TR/html5/syntax.html#the-doctype
[7] Selain tipe dokumen, standardisasi web juga kompatibel dengan IE8
[8] http://dancewithnet.com/2009/06/14/activating-browser-modes
-dengan-doctype/#ie8modes
[9] Apakah masa depan standar web bergantung pada teknologi browser?
Teks asli: http://ued.koubei.com/?p=928