body 要素

4.3.1 body 要素

カテゴリー:
セクショニング・ルート
この要素を使うことができるコンテキスト:
html 要素の 2 番目の子として
コンテントモデル:
フロー・コンテント
コンテント属性:
グローバル属性
onafterprint
onbeforeprint
onbeforeunload
onhashchange
onmessage
onoffline
ononline
onpagehide
onpageshow
onpopstate
onstorage
onunload
text/html におけるタグの省略:
body 要素の開始タグは、その要素が空、または、その body 要素の中の最初のものがスペース文字でもコメントでもないなら、省略することができます。ただし、その body 要素の中の最初のものが meta, link, script, style, template 要素の場合は除きます。
body 要素の終了タグは、その body 要素の直後がコメントでないなら、省略することができます。
指定可能な ARIA role 属性 の値:
document ロール (デフォルト - 指定不要), application.
指定可能な ARIA ステートとプロパティ属性:
グローバル aria-* 属性
許可ロールに該当する aria-* 属性
DOM インタフェース:
interface HTMLBodyElement : HTMLElement {
};
HTMLBodyElement implements WindowEventHandlers;

body 要素は、ドキュメントのコンテンツを表します。

準拠ドキュメントでは、body 要素はひとつだけです。document.body IDL 属性によって、スクリプトからドキュメントの body 要素に簡単にアクセスすることができます。

いくつかのDOMの操作は、"body 要素" を単位として定義されます。これは、用語の定義の通り、DOM の特定の要素を参照するもので、任意の body 要素ではありません。

body 要素は、多くの Window オブジェクトのイベントハンドラに、イベントハンドラ・コンテント属性としてアクセスできるようにします。それは、また、イベントハンドラ IDL 属性を正確に映し出します。

Window オブジェクトの onblur, onerror, onfocus, onload, onresize, onscroll イベントハンドラは、body 要素を通してアクセスできますが、HTML 要素によって通常にサポートされる同じ名前を持った一般的なイベントハンドラとまったく同じです。

ゆえに、たとえば、Documentbody 要素の子で送出されたバブリングする error イベントは、その要素の onerror イベントハンドラ・コンテント属性を最初に呼び出すでしょう。それから、ルートの html 要素に行き、さらに、その後で、body 要素の onerror イベントハンドラ・コンテント属性を呼び出すでしょう。これは、このイベントはターゲットからバブリングするからです。body へ、html へ、Document へ、Window へ向かいます。bodyイベントハンドラは、body ではなく Window を監視しているのです。しかし、addEventListener() を使って body にアタッチされた正式なイベントリスナーは、そのイベントがバブリングで body を通過したときに実行されるでしょう。それが Window オブジェクトに到達したときではありません。

このページは、ユーザーがオンラインかそうでないかを表示するためのインジケータを更新します:

<!DOCTYPE HTML>
<html>
 <head>
  <title>オンラインそれともオフライン?</title>
  <script>
   function update(online) {
     document.getElementById('status').textContent =
       online ? 'オンライン' : 'オフライン';
   }
  </script>
 </head>
 <body ononline="update(true)"
       onoffline="update(false)"
       onload="update(navigator.onLine)">
  <p>あなたは: <span id="status">(不明)</span></p>
 </body>
</html>

※ 原文:http://www.w3.org/TR/2014/REC-html5-20141028/sections.html#the-body-element