Memang benar bahwa spesifikasi HTML mengizinkan tag tertentu untuk dihilangkan dalam kasus tertentu, tetapi secara umum melakukannya tidak bijaksana.
Ini memiliki dua efek - itu membuat spec lebih kompleks, yang pada gilirannya membuat penulis browser lebih sulit untuk menulis implementasi yang benar (seperti yang ditunjukkan oleh IE yang salah).
Ini membuat kemungkinan kesalahan peramban di bagian-bagian spesifikasi ini tinggi. Sebagai penulis situs web, Anda dapat menghindari masalah dengan memasukkan tag ini - jadi sementara spek tidak mengatakan Anda harus melakukannya, hal itu mengurangi kemungkinan terjadi kesalahan, yang merupakan praktik rekayasa yang baik.
Terlebih lagi, spesifikasi HTML 5.1 WG terbaru saat ini mengatakan (perlu diingat ini adalah pekerjaan yang sedang berlangsung dan mungkin akan berubah).
Tag awal elemen tubuh dapat dihilangkan jika elemen kosong, atau jika hal pertama di dalam elemen tubuh bukan karakter spasi atau komentar, kecuali jika hal pertama di dalam elemen tubuh adalah meta, tautan, skrip, gaya , atau elemen templat.
http://www.w3.org/html/wg/drafts/html/master/sections.html#the-body-element
Ini agak halus. Anda dapat menghilangkan body dan head, dan browser kemudian akan menyimpulkan di mana elemen-elemen itu harus dimasukkan. Ini membawa risiko tidak eksplisit, yang dapat menyebabkan kebingungan.
Jadi ini
<html>
<h1>hello</h1>
<script ... >
...
menghasilkan elemen skrip menjadi anak dari elemen tubuh, tapi ini
<html>
<script ... >
<h1>hello</h1>
akan menghasilkan tag skrip menjadi anak dari elemen kepala.
Anda bisa eksplisit dengan melakukan ini
<html>
<body>
<script ... >
<h1>hello</h1>
dan kemudian yang mana pun yang Anda miliki pertama kali, skrip atau h1, keduanya akan, diprediksi muncul di elemen tubuh. Ini adalah hal-hal yang mudah diabaikan saat melakukan refactoring dan debugging kode. (misalnya, Anda memiliki JS yang mencari elemen skrip 1 di badan - di cuplikan kedua ia akan berhenti berfungsi).
Sebagai aturan umum, menjadi eksplisit tentang hal-hal selalu lebih baik daripada membiarkan hal-hal terbuka untuk interpretasi. Dalam hal ini XHTML lebih baik karena memaksa Anda untuk sepenuhnya eksplisit tentang struktur elemen Anda dalam kode Anda, yang membuatnya lebih sederhana, dan karenanya kurang rentan terhadap salah tafsir.
Jadi ya, Anda dapat menghilangkannya dan secara teknis valid, tetapi umumnya tidak bijaksana untuk melakukannya.
title
tag. Ini adalah dokumen terkecil yang dianggap sah:<!DOCTYPE html> <title>A</title>