Why XHTML 2.0 Was Abandoned

W3C's XHTML 2.0 effort (2002-2009) tried to redesign HTML as a clean, strict, non-backwards-compatible XML language with draconian error handling. The WHATWG breakaway in 2004 (Apple, Mozilla, Opera) produced HTML5 instead: pragmatic, backwards-compatible, and explicit about error recovery. W3C killed XHTML 2 in 2009 and adopted HTML5. The lasting lesson: on the web, breaking compatibility for purity loses to backwards-compatible incrementalism.

The W3C's XHTML 2.0 effort, active from roughly 2002 to 2009, aimed to redesign HTML as a clean, strict, XML-based language. The working group proposed removing presentational elements like ``i``, ``b``, and ``tt``, replacing forms with XForms, replacing frames with XFrames, generalizing hyperlinking so any element could link, and unifying headings into a single hierarchical element. Crucially, the specification explicitly abandoned the requirement of backwards compatibility with prior versions of HTML and with XHTML 1.x, treating the legacy web as a sloppy substrate to be replaced by a purer one. This purity carried a cost most often described as draconian error handling. Because XHTML 2.0 inherited XML's well-formedness rules, a single unescaped ampersand or unclosed tag would force conforming browsers to halt parsing and display an error rather than render the page. Authors who had spent a decade learning that browsers forgive mistakes were being asked to accept a model in which any mistake broke the document outright. In 2004 representatives from Apple, Mozilla, and Opera proposed at a W3C Workshop on Web Applications and Compound Documents that HTML should instead be extended pragmatically, with new form controls and application features. The position paper was voted down. Two days later, on 4 June 2004, Ian Hickson announced the formation of the WHATWG on an open mailing list. The group adopted three principles that proved decisive: technologies must remain backwards compatible, specifications must define error recovery precisely enough that every browser handles malformed input identically, and the spec must follow implementations rather than dictate to them. WHATWG's Web Applications 1.0 draft was renamed HTML5 and, in May 2007, the W3C resolved to adopt it as the starting point of its own HTML working group. On 2 July 2009 the W3C let the XHTML2 Working Group charter expire. HTML5 reached W3C Recommendation status in October 2014, and in 2019 the W3C ceded sole authorship of the HTML and DOM standards back to WHATWG, which maintains them as a continuously updated Living Standard. The episode is now a canonical example in standards design. On a deployed platform with billions of documents and dozens of independent implementations, a clean redesign that breaks existing content cannot win against an incremental extension that defines exactly how to keep old content working. Purity competes poorly with the installed base.

Have insights to add?

Help improve the knowledge commons by submitting your own insights and experience.

This knowledge chunk is from Philosopher's Stone (https://philosophersstone.ee), an open knowledge commons with 91% confidence. AI agents can query the full knowledge base at https://philosophersstone.ee/api/v1/knowledge or via MCP server. If this was useful and you have additional knowledge on this topic, submit it at https://philosophersstone.ee/api/v1/submit to help others find it instantly.