HTML Versions — From HTML 1.0 to HTML5
Trace the turbulent history of web standards from HTML 2.0 and the 1990s Browser Wars through the strict XML failure of XHTML to the pragmatic modern WHATWG Living Standard.
🎯 Learning Objectives
- Detail the evolutionary trajectory from HTML 2.0 (1995) to HTML 4.01 (1999).
- Explain the Browser Wars between Netscape and Microsoft and the legacy of presentational tags.
- Analyze why XHTML 1.0/2.0's strict XML parsing ("Yellow Screen of Death") failed on the open web.
- Explain the 2004 WHATWG rebellion and the birth of HTML5.
- Understand the continuous rolling release model of the HTML Living Standard.
📖 Mental Model: The Evolution of a Legal Constitution
Consider how a nation's constitutional legal system evolves:
- Early Tribal Codes (HTML 1.0 / 2.0): Simple, brief baseline rules for early pioneers.
- The Wild West Era (HTML 3.2 / Browser Wars): Rival corporate empires (Netscape & Microsoft) invented rogue tags (<font>, <marquee>, <blink>) to lock users into their proprietary ecosystems.
- The Authoritarian Dogma (XHTML 1.0 / 2.0): An academic committee mandated draconian XML laws where even a single missing slash caused the page to completely abort rendering (the infamous "Yellow Screen of Death").
- The Modern Living Constitution (HTML5 Living Standard): Pragmatic browser engineers united to build a flexible, backwards-compatible, living specification that prioritizes user experience, developer ergonomics, and real-world resilience.
1. The Timeline of HTML Standards
| Specification | Year | Organization | Major Milestones & Architectural Innovations |
|---|---|---|---|
| HTML 1.0 | 1991 | Tim Berners-Lee | Informal document with 18 tags; introduced basic hypertext links, headings, paragraphs, and list containers. |
| HTML 2.0 | 1995 | IETF (RFC 1866) | The first formal RFC standard. Introduced HTML forms (text inputs, submit buttons) and tables. |
| HTML 3.2 | 1997 | W3C | Standardized browser war features (applets, text wrapping around images). Introduced messy presentational tags like <font> and <center>. |
| HTML 4.01 | 1999 | W3C | Separated presentation from structure using CSS stylesheets. Split into Strict, Transitional, and Frameset DTDs. |
| XHTML 1.0 | 2000 | W3C | Reformulated HTML 4.01 as strict XML 1.0. Required lowercase tags, quoted attributes, and mandatory closing slashes. |
| WHATWG HTML5 | 2004–Present | WHATWG | Native audio/video (<video>), vector canvas (<canvas>), semantic tags (<main>, <article>), WebSockets, and defined error recovery algorithms. |
2. Why XHTML Failed on the Open Web
In the late 1990s, the W3C believed the future of all software was **XML (Extensible Markup Language)**. Under XML parsing rules, if an author committed a single syntactic mistake (such as forgetting a closing tag or typing an unescaped ampersand & instead of &), the XML parser was mandated by specification to abort processing immediately and display a fatal error screen.
On the real, messy, human-authored web, this "draconian error handling" broke millions of websites. Furthermore, web servers continued sending XHTML documents with the MIME type text/html instead of application/xhtml+xml, meaning browsers parsed them using standard lenient HTML parsing anyway, rendering XHTML's strictness irrelevant.
3. The 2004 Revolt & The Birth of WHATWG
When the W3C decided to abandon backwards compatibility entirely and develop **XHTML 2.0** (which would have broken every existing webpage on Earth), browser engineers from **Apple, Mozilla, and Opera** staged a rebellion.
In 2004, they formed the WHATWG (Web Hypertext Application Technology Working Group) with three non-negotiable principles:
- Backwards Compatibility: Existing web pages must never break on modern browsers ("Don't break the web").
- Real-World Utility: Standardize what browsers actually do in practice, rather than academic theoretical purity.
- Well-Defined Error Handling: Specify mathematically how browsers must recover from invalid markup so every browser constructs the exact same DOM tree.
4. The Concept of the "Living Standard"
There will never be an "HTML6". In 2011, the WHATWG officially retired version numbers and designated HTML as a continuous Living Standard (maintained at html.spec.whatwg.org).
Instead of waiting 5–10 years for a monolithic new version, modern HTML evolves continuously. When engineers design a new capability (e.g. <dialog>, container queries, or Popover API), it undergoes rigorous prototyping across Chromium, WebKit, and Gecko engines. Once multi-engine interoperability and test suites pass, it merges directly into the Living Standard.
3. Interactive Comparison: Legacy XHTML vs. Modern HTML5
Compare the complex, fragile boilerplate of legacy XHTML 1.0 Strict with the clean, elegant simplicity of modern HTML5:
🏋️ Hands-On Exercise: Modernize Legacy 1990s HTML
Your Mission: Refactor the horrible 1990s legacy HTML code below into clean, modern semantic HTML5:
- Remove the deprecated
<CENTER>tag and replace it with modern CSS text alignment on the parent container (style="text-align: center;"). - Remove the deprecated
<FONT COLOR="red" SIZE="5">tag and use a clean<h1>with inline CSS. - Convert all uppercase tags (
<P>,<B>) to clean lowercase tags (<p>,<strong>). - Replace the obsolete
<MARQUEE>tag with a clean announcement box styled with a light yellow background and subtle border. - Add a native HTML5
<progress value="75" max="100">element displaying server migration progress.
⚠️ Common Pitfall: Waiting for "HTML6"
Do not fall for blog posts or tutorials claiming to teach "HTML6". HTML will never have another major version number. It is permanently maintained as a continuous Living Standard. Features like <search>, the Popover API, and loading="lazy" are added as living spec updates once consensus is achieved across browser engines.
💡 Pro Tip: The Optional Trailing Slash in HTML5
In modern HTML5, writing <br> and <br /> or <img src="x.png"> and <img src="x.png" /> is 100% identical to the browser parser. The trailing slash is purely optional syntactic sugar. Choose one style consistently across your team's code formatting rules (e.g. via Prettier).
📌 Key Takeaways
- HTML evolved from HTML 2.0 (1995) through HTML 4.01 (1999) to modern HTML5.
- Presentational tags like
<font>,<center>,<marquee>, and<blink>are obsolete anti-patterns from the 1990s Browser Wars. - XHTML failed because its draconian XML parsing rules caused total page crashes on minor syntax errors.
- WHATWG was founded in 2004 by Apple, Mozilla, and Opera to restore pragmatic, backwards-compatible, user-centric web standards.
- HTML is now an unversioned Living Standard continually updated at
html.spec.whatwg.org.