これは古いものですが、後で検索したときにこの質問を見つける可能性のある他の人のために更新しています.
@マット・ケリハー:
リストに css :beforeとdata- * 属性を使用することは素晴らしいアイデアですが、少し変更して、よりハンディキャップにアクセスしやすくすることもできます。
HTML:
<ul aria-label="Vehicle Models Available:">
<li>Dodge Shadow</li>
<li>Ford Focus</li>
<li>Chevy Lumina</li>
</ul>
CSS:
ul:before{
content:attr(aria-label);
font-size:120%;
font-weight:bold;
margin-left:-15px;
}
これは、aria-label 属性の値に設定されたテキストで、その上に "header" 疑似要素を持つリストを作成します。その後、必要に応じて簡単にスタイルを設定できます。
data-* 属性を使用する場合よりも優れている点は、スクリーン リーダーによって aria-label がリストの「ラベル」として読み取られることです。これは、このデータの使用目的に対して意味的に正しいものです。
注: IE8 は :before 属性をサポートしていますが、単一のコロン バージョンを使用する必要があります (また、有効な doctype が定義されている必要があります)。IE7 は :before をサポートしていませんが、Modernizer または Selectivizr でその問題を修正する必要があります。最新のブラウザーはすべて古い :before 構文をサポートしていますが、::before 構文を使用することをお勧めします。一般に、これを処理する最善の方法は、古い形式を使用する IE7/8 用の外部スタイルシートと、新しい形式を使用する一般的なスタイルシートを用意することですが、実際には、まだ 100% クロスしているため、ほとんどの場合、古い単一コロン形式を使用するだけです。 CSS3 では技術的に有効ではありませんが、