In 1996, the W3C published its first CSS specification, which defined how browsers should calculate the width of an element on a page. The two browsers that most of the web ran on calculated it differently. They included padding and borders inside the declared width. The spec said those should be added outside it. A box you told to be 100 pixels wide would end up 122 pixels in a spec-compliant browser, once padding and borders were added on each side.
Who was wrong depends on when you start counting. The browsers shipped first. Millions of pages were built against their behavior. The spec described a world that didn't exist yet. But specs carry authority, and once the W3C said the browsers were wrong, they were wrong. Some designers deliberately chose the "incorrect" model anyway, because it matched how a physical box actually works. You don't measure a shipping container by its interior cavity.
And the commitment was already compounding. In March 2000, the development lead for IE 5 on the Mac introduced doctype switching: if a page included a modern DOCTYPE declaration, the browser rendered to spec; if the DOCTYPE was missing or outdated, it fell back to the old behavior. Mozilla adopted the same approach within weeks.
The toggle solved one problem and opened another. Now there were two rendering realities inside every browser, triggered by a document structure declaration that was never designed to carry information about presentation. And because some pages written in the old style did include DOCTYPEs, the binary split wasn't clean. Browsers eventually needed a third mode to handle the cases that fell between.
Two rendering paths require definition. Three require a specification. On July 5, 2012, the WHATWG published the first formal draft of the Quirks Mode Standard, documenting the specific deviations from standard rendering that browsers needed to maintain for legacy content. A workaround from 2000 had become a living standard maintained by Apple, Google, Mozilla, and Microsoft.
The spec's preamble contains a sentence worth sitting with:
"In hindsight, it would have been better to make the default CSS behavior be compatible with what the existing content relied on and providing opt-ins to different behavior."
Read that again. The standards body acknowledged, in its own specification, that the spec had been wrong and the browsers had been right. And then it kept going. It did not reverse the default. By 2012, the web had restructured itself around the toggle so thoroughly that the only viable path was to formalize the error with increasing precision. The tradeoff that had been implicit for twelve years was now explicit, written into a document that would require ongoing maintenance.
That maintenance is still active. When Chromium engineers recently considered removing a single narrow quirk affecting 0.01% of pages, the assessment was "high risk range." Meanwhile, CSS3 adopted the original "wrong" box model as an opt-in property, box-sizing: border-box, which most modern frameworks now set by default. The behavior the spec once called incorrect became the behavior the spec offered back.
The bug became a behavior. The behavior required a toggle. The toggle required a mode. The mode required a specification. The specification requires maintenance. At every stage, someone could have drawn the line. Nobody did, because the cost of breaking what existed always exceeded the cost of describing it precisely. That is how errors become architecture. Probably not for the last time.
Things to follow up on...
-
The vote that forked HTML: In 2004, a W3C workshop voted 8-to-11 against extending HTML in favor of XHTML, prompting Ian Hickson to form the WHATWG two days later — a decision Jay Hoffmann reconstructs in detail that shaped every browser shipping today.
-
MCP's compressed standards arc: The Model Context Protocol went from Anthropic's open-source release in November 2024 to Linux Foundation governance in thirteen months, compressing a standardization cycle that took the web over a decade into something closer to a year.
-
Agents hitting the legacy wall: Gartner predicts over 40% of agentic AI projects will fail by 2027 because enterprise systems lack the APIs and modular architectures agents require, a pattern Deloitte frames as fundamental infrastructure obstacles rather than AI shortcomings.
-
Security debt before innocence ends: MCP security researchers have already identified prompt injection, tool permission exploits, and lookalike tool attacks in the protocol, a pattern the World Economic Forum's recent governance analysis frames as interoperability outpacing safety by design.

