On 2010-06-04 22:03, Tab Atkins Jr. wrote:
On Fri, Jun 4, 2010 at 12:58 PM, Roger Hågensen<resca...@emsai.net>  wrote:
...
As you can see the aside is outside the body, all latest browsers seem to
handle this pretty fine.
http://validator.w3.org/ on the other hand gives the error " Line 12, Column
6: body start tag found but the body element is already open.<body>"

Now, either that is a bug in the validator, or the body is automatic.
And sure enough, removing the<body>  and</body>  tags the document
validates, and none of the browsers behave differently at all.
Is the body tag optional or could even be redundant in HTML5 ?
<body>  is optional.  It automatically gets added as soon as the parser
sees an element that doesn't belong in the<head>.  (The<head>  is
optional too, as is the<html>.)  So the<aside>  triggers a<body>
element to be created and opened, and then later explicit<body>  tags
get dropped.
I don't mind really, as currently I only use body to put all the "other"
tags inside, so not having to use the body tag at all would be welcome,
though I suspect a lot of legacy things rely on the body tag.
No browser depends on you using the<body>  element explicitly.  It's
perfectly fine to write your document like this:

<!doctype html>
<title>Test</title>
<style>
   aside {border:1px solid #bf0000;white-space:nowrap;}
</style>
<aside>
   Just testing aside outside body!
</aside>
<article>
   Main part of article.
</article>

The<title>  and<style>  get auto-wrapped in a<head>, the<aside>  and
<article>  get auto-wrapped in a<body>, and the whole thing below the
doctype gets auto-wrapped in an<html>.

Hmm! Intriguing. That is way cleaner than the "container" wrappers.
What browsers/engines behaves like that?
Does all HTML 4.01+ compliant browsers behave like this?

Roger.

--
Roger "Rescator" Hågensen.
Freelancer - http://EmSai.net/

Reply via email to