Hop step XHTML―ホップ ステップ XHTML

Section 7:構造モジュール(2)

 前節に引き続き,構造モジュールを解説する。WWW ページを“とにかく”作り始めるにはこれらは“おまじない”以上のものではなかったであろうが,ページのオーディエンスが増えてくると,これらは無視できない役割を持ってくる。

タイトル:title 要素

 head 要素は,文書のタイトルとして title 要素を必ず 1 つ含む。

内容モデル
#PCDATA
テキスト

title 要素の内容はテキストで,他の要素を含んではならない。すなわち,タイトルの強調などは許されない。ただし,タイトル文字列中にコメントをはさんだり,“&...;”のかたちの参照をしたりすることはできる。

 title 要素の例をあげておこう。以下には,アンパサンド「&」の参照が含まれている。

<title>Academic HTML -- HTML &amp; CSS Turorials</title>

以下は,誤った例である。下付きを表す sub 要素を含んでいる点が誤りである。

<title>The SiO<sub>2</sub> world</title>

 title 要素の属性は,次のとおり。

title 要素の属性
属性名属性値備考
国際化に関する属性

タイトルとユーザビリティ

 WWW ページ作成において,ユーザビリティ(使いやすさ)の観点から,テキストのつけ方は重要である。タイトルは,グラフィカルブラウザではウィンドウのタイトルバーに現れたり,印刷時にヘッダとして付されたりする。タイトルの性格からすると,大原則としてページの内容を簡潔に表すものをつけることは言うまでもない。

 WWW ページでは,サイト中での“現在位置”を把握することは難しい。サイトに何らかの構造がある場合は,それを反映させたタイトルをつけることも有効な手段である。たとえば,(タイトルが異常に長くならない範囲で)つねにサイト名を含ませる,階層構造を持つサイトはそれを反映させる,などの工夫が考えられる。

 さらに,サーチエンジンでの検索結果に,ほぼ間違いなくタイトルが現れることである。多くの場合,タイトルとともに抜粋(スニペット)が出力されるが,それでもタイトルはサーチエンジン利用者がそのページを訪れるか判断する重要な材料となる。ここでタイトルが適切に記述されていないと,利用者は検索結果を把握しづらくなる。また,サーチエンジンからサイト内のページを訪れる場合,これは必ずしもトップページではない。ここでサイトの中に“迷い込まされた”利用者に,どのようなサイトのどのようなページを閲覧しているのかを知らせるのにも,タイトルは大きな役割を果たすことになる。

本文:body 要素

 body 要素は,html 要素の内容として,head 要素に続いて現れ,文書の本文を示す。

内容モデル
(%Block.mix;)+
ブロック要素,ただし空ではいけない

 body 要素は,次の属性を持つ。

title 要素の属性
属性名属性値備考
コア属性
style 属性
国際化に関する属性
イベント属性
onloadスクリプト文書が読み込まれたときに実行されるスクリプト
onunloadスクリプト文書がアンロードされる(その文書から他の文書に移動する)ときに実行されるスクリプト

 onload 属性および onunload 属性については,スクリプトの項で述べることにする。

 body 要素には,基本的に,実際に出力させたい内容をテキストとして記述し,それをマークアップしていくのはご存じのとおりである。ここで,注意しなければならないことは,body 要素の内容モデルが“ブロック要素のみ”で,テキストおよびインライン要素を含んでいないことである。すなわち,body 要素に直接テキストを書いてはならず,必ずブロック要素(の下位要素として出現しうるテキストを含められる要素)の中に含めるかたちでなくてはならない。すなわち,

<body>
pn 接合では,接合部分のキャリア(電子および正孔)が拡散し,互いに埋めあうことで,キャリアのいない空乏層ができるものとして説明される。
</body>

は誤りであり,たとえばテキストはパラグラフ(p 要素)の内容として次のように記述しなければならない。

<body>
<p>pn 接合では,接合部分のキャリア(電子および正孔)が拡散し,互いに埋めあうことで,キャリアのいない空乏層ができるものとして説明される。</p>
</body>

また,ブロック要素に属さないインライン要素が body 要素の直接の内容として出現することも許されないので注意したい。

 HTML 4 Transitional,XHTML 1.0 Transitional では,body 要素の内容モデルは“フロー”(%Flow.mix; に相当)である。HTML 4 Strict,XHTML 1.0 Strict は XHTML 1.1 とほぼ同様で,内容モデルは“ブロック要素”になる。文法が厳しくなっている点に注意。

XHTML の骨格

 これは,テキストエディタで XHTML を記述するときに最初に覚える事項であろうが,ここで改めて復習しよう。XHTML 1.1 のファイルは,全体として次のような骨格をしている。

<?xml version="1.0" encoding="文字エンコーディング"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>

...その他文書情報...
<title>文書のタイトル</title>
...その他文書情報...
</head>
<body>

...本文―ブロック要素を記述...
</body>
</html>

 また,“<!-- ... -->”の形のコメントは,マークアップ(XML 宣言,DOCTYPE 宣言,タグ,文字参照など)を分断しない,XML 宣言より前に出現しない限り,任意に出現してよい。html 要素の外側などに記述しても構わない。