The biggest mistake associated with the HTML5 specification is also the only mistake that can’t be corrected: the charter. The charter allowed the group to create an HTML and XHTML serialization, as well as an associated DOM. Unfortunately, the interpretation of this charter was such that all three tasks have been combined in one document, and that’s been a problem with both scope and audience, ever since.
In the past, the HTML document has been separate from the XHTML serialization, and from the Document Object Models. By being separate, the documents are kept small, and the audience is well defined. A web page author or designer would feel comfortable reading the HTML4 document, directly, and not be confronted with material focused at web developers, or worse, User Agent developers.
We in the HTML WG know this, and seemingly don’t. We’ll include any amount of author information in the HTML5 specification on the one hand, but on the other, make statements about how the web page authors won’t actually read the document—they’ll go to some tutorial or guide. We seem to have a difficult time making up our mind as to the HTML5 spec’s audience.
I think we’ve gone beyond being able to split the HTML, XHTML, and DOM into separate specifications. Unfortunate. Our next best option is to ensure that whatever is in the specification is only related to HTML, XHTML, and the DOM. We can start by splitting out the User Agent specific material, currently included in Sections 5 and 6, as we split out Microdata and the Canvas 2D API.
If we’re successful in splitting out the browsing context, a second step is to consider moving out much of the author guidelines into a separate specification. This would allow us to expand on these guidelines, while also helping to trim the 600 or so pages that currently make up the HTML 5 specification.
Of course, this isn’t going to work while the HTML5 spec and most of the split off sections are still controlled by one person. This is an unhealthy situation. A situation that, unfortunately, can’t be fixed by filing a bug, or raising an issue.