doctype

Installation
SKILL.md

Use the HTML5 doctype

Without the HTML5 doctype, browsers fall back to Quirks Mode, which emulates the rendering behavior of pre-standards browsers from the late 1990s. In Quirks Mode, the CSS box model changes (padding adds to element width), vertical centering breaks, and many modern HTML5 APIs may behave unexpectedly. This causes cross-browser rendering inconsistencies that are difficult to debug and may produce inaccessible layouts.

Quick Reference

  • Every HTML document must begin with <!DOCTYPE html> as its very first line
  • Without a doctype, browsers enter Quirks Mode — a legacy compatibility mode with inconsistent CSS and JavaScript behavior
  • The HTML5 doctype is case-insensitive but <!DOCTYPE html> (uppercase DOCTYPE) is the conventional form
  • No other content, not even whitespace or BOM characters, should appear before the doctype
  • Frameworks like Next.js, Nuxt, and Remix automatically include the doctype — verify in rendered HTML, not source templates

Check

Check the very first line of the HTML document source (not the DOM — the raw HTTP response). The document must begin with <!DOCTYPE html> (case-insensitive). Flag if: (1) the doctype is missing entirely; (2) an old HTML4 or XHTML doctype is used (contains PUBLIC and a DTD URL); (3) the doctype is not the absolute first content (whitespace or BOM before it triggers some browsers to enter Quirks Mode); (4) the doctype has incorrect syntax.

Fix

Add <!DOCTYPE html> as the absolute first line of the HTML document, before the <html> tag. Remove any old HTML4 or XHTML doctypes. Ensure no whitespace, comments, or BOM markers precede the doctype. For framework projects: verify in the root HTML template file, and confirm in the rendered HTML by viewing page source in the browser.

Installs
1
GitHub Stars
73.2K
First Seen
Jun 29, 2026
doctype — thedaviddias/frontendchecklist