Rozważ to:
Gdy służysz jako tekst / html, wszystko, czego potrzebujesz, to aby uruchomić tryb standardów. Poza tym doctype nie robi nic, jeśli chodzi o przeglądarki.
Podczas udostępniania jako tekst / html, niezależnie od tego, czy używasz znaczników XHTML, czy HTML, jest on traktowany przez przeglądarki jako HTML.
Tak naprawdę sprowadza się to do użycia najkrótszego typu dokumentu, który uruchamia tryb standardów (<! DOCTYPE html>) i użycia znaczników HTML, które dają poprawny wynik w przeglądarkach.
Reszta dotyczy zgodności, walidacji i preferencji znaczników.
Mając to na uwadze, używanie <! DOCTYPE html> teraz i próba dostosowania znaczników do HTML5 nie jest złym pomysłem, o ile trzymasz się stabilnych funkcji, które teraz działają w przeglądarkach. Nie użyłbyś niczego w HTML4 lub XHTML 1.x, co nie działa w przeglądarkach, prawda?
Innymi słowy, używasz <! DOCTYPE html> ze znacznikami podobnymi do HTML4, jednocześnie honorując rzeczy, które zostały wyjaśnione w HTML5. W HTML5 chodzi w końcu o kompatybilność przeglądarek.
Wadą korzystania z HTML5 jest teraz to, że specyfikacja może się zmieniać dość często. Dlatego ważne jest, abyś był na bieżąco ze specyfikacją, która aktywnie się zmienia. Również http://validator.nu/ może nie zawsze być aktualny, ale http://validator.w3.org/ nie zawsze jest aktualny, więc nie pozwól, aby Cię to powstrzymało.
Oczywiście, jeśli chcesz używać znaczników XHTML 1.0 i być zgodnym z XHTML 1.0, nie powinieneś używać <! DOCTYPE html>.
Osobiście zawsze używam <! DOCTYPE html> dla HTML.