2012-01-29 14 views
16

Googleやその他のSOの記事を閲覧した後、私は簡単で直接的な答えが得られることを希望して質問を明快にすることに決めました。CSSの不透明度はアクセシビリティにどのように影響しますか?

Does opacity:0 have exactly the same effect as visibility:hidden上の議論に一つの更なるステップを追加するには:私は理解してopacity:0についてdisplay:nonevisibility:hidden隠すスクリーンリーダーからの要素などが、何それ?

リンクされた質問の回答の表には、不透明度がのタブオーダーに参加していることに注意してください。それは必然的にmapped to the accessibility APIを意味しますか?

巨大なネガを設定すると、display: nonevisibility: hiddenの代わりにドロップダウンメニューが用意されていますが、JavaScriptを使わずにメニューをフェードアウトしたいのですが、スクリーンリーダーから隠さないようにしています。 。

答えて

-2

不透明度は透明度の係数なので、不透明度:0は表示されないことを意味します。 表示について:「表示されません」と表示されている場合は、表示が非表示になりますがページにはまだサイズがありますが、表示は完全に一部のオブジェクトやコンテナには表示されません。

+4

何これは、アクセシビリティに関係があるのでしょうか? – BoltClock

+0

可視性を備えたAFAIRオブジェクト:hiddenはアクセス可能で、display:noneはアクセスできません。 – TOUDIdel

+0

クール、 '不透明度:0'はどうですか?それは、この特定の質問が求めていることです。 – BoltClock

4

opacity: 0;は、スクリーンリーダーからコンテンツを隠すことはありませんが、目に見えるユーザーや部分的に遭遇したユーザーのコンテンツは非表示になります。
白い背景に白いテキストを表示するのと同じです(または透明で、アイデアを得る)。
これはアクセシビリティAPIにマップされますが、リンクの上でポインタが変更されていることが表示されるはずです。まだテキスト/編集を選択できます。リンクとフォーム要素を集計すると、アウトラインはいつものように表示されるか、透明になります。編集:後者は、このページのFirebugでテスト済みです。

+0

アウトラインは、ボックスの寸法に影響を与えないにもかかわらず、ビジュアルオブジェクト自体の一部( 'outline'プロパティ)としてレンダリングされるので、オブジェクトのアルファ合成に 'opacity'の効果として参加します。したがって、Firebugでテストするときに何が表示されますか。 – BoltClock

+0

@Felipeこれは私が望んでいた答えです。 :)あなたは、参考文献へのリンクを追加したり、あなたの信頼を説明したりできますか? –

+0

これはすばらしい質問でした。私は周りを見回しましたが、不透明感がスクリーンリーダーに影響を与えていることを具体的に示している情報源はありません。しかし、それは意味をなさないようです。不透明度の値が0ではなく50であったとします。内容はまだそこにあり、それでもページ上のスペースを占めています。私は0までどのように違う振る舞いを引き起こすのか分かりません。スクリーンリーダーがその辺のケースでの動作を変更している場合、私は開発者が自分の手に時間がかかっていると主張します... –

2

これは古い質問ですが、それはGoogle検索で浮上している最初の一人だったので、私はチャイムたかった。2017年4月のよう

、ChromeVoxのスクリーンリーダーは、コンテンツを読み取りません

具体的には、要素が視覚的に利用可能なテキストでラベル付けされていない限り、ChromeVoxは不透明度を0に設定して視覚的に隠されたテキストを読み込みません。例えば

<!-- will not be read --> 
<a href="#!" style="opacity: 0;">not read</a> 

<!-- WILL be read --> 
<a href="#!" style="opacity: 0.001;">is read</a> 

<!-- span text will not be read --> 
<a href="#!"> 
    Read More 
    <span style="opacity: 0;"> 
    this will not be read 
    </span> 
</a> 

<!-- 
    button text will not be read, 
    but aria-labelledby text will be read on button focus 
--> 
<span id="test">button label</span> 
<button type="button" aria-labelledby="test" style="opacity: 0;"> 
    This text will not be read 
</button> 
関連する問題