3

目の見えるユーザーからはテキストを非表示にするが、人気のあるスクリーンリーダーからは非表示にするための、テスト済みの最良の方法は何ですか?そしてSEOに影響を与えることなく。

たとえば、スクリーンリーダーユーザーのみに非表示のテキストを追加する場合、検索エンジンがそのページをクロールするときに、そのテキストは検索エンジンによってクロールされるべきではありません。

4

6 に答える 6

3

私はかなりうまく機能しているように見えるシステムDrupal 7クラスを使用しています(これまでのところ、コンテンツを視覚的に非表示にしながらスクリーンリーダーで利用できるようにするための最良の方法のようです):

.element-invisible {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
}

要素をフォーカス可能にする別のクラスがありますが、詳細については、この記事を参照してください

于 2011-10-18T16:24:53.123 に答える
3

jQuery UI CSSフレームワークは、要素を画面外に配置することでこれを行います。

.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
于 2010-04-24T16:57:27.673 に答える
1

あなたの質問の一部に答えてください。 リンク テキストの一部を非表示にする手法に関するW3Cの記事- C7: CSS を使用してリンク テキストの一部を非表示にする

記事からの抜粋: この手法は、非表示にするテキストを対象とする CSS セレクターを作成することで機能します。セレクターのルール セットは、非表示にするテキストを 1 ピクセルのボックスに配置し、オーバーフローを非表示にして、テキストをビューポートの外側に配置します。これにより、テキストが画面に表示されなくなりますが、スクリーン リーダーや点字ディスプレイなどの支援技術には引き続きアクセスできます。この手法では、visibility:hidden または display:none プロパティを使用しないことに注意してください。これらのプロパティは、画面上の表示を妨げる​​だけでなく、支援技術からテキストを非表示にするという意図しない効果をもたらす可能性があるためです。

于 2013-12-16T06:16:54.907 に答える
0

あなたのHTMLで:

<span class="hideMe">some text</span>

あなたのCSSで:

hideMe{display:none;}
于 2010-04-24T16:32:25.440 に答える
0

さて、あなたはdisplay:nonevisibility:hidden、そしてテキストを画面から遠く離れた場所に配置しました。

すべてのスクリーン リーダーが標準に準拠しているわけではなく、非標準の動作を処理する標準的な方法もありません。

HTML と CSS を使用してスクリーン リーダーからコンテンツを隠すことはできませんが、実際の人には表示されます。それがページにある場合、それはすべての人のためのページにあります。せいぜい、robots.txt を使用して、エンジンがページをスクレイピングするのを防ぐことができます。

于 2010-04-24T17:39:22.160 に答える