The Web 1.0 Specification

2026 Edition - the whole thing, on one page

Certified Web 1.0 is a conformance standard for websites that respect their visitors: no scripts, no surveillance, no third parties, no bloat. HTML and CSS only. A conforming site sets no cookies and sends nothing to third parties, so it has no need for a cookie banner.

Conformance is assessed per page. Faults are classified as major or minor: a major fault fails the page outright, minor faults accumulate. A site's grade is the grade of its worst page. The canonical text of this specification lives in the web10-checker repository as SPEC.md; this page mirrors it.

Major faults

Major faults are counted once per rule per page: having JavaScript is one fault, however many scripts you have. Occurrences are listed in the report.

IDFaultDefinition
JS-01JavaScript Any <script> element (inline or external), any on* event-handler attribute, any javascript: URL, or any <link> that preloads a script.
TP-01Third-party request Any resource (script, stylesheet, image, font, media, frame, preload) referenced from outside the page's own site. Two hosts are the same site if they share a registrable domain: www.example.com and images.example.com are the same site; example.com and cdn.example.net are not. Discovered in HTML and in first-party CSS.
CK-01Cookies Any Set-Cookie header on the page or on any first-party resource.
WT-01Excessive transfer Total first-party transfer (page plus all first-party resources) exceeds 2 MB.
AV-01Autoplay Any <video> or <audio> element with the autoplay attribute.

Minor faults

Minor faults are counted per occurrence, capped at 3 per rule per page.

IDFaultDefinition
HY-01Missing doctype No <!DOCTYPE html>.
HY-02Missing title No <title>, or an empty one.
HY-03Missing language No lang attribute on <html>.
HY-04Missing charset No character-encoding declaration (<meta charset> or equivalent).
HY-05Missing alt text An <img> without an alt attribute.
FT-01Web fonts Any @font-face in first-party CSS.
WT-02High transfer Total first-party transfer exceeds 512 KB.
RQ-01Excessive requests More than 20 resource requests for a single page.
FR-01First-party frame An <iframe> pointing at the page's own origin. (Third-party frames are TP-01, which is major.)

Grades

GradeCriteriaResult
ANo majors, no minors Pass
BNo majors, 1–4 minors Pass
CNo majors, 5–9 minors Pass
DExactly 1 major, fewer than 10 minors Fail
F2+ majors, or 10+ minors Fail

Grades A–C are a pass and may display the Certified Web 1.0 badge for the year of certification. Grades D and F are a fail.

Scope and method

Conformance is testable externally: fetch the page, parse the HTML, fetch first-party CSS, and enumerate referenced resources. No script execution is required. The checker never fetches third-party resources; their presence alone is the fault, and transfer weight counts first-party bytes only, measured uncompressed. Media files on <video> or <audio> elements marked preload="none" are exempt from transfer weight - they are fetched only when a visitor chooses to play them, so a conforming page may host large media. They still count as requests, and posters still count as weight. <noscript> content is ignored: it is what a conforming visitor sees anyway. When checking a local directory before deployment, any absolute http(s) reference is treated as third-party.

Versioning

This is the 2026 Edition. The badge shows the year it was earned, and a certification applies to that year only. Substantive rule changes require a new edition.