bgcolor 属性を何の疑いもなく使っていたが,推奨されない属性であることがわかった。ショック。休日表示カレンダープラグインのドキュメントを修正する。
bgcolor 属性は table などの背景の色を指定する属性である。この bgcolor 属性を,休日表示カレンダープラグイン(バージョン 1.x, 2.x) の例として使っていた。手本にしたのは,Movable Type 日本語マニュアルの テンプレート・ タグ - カレンダー表示タグ の項目で,MTCalendarIfToday の用例に bgcolor 属性が使われている。 私は,最近になって bgcolor が XHTML の属性として推奨されている訳ではないことを知った。しかし,決して間違っている訳ではないというのが微妙なところではある。
Movable Type 2.661 のデフォルトのタイプは XHTML 1.0 Transitional となっている。Transitional は移行用に作られた規格で,古い書式と新しい書式のどちらを書いても正しいと見なすという,言ってみれば何でもありの規格である。したがって Transitional の中には「推奨されない要素や属性」があるのである。推奨されないということは,その後継の規格では削除される運命にあることを意味する。マークアップ言語の流れについては,CYBER@GARDEN > XHTML講座 > XHTMLの基礎知識 に分かりやすい図がある。調べてみると,非推奨の要素や属性は,XHTML のもとになった HTML 4.0 で既に明示されているものだったのである(HTML 4.0 - 使わない方がよい要素)。将来的にスムーズな移行を考えるのであれば,今から非推奨要素は使わない方がいいだろう。
表の背景色に使う bgcolor は,非推奨属性だったのである。その他,table 要素での align 属性も,間違いではないが推奨もされていないことが分かった。そこで,次のように書き直すことにした。
修正前:
<td align="center" bgcolor="<$MTCalendarColor$>">
修正後:
<td style="text-align: center; background-color: <$MTCalendarColor$>">
他も同様に修正する。また,MTCalendarIfToday と併用したい場合は,単純にはいかないので,次のようにした。
修正前:
また,<MTCalendarIfToday> と併用したい場合は,次のように style 属性の background-color 指定に逃がすことで可能です。
<td align="center" style="<MTCalendarIfToday> border:solid 2px black; background-color:#00FF00;</MTCalendarIfToday>" bgcolor="<$MTCalendarColor$>">
修正後:
また,<MTCalendarIfToday> と併用したい場合は,次のように MTElse を使うことで可能です。
<td style="text-align: center; <MTCalendarIfToday>border: solid 2px black; background-color:#00FF00; <MTElse>background-color: <$MTCalendarColor$>;</MTElse></MTCalendarIfToday>">
また,font 要素も非推奨なので,span 要素に style 属性をつけて書き直すことにした。
修正前:
<font color="<$MTCalendarColor holidaycolor="#FF0000" saturdaycolor="#0000FF" evencolcolor="#000000" oddcolcolor="#000000"$>">
...
</font>
修正後:
<span style="font-color: <$MTCalendarColor holidaycolor="#FF0000" saturdaycolor="#0000FF" evencolcolor="#000000" oddcolcolor="#000000"$>">
...
</span>
休日表示カレンダープラグイン のドキュメントの修正も同様。
Posted by n at 2005-01-13 23:13 | Edit | Comments (0) | Trackback(0)
Master Archive Index
Total Entry Count: 1957