このページの目次

非推奨 / 廃止要素や属性の使用を防ぐ CSS

概要

Web ページの作成や運用時に、意図しないタグや属性が使われてしまうのを防ぐための CSS です。

この CSS ファイルを読み込むことで 廃止 / 非推奨 / 独自拡張タグを使用すると警告が表示し、意図しないタグや属性の使用を防ぎます。(ただし、CSS の都合で IE 7 以下では表示できません)

img やhr などの置換要素については、content プロパティが使用できないためボーダーのみを表示します。

表示するテキストは Unicode エスケープしてあるので文字化けの心配はありません。

使用方法

CSS ファイルを読み込むだけで使用できます。この CSS ファイルをいつでも取り除けるように import 用の CSS ファイルから読み込むとよいかと思います。

仕組み

属性セレクターと content プロパティを併用して警告を表示します。例えば p 要素の align 属性に対しては

p[align]:before{
	content:"align 属性が指定された p 要素です !!"
}

のように設定しておきます。すると、<p align="right">p element</p> のように align 属性を持つ p 要素のスタイルとして警告が表示されます。

CSS により警告を表示する要素、属性一覧

廃止 / 非推奨 / 独自拡張タグ

  • basefont
  • blink
  • center
  • dir
  • font
  • listing
  • marquee
  • menu
  • plaintext
  • s
  • strike
  • tt
  • u
  • xmp
  • applet

廃止 / 非推奨 / 独自拡張属性と、CSS で代用できる属性

  • body の属性
    • body[bgcolor]
    • body[background]
    • body[bgcolor]
    • body[background]
    • body[text]
    • body[link]
    • body[vlink]
    • body[alink]
  • p の属性
    • p[align]
  • headings の属性
    • h1[align]
    • h2[align]
    • h3[align]
    • h4[align]
    • h5[align]
    • h6[align]
  • address の属性
    • address[align]
  • blockquote の属性
    • blockquote[align]
  • div の属性
    • div[align]
  • table の属性
    • table[cellpadding]
    • table[cellspacing]
    • table[frame]
    • table[border]
    • table[rules]
    • table[width]
    • table[align]
    • table[background]
    • table[bgcolor]
    • table[background]
    • caption[align]
    • thead[align]
    • thead[valign]
    • tfoot[align]
    • tfoot[valign]
    • tbody[align]
    • tbody[valign]
    • tr[align]
    • tr[bgcolor]
    • tr[background]
    • th[align]
    • th[background]
    • th[valign]
    • th[bgcolor]
    • th[height]
    • th[nowrap]
    • th[width]
    • th[background]
    • td[align]
    • td[background]
    • td[valign]
    • td[bgcolor]
    • td[height]
    • td[nowrap]
    • td[width]
    • td[background]
  • list の属性
    • ul[compact]
    • ul[type]
    • ol[compact]
    • ol[type]
    • li[type]
    • li[value]
    • dl[compact]
  • form の属性
    • form[target]
    • legend[align]
  • hr の属性
    • hr[align]
    • hr[color]
    • hr[noshade]
    • hr[size]
    • hr[width]
  • iframe の属性
    • iframe[align]
  • img の属性
    • img[align]
    • img[border]
    • img[hspace]
    • img[vspace]
    • alt 属性のない img
  • input の属性
    • input[align]
  • object の属性
    • object[align]
    • object[border]
    • object[hspace]
    • object[vspace]

非推奨 / 廃止 / CSS での代用ができるが、警告の対象にならない要素、属性

  • b
  • i
  • small
  • iframe
  • ol[start] (代替方法がないため)
  • a[target] (代替方法がないため)


トラックバックURI

http://www.yomotsu.net/lab/css/misc_debug/trackback

コメント

ユースケさんからのコメント

2009年1月15日 19:16

廃止・非推奨・独自拡張と並んで、CSS で代用できる属性を並列で考えるのはちと違うのではないでしょうか。

table 要素の border,width,frame,rules,cellspacing,cellpadding 属性、thead,tbody,tfoot,tr,th,td 要素の align,valign 属性は「非推奨 / 廃止 / CSS での代用ができるが、警告の対象にならない要素、属性」に含めてもよいと思います。
(CSS で代用でき、かつ警告の対象にならない属性ので)

adminさんからのコメント

2009年1月16日 11:28

@ユースケさん :

確かにその通りです。HTML 4.01や XHTML 1.0 の Spec ではご指摘いただいた属性は非推奨の部類にも入っていないのですよね。別の内容を警告として出すようしてみようかと思います。

といいますのも、HTML 4.01 の Spec の 11.3 Table formatting by visual user agents には

Note. The following sections describe the HTML table attributes that concern visual formatting. When this specification was first published in 1997, [CSS1] did not offer mechanisms to control all aspects of visual table formatting. Since then, [CSS2] has added properties to allow visual formatting of tables.

のように、表の視覚表現について CSS Level 1 にはなかったためこれらの属性を用意したようなニュアンスのことが書いてあるためと、HTML 5 differences from HTML 4 (W3C Working Draft 10 June 2008)の3.5 Absent Attributes に table 関連の視覚表現に関する属性が含まれていることを考慮して警告の対象にしようかと思いました。

ただ、この記事で紹介した CSS の該当箇所を削除すればご指摘いただいたような属性を警告の対象から外すことができるのでこの辺も調整しやすいように改めてまとめさせていただきたいと思います。

とても参考になるご指摘をいただきありがとうございました !!

コメントフォーム

コメント

コメントでは一部の XHTML タグを使用できます。 : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

実験室に戻る

あわせて読みたい

著作権情報等

CC 2004 yomotsu-net, Some Rights Reserved.