実際、これを行う正しい方法は ARIA を使用することrole=hidden
です。このような:
<button type="button">
<span aria-hidden="true" class="icon">></span>
<span class="hide">Go!</span>
</button>
これにより、> 文字が非表示になるため、スクリーン リーダーは「直角かっこ」を読み上げず、代わりに「Go!」を読み上げます。> .hide クラスのコンテンツを視覚的に非表示にした場合にのみ、目が見えるユーザーには > が表示されます。このような:
.hide{
position: absolute;
left:-999em;
}
ARIA ロールpresentation
は、セマンティックな意味を「正規化」するためのものです。たとえば、<table>
withrole="presentation"
はテーブル コンテンツとして読み取られず、単なるプレーン テキストになります。
画像を読み上げたくない場合は、次のalt
ように空のテキストを入力できます。
<img src="decorative-flower.jpg" alt=""/>
..または、 and を<svg>
省略した場合<title>
<description>
<svg>
<!-- <title>Remove this line</title> -->
<!-- <description> Remove this too..</description> -->
</svg>
いくつかのまれな状況で、一部のスクリーンリーダーがまだ空の代替画像を読み取っていることに気付いたので、aria-hidden="true"
ここでも使用できます。
CSS の speak プロパティは現時点ではサポートされておらず、リンク属性 media="aural" についても同様です。