# HTML Validation Checklist

Use this checklist when checking whether HTML is clean enough to ship.

- The page starts with `<!doctype html>`.
- There is one root `html` element.
- The `html` element has a useful `lang` attribute.
- The `head` contains charset, viewport, title and description.
- Elements are properly nested.
- Void elements do not use closing tags.
- IDs are unique on the page.
- Class names describe purpose, not only appearance.
- Links and asset paths work.
- The W3C validator reports no serious structural errors.
- DevTools console does not show preventable HTML or asset errors.
- The page has been checked at mobile and desktop widths.
