IE9でhoverが効かない

Internet Explorer 9でHTMLを表示したら、:hover属性で指定したCSSが無視されている。

これはIE9がDoctypeから、HTMLの互換性(世代)を判断しているからだと思われる。
そのため、HTMLの先頭行でこのように宣言すれば、hoverを始めとする世代の新しいCSSディレクティブも理解してくれるようだ。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

モダンなブラウザなら、デフォルトでは最新のCSSに合わせておいてもらわないと困るのだが。