[Web] 何故テーブルレイアウトは駄目なのか?
2週間後、HTMLの勉強会を開く。今回のテーマは「保守性」。その中で、HTMLの基本を守った説明を行うつもりなのだけど、「そもそも何故 div を使ってレイアウトするのか。テーブル使えば良いじゃん」と質問される可能性がある。

初期のテーブルレイアウトは論外だが、CSSと組み合わせたハイブリッドなテーブルレイアウトは一考の余地がある。本職のWeb屋ならともかく、以下の場合、何故テーブルレイアウトは駄目なのか、即座に相手に納得して貰えるような説明が出来ない。

・HTMLにコダワリなんか無い/「ただの画面設計用の言語」としか捉えてない
・Validity や アクセシビリティの確保が必要ない

だから、ここで考えてみる事とする。

テーブルレイアウトのメリット
1. お手軽クロスブラウザ
2. 表現の幅はdiv使った場合とほぼ同等

テーブルレイアウトのデメリット
1. HTMLとデザインを切り離せないこと。文章構造の論理性・汎用性が確保できない事。
......→レイアウト変更の場合に手間/メンテナンス性の低下
2. そもそも「表」のタグである事
3. それに派生して、綺麗な書き方ではない事。見る人が見たら一発で素人だと分かる事
4. 一部のブラウザは表示出来ない事
5. 一般的に、ファイル容量が増加する事

ただ画面設計をする言語で、「IEで表示できれば良いや」という様に捉える場合は、デメリットの2~4は大して問題じゃない。

とりあえず、デメリット1の引き起こすメンテナンス性低下の具体例(例えば100ページのレイアウトを変更する場合)を挙げて、それに加えて、HTML使うならHTMLの基本を守りましょうって言えば良いのかな。

あ、分かった。ぴこーん。

そもそも、「Web標準は絶対守るべきで、テーブルレイアウトは駄目なんです」と言うのは良くなくて、選択肢を増やす程度で良いのだ。端から「テーブルレイアウト=悪」っていう思い込みが自分の中にあったのだと、今気付いた。

まぁ、僕はテーブルレイアウトは使わないけどね。そこは、こだわりますから。

テーブルレイアウトとCSSレイアウトの詳細な比較
テーブルレイアウトの良い点を探す旅

----------------------------
11月20日追記
しょっしーとチャットで Table Layout について語り合った後、サイトで彼が考えをまとめてくれました。
S H O S i R A - CSS:テーブルレイアウトとの使い分けは臨機応変に
[PR]
by syatin | 2008-11-19 03:12 | 雑記・Web系
<< [雑記] 中国行ってきます [思考] 刺激的な人 >>