Last Update:2010.01.31
XHTMLガイドライン
基本ルール
XHTML1.0 Strictへの準拠
- 要素名、属性名には小文字を用いる。
 - 属性値を引用符「"」で囲む。
 - 開始タグ、終了タグをセットにする。終了タグを省略しない。
 - 空要素を" /"で閉じる。
 - 特殊文字を正しく使用する。"&"など。
 -  XML名前空間を宣言する。
							
通常は、html要素に属性"xmlns="http://www.w3.org/1999/xhtml" "を加えておけばよい。
 -  "xml:lang"属性の指定。
							
通常は、html要素に"xml:lang="ja" "属性を加えておけばよい。
 
XHTMLとCSSの住み分け
- XHTMLには構造を表す要素のみを用いる。
 - 表示の指定はCSSで行う。
							
行間を空けるためのbr要素、字間を空けるためのスペース、表示を調整するための内容の無いdiv要素などは不適切である。
 
ヘッダー
XML宣言は取り除く
 一部ブラウザが後方互換モードになってしまうため、XML宣言は行わない。
						同様の理由のため、DOCTYPE宣言の前には、コメントを含めいかなる文字も記述しない。
						ただし、場合によりPHPのブラウザ判別にてXML宣言を出力する。
DOCTYPE宣言
DOCTYPE宣言は、ファイルの先頭に記述する。
- Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
コードフォーマット
指定がない限りは、UTF-8 / CR+LF にて作成する。
ページ情報の設定
タイトルとmeta情報は基本的にページ毎に指定し、指定がない場合は下記の通り設定する。
- title
<title>ページ名 | サイト名</title>
 - meta description
<meta name="description" content="" />
 - meta keywords
<meta name="keywords" content="" />
 
head要素内
次の順で要素を記述する。
- meta要素
 - title要素
 - base要素
 - link要素
 - script要素
 - style要素
 - object要素
 - その他
 
ネーミング
複合語の場合
複合語の場合、スペースは空けず、一語目の先頭を小文字、2語目以降の先頭を大文字にする。(camel記法)
						例) "subTitle", "oldNews"
idとclass
- ファイル内で個別の名前にはidを、ファイル内で別の要素と共有する名前にはclassを用いる。
 - div、class名は基本的に構造を表すものにする。
 
divブロックのid名
代表的なdivブロックは、HTML5に順次対応出来るよう次の名前を用いる。
- wrapper
 - header
 - logo
 - nav
 - article
 - section
 - aside
 - footer
 

書式 (改行、インデント、コメント)
-  内容が一行に収まる場合は開始タグの後で改行しない。
							
内容が一行(80文字程度)に収まる場合は開始タグの後で改行しない(h、p、liタグなど)。 これ以外の全ての要素の開始、終了タグの後に改行を入れる。
 - body要素にはclass (ディレクトリ名)、id (ファイル名) をつけ、サイト内のどのページであるかを明示する。
 - 複数行のブロック要素の上下には1行スペースを空ける。
							
CMSを用いる場合、インデント規則を統一する手間が掛かるため、インデントは使わない。
CMSを使わない場合はインデントをタブで1つ入れる。 -  終了タグの前にコメントを挿入する。idの閉じコメントは「/#」classは「/.」とする。
</head> <body class="about" id="index"> <div id="header"> <h1>sample website</h1> <p>welcome.<br /> this is sample website.</p> <!-- /#header --></div> <div class="nav"> <ul> <li>about</li> <li>product</li> <li>blog</li> </ul> <!-- /.nav --></div>
 
画像
- altタグには使用されている文章をいれるか、文字のないイメージ画像については空(alt="")で挿入。
 - 図やグラフの場合には「図:組織図」「グラフ:○○の統計」などのように画像の種類も入れ読み上げても分かるようにする。
 - <img>要素には alt / width / height を設定する。
 
その他
- 不必要なdivブロックを作らない。子孫セレクタ、隣接セレクタなどを活用する。
 - 図やグラフの場合には「図:組織図」「グラフ:○○の統計」などのように画像の種類も入れ読み上げても分かるようにする。
 - 外部リンクには target="_blank" を指定。
 - サイト内のリンクは相対アドレスを使用する。
 - 英数字は半角とする。
 - HTML4.0及び4.01で非推奨とされている要素は使用しない。
 - HTML5において、削除予定である要素は使用を控える。
詳細はW3Cのワーキングドラフトを参照。