Documenting the Web vs. reinventing it
Ian Hickson, the editor of the current HTML5 draft, posted an Error handling in URIs message to the uri@w3.org mailing list outlining some issues related to browser error handling behaviour for URIs, and to IRIs and character encodings other than UTF-8 — and asking, “Is there any chance that the URI and IRI specifications might get updated to handle these issues?”.
That posting and question spawned some spirited discussion, with messages from Julian Reschke, Anne van Kesteren, Tim Bray, John Cowan, Frank Ellermann, and Martin Duerst, and provoking some comments like the following one:
That’s kind of what I said already, and why I guess that HTML5 will never fly: It tries to reinvent the Web, if not the Internet.
…and from Ian to the above, the following response:
Actually we’re trying to not reinvent the Web, but to document it, so that browser vendors can write browsers that handle existing Web content in a fashion compatible with legacy UAs without reverse-engineering each other.
(It’s true that this is requiring defining things that are at odds with existing specifications, but that’s mostly because those specifications aren’t in fact in line with real usage…)
It's not an either/or between documenting and reinventing. HTML5 does a little of both. The Non-SGML, NON-XML parsing algorithm is an example of documenting the web. The new elements like header and footer are reinventing: current browsers will not know what these are. Using dt and dd for dialog is documenting, but wrapping them in a dialog element is reinventing.
I think more could be done in HTML5 for backwards-compatibility. For example, if instead of a new header element, we used <div role="header">, it would be understood as a div by current user agents and would additionally be understood as a header by new UAs.
Liam: I'd say it's "inventing" not "reinventing" -- reinventing implies replacement, as opposed to incremental addition.