The Two HTML Specs

April 2020 note: Hi! Just a quick note to say that this post is pretty old, and might contain outdated advice or links. We're keeping it online, but recommend that you check newer posts to see if there's a better approach.

I recently posted some news on the picture proposal based on Florian Rivoal’s suggested compromise: namely, that the picture element is being considered for inclusion as a part of HTML5.

This is exciting news, but the details seem to be causing a bit of confusion: in particular, the difference between being considered a part of “HTML5” versus a part of “HTML.next.”

The short explanation is that there are two HTML specifications. One is versioned as “HTML5”/“HTML.next” and managed by the W3C (specifically, the W3C’s HTML Working Group) and the other is the non-versioned “living standard” specification, managed by the WHATWG.

…there are two specs now, the WHATWG HTML spec and the W3C HTML5 spec, and they are independent.

Ian Hickson

#WHATWG IRC Channel

At face value, this seems like a potentially terrifying development in the world of web standards. With two disparate specs, we would be forever left wondering which standard is the standard. If two browsers were to implement the same feature per differing specs, we could be facing a scenario hauntingly similar to the “Netscape vs. IE” situation of yesteryear.

Fortunately, the two teams have assured me that (at least, on paper) this isn’t the case. They’ve stated that they plan to work on HTML in parallel and coordinate their efforts. The WHATWG will continue to work on adding new features and improving aspects of the HTML “living standard.” In the meantime, the W3C will work on nailing down a stable and thoroughly-tested snapshot of the HTML living standard—including their own contributions—as “HTML5.” Newer and less stable features, elements, attributes, and APIs will be pushed to “HTML.next”, another upcoming snapshot of the living standard.

The HTML WG has chosen to help the Responsive Images Community Group publish a final draft specification of the markup codified in an early draft spec, and described in this news post. Given the amount of work that the developer community and browser representatives have already put into the picture markup pattern it’s likely that there won’t be any major barriers to a formal specification, and as such the HTML WG is considering the picture proposal as a part of the current HTML snapshot: HTML5. All this means is that picture would be likely to receive feedback and potentially—though not necessarily—native implementations more quickly than it would if it were moved to “HTML.next.”

However, the WHATWG is still in favor of the srcset approach, despite the fact that it only covers a use case equivalent to pixel-based max-width and max-height media queries and resolution switching, at this time. Ian Hickson in particular feels this approach will be sufficient for authors both today and in the future, due to a disagreement in the value of using ems in media queries, which is covered in-depth on the CloudFour blog.

It’s unclear what the conflicting standpoints of the WHATWG and the W3C will mean for an “adaptive images” element. Where the WHATWG is comprised entirely of browser representatives, they’ve stated outright that “their” spec is the one most likely to see real-world implementations right away. In the meantime, the RICG is working with multiple vendors on native implementations of the picture markup pattern. In the end, it may just be that the first native implementation takes it—or that this is where we authors finally have our say in the standards process, eschewing one approach in favor of the other.

In either case, the upcoming discussion will benefit from thoughtful and informed participation by the developer community. We encourage all to participate in the discussion, review our progress, and weigh in on the direction the specification takes.

All blog posts