P粉4929595992023-08-23 15:43:06
2020 年を編集:
現在、display:none
または visibility:hidden
を使用すると、一般的にコンテンツが視覚的にもスクリーン リーダーにも非表示になるようです (Firefox および Chrome の NVDA でテスト済み)。そのため、次のステートメントは次のようになります。無効。
現在、コンテンツを画面外に移動することが、スクリーン リーダー ユーザーにコンテンツを提供する唯一の方法のようです。次の表も参照してください。
http://stevefaulkner.github.io/HTML5accessibility/tests/hidden-2016.html
受け入れられた回答に特に明記されていない限り、少なくとも Chromevox1 と NVDA2 は display:none## を持つファイルも読み取ります #または、
aria-hidden=false が設定されている場合は、要素の
visibility:hidden CSS プロパティ。ただし、これは現在 Chrome (65) のみで行われ、Firefox や Edge では行われません (私のテストによると)。
リーリー
Chromevox と NVDA が最初と 2 番目のヘッダーを読み取る場所。 参照:https://jsfiddle.net/4y3g6zr8/6/
すべてのブラウザーがこの動作に同意した場合、他のソリューションで提案されているすべての CSS トリックよりもクリーンなソリューションとなるでしょう。
1Chromevox https://chrome.google.com/webstore/detail/chromevox/kgejglhpjiefppelpmljglcjbhoiplfn 2NVDA https://www.nvaccess.org/
P粉5949413012023-08-23 10:57:50
代替テキストに関しては、おっしゃる通りです。画像でのみ機能します。ただし、次のように、aria-label を使用して非画像要素の alt 属性を置き換えることができます。
効果的な解決策aria-label (別の要素のテキストからアクセス可能な名前を抽出する
aria-labelledby と混同しないでください) は、画面外の説明コンテンツを要素に追加するために使用されます
alt= 属性と同様、画面外の説明コンテンツを画像に追加し、画像が表示できない場合に使用されます。
aria-label が画像以外の要素にも使用できることです。
リーリー
aria-hidden 属性を追加します。
ポジショニング ★ ★ ★
この解決策は、テキストの完全なブロックに対してのみ機能します。アンカー、フォーム、右から左へ記述する言語、または他のテキストと混合した特定のインライン テキストではうまく機能しません。
機能しない
###詳しくは:###
WebAIM障害センター