Plus, I don't think the spec should say any more about
how to deal with illegal documents than it already does.
The problem is that the spec does say something already in a way
that may result in ambiguity regarding the HEAD/BODY distinction.
Namely, it says (under Undeclared Markup Error Handling):
"markup in the form of a start-tag or end-tag, whose generic
identifier is not declared, is mapped to nothing during tokenization"
If one implements this literally, then an unknown tag which appears
in HEAD should not cause an implicit termination of HEAD if it is an
empty element; however, if it contains character content, then it is
unclear whether or not one should treat that content as an initiation
of BODY or not. The problem is that the RFC does not explicitly say
how to treat character content found in HEAD. If the RFC stated that
no character content may appear in HEAD, then it would be clear that
HEAD should be terminated upon encountering such content.
I think the RFC should be improved in this area to provide recommendations
about appropriate UA behavior.
Glenn