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
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 em
s 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.