バグチェック其の二。

あくまでhtmlは文章だから、デザインするのは間違い。そんな言葉を聞いた事が
あります、、、ご免なさい。嘘です。似た言葉を聞いた事があります。(ぉ
だからTABLEでデザインするのは駄目。fontタグも駄目。Bタグは物理的タグ
だから駄目。論理的タグを使いましょう。色々と制約がある訳です。
テーブルはCSSで代用しましょうとこれまたテーブル崇拝者を奈落に落とす
一言を仰るのですね…実際そういう動きが進んでいるので怖いです。
→(スタイルシートでマルチカラムデザインの実現の動きがある…)

CSSが推奨される理由は簡単です。新しい技術はどんどん取り入れようという
あの会社やあの会社やあの会社の思惑が進んでいるからです。というのはさておき、
音声ブラウザやテキストブラウザの普及が取り上げられるからでしょう。
特にテキストブラウザの場合、テーブルは無視されて、擬似的に表示されるからです。
(携帯等の場合はさらにずれて表示される事もあって、悲惨です。)
また、障害者向けの事も考えた場合、テーブルを複雑にすると、きちんと認識
されないので向かないと…

 W3Cの仕様書(HTML4.01 Strict)ではCSSでデザインをする事が推奨され、
テーブルでデザインする事は非推奨となっているのですが、そんな物は無理
だと口を大にして言いたい訳です。現にヤフー等はそんなの無視して独自タグ
でHPをデザインしていますし。だからといって規格を無視するのではなく、
「共存」という選択肢もあるのではないかと。私はそう思う訳です。
以前どっかで語った気もしますが、W3Cに準拠しながら理想のデザインを
するのは絶対無理な訳です。勿論妥協する事である程度は理想に近づく事は
可能ですが、完全には無理だと。もしテーブルを非推奨とするのであれば
何故HTMLのバージョンが上がる度に属性が増えているのか?テーブルをCSSで
代用する事が推奨されていながら、何故完全に移行していないのか?
これがブラウザ毎による表示の違いに結びつく訳です。

そもそもIE,NN,Operaでは認識されるタグに違いがある為、微妙にずれて
表示されたりする訳です。特にNNはIEに比べタグのチェックが厳しい為、
テーブルタグの閉じ忘れ等があるときちんと表示出来ない事がある訳です。(NN4.7等)
またNN4.0やMozilla3.0(DC)等の場合、テーブルの枠線や<TR>属性での
色指定は無視される訳です。なので毎回セル(TD)毎に指定する必要があります。
勿論中のフォントサイズぐらいはCSSでデザインすればテーブルの容量が減らせる
ので、無駄なソースを減らす事が出来るでしょう。またCSS未対応ブラウザも未だに
僅かながら存在すると言う事も忘れてはならない訳です。その上でどのブラウザ
でも意図して見えるように努力した結果、、

・音声ブラウザは捨てる。
 実際使った事も無いし、導入する予定も無い。だがサマリー属性はきちんと
 明記する。その上で後述する無駄なテーブルを廃止する。
・枠組み自体はテーブルタグで指定する。
 また枠の太さ、セルのスペース(PADDING,SPACING)はCSSが完全にサポートして
 いない為、(現段階でSPACINGはNN6しかサポートしていない)これもテーブルで指定する。
・テーブル内の文字サイズはCSSで指定する
 (CSS未対応ブラウザ用にフォントサイズを大にして表示させ、改行する。)
・背景色、太字等の指定はCSSとフォント指定を使い分ける。
 例 背景白、テーブル内の背景色を黒とし、文字が白い場合、CSSで指定すると
 CSS未対応ブラウザでみた場合に文字が見えなくなる…といった事を避ける。
・無駄なテーブルを廃止する。
 こうする事で早く表示されるだけでなく、余分なソースを削る事が出来る。
 =容量が減る=負荷が減る。
・IE、またはNNだけでしか認識しないタグは使わない。
 BLINKタグや専用属性のCSS等。
・余計なJAVAscript、CSS等は廃止する。
 ソースを軽くする為。時計や後○○日〜といった物は使用しない。

少なくとも私のポリシーな訳です。勿論CSSでデザインする事に憧れたり、
重ね絵や文字の影付き等もやってみたいですが、必要以上にする事はないと。
簡単に言えば、スクロールバーの色を変える必然性が感じられない。
IEでしか認識しないのに。それと同様に今は殆ど使っている人がいないけど
BLINKタグ。NNでしか認識されてないし、NNの仕様書には載っていないと。(爆
昔は使ってましたよ。DC時代に(ぇ ただPCに移行した時に表示されないタグ
は外しました。大体テーブル嫌いと言っている人はテーブルでデザインした
事が無いんぢゃないかと。疑ってみたくなる訳です。
少なくとも「アクセシビリティ」という面からCSSだけでデザインする
というのはどうか?と言う事です。だからといって音声ブラウザを無視
していいという言い訳にはなりませんけどね。
ちょっと長くなりそうなのでまだ続きますよ。(ぇ

2003.10.17 インターネット編No.11
Back