This means that document text must be an element of a block container. The most common error is:
<HTML> <BODY> Give me liberty, or give me death! </BODY> </HTML>
To be valid in strict mode, this could be:
<HTML> <BODY> <P>Give me liberty, or give me death!</P> </BODY> </HTML>
Here's a list of block containters for HTML 2.0:
<P>|<BLOCKQUOTE>|<PRE>
<DL>|<UL>|<OL>
<FORM>
<ISINDEX>
Here's a additional list of container elements for HTML 3.0:
<TABLE>
<FIG>
<NOTE>
<BQ>
This includes elements such as <XMP> and <LISTING>.
This includes elements such as <B>, <CODE>, and <IMG>.
This excludes elements such as <H1>-<H6>, <BLOCKQUOTE>, and <P>.
For example, this is not valid in strict mode:
<A HREF="foo.html"><H1>Foo is best!</H1></A>
To be valid, write it like this:
<H1><A HREF="foo.html">Foo is best!</A></H1>
For example, this is not valid HTML in strict mode:
<A HREF="12">Chapter 12</A>
This is an example of a valid anchor name specification:
<A HREF="Chap12">Chapter 12</A>