Major content model changes in HTML5 (and Validator.nu)
The HTML5 content models became more lax in December in response to feedback from various people who found the stricter content model—especially the bimorphic content model of div
—unhelpful. The notions “strictly inline content”, “structured inline content”, “block content” and “block or inline content but not both” (aka. bimorphic) are now gone.
The elements formerly known as inline are now phrasing elements in order to make a distinction with the display: inline;
CSS property. Content models that previously accepted only block content or either block or inline but not both now accept both. Phrasing content and content formerly known as block content are now prose content when taken together. The practical effect is that the conformance requirements became closer to HTML 4.01 Transitional than Strict; the former requirement for strictness turned out to be hard to justify in face of actual authoring patterns and browser support for those authoring patterns.
The content model changes are now also reflected in Validator.nu. There are some known differences from the spec, though:
<style scoped>
support is broken due to spec ambiguity.<font>
is not supported. The draft says the element will likely be dropped.- Nested
<menu>
elements are not supported due to implementability issues with the current spec text. - Data templates are not supported. The draft is annotated with a note saying they are being considered for removal.
style='…'
is supported on all elements.