HTML adalah bahasa umum untuk menerbitkan hypertext di World Wide Web [1]. Dari tahun 1982, Tim Berners-Lee menyederhanakan definisi asli SGML hingga rilis spesifikasi XHTML1.1 pada tahun 2001, HTML telah menjadi standar internasional dengan beberapa versi [2]. Spesifikasi setiap versi didefinisikan dalam bahasa yang dapat dibaca mesin yang menggambarkan struktur hukum, elemen dan atribut, yang merupakan definisi jenis dokumen, yang disebut sebagai DTD.
Artikel Terkait: Pembelajaran Kode HTML: Singkatan dari Doctype
DTD menjelaskan Deklarasi Jenis Dokumen (Deklarasi DTD, disebut sebagai Doctype [3]) di bagian depan dokumen HTML. Ini adalah dokumen kontak dan arahan DTD. Misalnya, Doctype dari HTML4.01 ketat adalah:
<!doctype html public -//w3c//dtd html 4.01//en http://www.w3.org/tr/html4/strict.dtd>Ini menentukan versi HTML dari dokumen, yang merupakan informasi yang paling dibutuhkan ketika alat seperti browser mem -parsing dokumen. Misalnya, alat verifikasi W3C dapat memeriksa sintaks dan menunjukkan kesalahan berdasarkan itu.
Implementasi kesalahan browser awal dari standar, sejumlah besar ekstensi pribadi, kebingungan standar awal itu sendiri, dll., Mengarah pada dokumen pada waktu itu tidak ada dokter maupun referensi langsung ke DTD, dan juga menyulitkan standar baru untuk diterapkan dan dipopulerkan karena browser tidak dapat membedakannya. Untuk menangani halaman web yang dibuat sesuai dengan standar web dan halaman web yang dibuat sesuai dengan praktik yang sudah ketinggalan zaman, Todd Fahrner mengusulkan yang muncul dengan metode sakelar pada tahun 1998, yang memungkinkan browser untuk menyediakan dua set mode rendering: yaitu, ada dokumen DOCTYPE yang digunakan untuk meneluk -nabut dengan menggunakan standar W3C, jika tidak, ini adalah pars yang dijumpai.
Metode ini praktis dan sederhana dan efektif. Dua tahun kemudian, pertama kali digunakan pada versi Mac dari IE, dan segera produsen browser lainnya mengadopsinya, yang melahirkan sniffing Doctype (sniffing Doctype atau switching Doctype). Browser menggunakannya untuk memutuskan apakah mesinnya harus mengadopsi mode standar, mode kuasi-standar atau mode quirk, yang akan memiliki dampak yang sangat besar pada penguraian HTML dan CSS, tata letak CSS dan skrip JavaScript [5]. Tidak ada keraguan bahwa kita harus mengadopsi model standar sebanyak mungkin.
Meskipun HTML5 masih dalam draft, browser terbaru Firefox3.5, Chrome2, Safari4 dan IE8 telah mulai mendukung beberapa fitur, terutama rilis Google Wave telah memicu klimaks baru dalam mempromosikan praktik HTML5. HTML5 tidak didasarkan pada SGML juga tidak memiliki DTD, tetapi untuk kompatibilitas ke depan ia menerima fakta bahwa Doctype mengendus, mendefinisikan bahwa Doctype adalah satu -satunya deklarasi konversi mode dalam teks/html, kecuali bahwa itu tidak ada gunanya. Dokternya sangat ringkas: <! Doctype html> [6].
Perlu disebutkan bahwa untuk menyelesaikan masalah kompatibilitas ke depan, IE8 mengadopsi deklarasi yang kompatibel dengan X-AA [7], yang mengarah pada mode rendering browser di IE8 yang tidak hanya tergantung pada sniffing Doctype tetapi juga pada deklarasi yang kompatibel dengan X-AA. Ini tidak hanya mengarah pada penilaian pola yang lebih kompleks [8], tetapi juga melanggar gagasan peningkatan progresif dari desain web [9].
Di jalan menuju standar web, kita tidak hanya perlu ke depan kompatibilitas dengan realisme, tetapi juga kompatibilitas mundur dengan idealisme. Ini adalah harapan untuk memastikan bahwa web kita dapat bekerja secara normal di masa depan. Dengan gagasan standar, kesederhanaan, dan peningkatan secara bertahap, solusi terbaik untuk halaman kami sekarang mungkin:
<!doctype html>…<meta http-equiv=x-ua-compatible content=ie=edge>…Catatan: