CSS によるスタイル変更の制限について調べた内容を書いていきます.
このページの内容のテストに フォーム部品の実装状況動的疑似クラス を使いました.
各疑似クラスのスタイリングの制限
:hover
$HOVER_PSEUDO_CLASS_ONLY_LINK- IE6 以下は
:hoverはa[href]にしか働かない為、a:hoverを:hoverに省略できる.
- IE6 以下は
$CANUSE_HOVER_PSEUDO_CLASS- IE8 以上, Opera, Gecko.
:active
IE11 以下では、a:active を :active にすると全ての非インタラクティブな要素(<div> 等)へのクリックで :active になる為、省略できない.
$ACTIVE_ON_LINK_BEHAVES_FOCUS,$ACTIVE_PSEUDO_CLASS_ONLY_LINK- IE7 以下はリンク要素への
:activeを実装するがそのふるまいはa:focus
- IE7 以下はリンク要素への
$FOCUS_APPLIED_TO_ACTIVE- Gecko ~1.7,
:focusのスタイルが:activeにも適用される.
- Gecko ~1.7,
$CANUSE_ACTIVE_PSEUDO_CLASS- IE8 以上, Gecko 1.8 以上
:focus
$FOCUSED_COLOR_FIXED_AT_SYSTEM_COLOR- Opera 8~9,
:focusのテキスト色はシステムカラー(HighlightText)で固定されている.必要に応じて背景色にbackground-color:Highlightを指定してコントラストを確保できるようにする.
- Opera 8~9,
$CANT_CHANGE_TEXT_COLOR_WHEN_FOCUS- Gecko ~1.2.1,
:focusセレクタでテキスト色の上書きが出来ない.
- Gecko ~1.2.1,
$FOCUS_PSEUDO_CLASS_ONLY_LINK- IE7, Opera 7.2~7.5,
:focusはリンク要素にしか働かない.
- IE7, Opera 7.2~7.5,
$CANUSE_FOCUS_PSEUDO_CLASS- IE8 以上, Opera 7~7.1, Opera 8 以上, Gecko
タブフォーカスについて
タブキーでフォーカスの移動が出来るか?:active のスタイルが適用されるケースも含む.
- フォーム部品へのタブフォーカス
- IE, Opera 7~7.1x, Opera 8 以上, Gecko
- リンク要素へのタブフォーカス
- IE, Opera 7 以上, Gecko
Opera ~7.5, Gecko 0.6~0.9.4 はタブフォーカスの移動が奇妙.近い階層でないとフォーカスが移動しないようだ.
フォーム部品へのスタイリングの制限
$LIMITED_STYLING_OF_ITEMS_IN_FORM
Opera 9.27 以下, IE7 以下では様々な程度で、フォーム部品のスタイリングに制限がある.
その為、デフォルトのスタイルを尊重する。しかし、:focus や :active では枠線色を変更する.
また Opera 7.2~7.5 には form :focus にスタイルを設定すると <input>, <textarea> に触れなくなるバグがある為、フォーカス時のスタイルを諦める.
この他の制限
$CANUSE_TRANSPARENT_BORDER_COLOR- 主に枠線を使って書く三角形で使用する.IE6以下をの除く
$CANUSE_OUTLINE- IE8 以上, Gecko 1.8 以上, Opera 8 以上
$CANUSE_LIMITED_OUTLINE- Opera 7.x, 動的疑似クラスで
outlineの(色の)変更が出来ない
- Opera 7.x, 動的疑似クラスで
リンク
- LVHA 順について
- ウェブアクセシビリティに関する文書の日本語訳で IE6 時代のもの。ブラウザ毎の差異を紹介しつつ、各インタラクションに適切にスタイリングをするように案内している。

8. テストページ
オールキャストページ