文書型定義は、XHTML1.0 Transitionalを基本的に採用する。
要件によってStrict等を採用することもある。
文書型定義にXHTML1.0 Transitionalを採用した場合、互換モードを考慮し、冒頭でのXML宣言は書かない。
要素に属性を複数付ける場合、以下の順番で属性を並べる。
基本的にタグ毎に改行する。
要素が短い場合やリストなど、可読性が高まる場合は1行で書く。
要素の開始タグと終了タグの左端位置を揃える。
(例)
<p> テキストテキストテキスト </p> <ul> <li>リスト1</li> <li>リスト2</li> </ul>
改行した場合に不要な空白が出てきてしまう場合があるので、そのような場合には改行しない。
原稿部分では、不要な空白を出さないため、<br />タグの無いところで改行はしない。
モニター上の見栄えを考えて、文章中で改行はしない。
文字サイズを変更した場合や、リキッドレイアウトに変更した場合に崩れるので。
インデントは、入れ子階層がわかるように、ブロックごとに行なう。並列のブロックはインデントしない。
インデントは半角スペース2文字分とし、タブは使用しない。
(例)
<div class="wrapper">
<div class="header">
<h1>テスト</h1>
<img src="img/test.gif" alt="サイトロゴ" />
<div>
<p>
テキストテキスト
</p>
</div>
<span>テキストテキスト</span>
</div>
</div>
tableタグにはなるべくsummary属性を付け、表の内容を簡潔に書く。
表にはなるべくcaptionタグを付け、表のタイトルを書く。
フォームでは、labelタグを使用して、コントロールと項目を関連付ける。
出来る限りfieldset要素や、optgroup要素を使用する。
画像のファイル名は、以下ように決定する。
出来上がったhtmlソースは、必ずW3CのHTMLバリデータ(http://validator.w3.org/)にかけ、正しいマークアップができているかを確認する。
error,warningが出たら、出なくなるまで修正する。
javascriptを使用しているためにerrorが出るケースがあるが、どうしようもない場合はerrorを看過する。
CSSは必ず外部リンク化し、一行で済ませられるように、複数のCSSをインポートして読み込む。
JavaScriptは、可能な限り外部リンク化する。
idはなるべく使わないようにする。javascriptのライブラリとの競合を避けるため。
id,classのネーミングルールはCSSコーディング規約を参照。
コメントは使いすぎないように気をつける。
大枠のブロック構造や、複雑なブロック構造をわかりやすくするためなどに留める。
デザインを整えるためだけの要素をなるべく使わない。
見た目を設定する属性は使わない。
(例)
bgcolor="#ffffff"
border="0"
Windows
IE6,7,8以降
Fire fox3以降
Google Chrome2以降
Mac
Safari3以降
スタイルシートの1行目には、charsetを必ず記述する。
CSSハックを使用している場合、冒頭部分で使用しているハックを説明する。
同じ要素でいくつかのデザインパターンを持ち、そららをclassで使い分ける場合など、説明が必要な場合は説明を加える。
セレクタには下記ルールを適用する。
(例)
selector {
property: value;
property: value;
property: value;
}
selector { property: value; property: value; }
セレクタは使用するページやブロック毎になるべくまとめる。
ページやブロック毎にコメントをつけるのが望ましい。
id,classの名前は、色や形を表すものや、本人しかわからないような暗号ではなく、意味や機能を表す名前を付けることを心がける。複数単語からなる場合、各単語の先頭文字のみ大文字にしてつなげる(例)ThisIsAnExample
leftやbottomなど、補助的に付けないと意味がわからなくなる場合もあるので、適宜判断して命名する。
前述のネーミングルールが適用できない場合は、見た目や暗号での命名をする。
スタイルを使いまわさない場合は、むやみにid,classを増やさないように、なるべく親要素にふっていき、親要素を使って定義する。
対象ブラウザでの表示を等しくするため、CSSハックを用いることを認める。
使用する場合は、冒頭にコメントアウトして使用するハックを記述する。
プロパティを書く順番は、以下の順序をなるべく意識する。