CSS Nite Vol.18の交流会でちょっと時間をいただいて小ネタでプレゼンをしてきました。内容は、HTML文書でヘッダー領域とかフッター領域とかいわれるようなところにclass属性ではなくid属性を用いるマークアップが多いことへのツッコミです。そこはclassだろ、と。むしろ、言いたかったことはマークアップの際には頭を使って考えろという点で、まとめでもそこに落としたわけです。class属性とid属性については私のスライドを公開するよりもvantguardeさんによるWEBTECH - メモ:classとidに詳しいのでそちらを参照すると良いでしょう。
ここまでが前提知識。では、実際にマークアップするときにどのように考えればいいのかというところをちょっと書いてみましょう。
HTML 4.01仕様書ではclass属性とid属性については7.5.2 Element identifiers: the id and class attributesで述べられています。実は、これは罠なのです。多くの人はこのようにまとめられているから「classなのかidなのか」という思考に陥ってしまいますが、本来この2つは対比するものではありません。単にclassifyしたい要素にはclass属性を、identifyしたい要素にはid属性を付与するだけなのです。そこにはどちらを付与するのかという視点は存在しません。それぞれ個別に考えて付与すべき属性であるという点に留意し、マークアップする必要があるのです。