私はfont-awesomeを使用し、次のようにフォントを表示します。
<i class="icon-lock"></i>
これにより、素敵な小さなロック記号が表示されます。ユーザーがそれが正確に何を意味するのかを知るために、titleやaltなどの属性を追加しようとしましたが、役に立ちませんでした。
<i>
画像のaltやリンクのタイトルと同じタスクを実行するタグに使用できる属性はありますか?
私はfont-awesomeを使用し、次のようにフォントを表示します。
<i class="icon-lock"></i>
これにより、素敵な小さなロック記号が表示されます。ユーザーがそれが正確に何を意味するのかを知るために、titleやaltなどの属性を追加しようとしましたが、役に立ちませんでした。
<i>
画像のaltやリンクのタイトルと同じタスクを実行するタグに使用できる属性はありますか?
回答:
他の要素と同様title
に、i
要素の属性を使用できます。
<i class="icon-lock" title="This symbolizes your being locked inside"></i>
それが役立つかどうかはもっと難しい問題です。ブラウザは通常title
、マウスオーバー時に属性値を「ツールチップ」として表示しますが、なぜユーザーがアイコンの上にマウスを置くのでしょうか。そして、そのようなツールチップは使い勝手が悪いです。多くの場合、いわゆるCSSツールチップの方がうまく機能します。
スクリーンリーダーは、ユーザーにtitle
属性へのオプションのアクセスを許可する場合がありますが、コンテンツが空の要素をどのように処理するかはわかりません。
title
要素自体が選択可能である限り、コンテンツがなくても一般的に読み取られます
<i>
tabIndexをタグに追加しない限り、タグは通常選択できないことに注意してください。
title
属性が機能するかどうかはわかりません。 「」120人が賛成するのに十分であると見なされたのは、スクリーンリーダーのサポートがほとんどのWeb開発者から得ている機能的な取り組みを示しています(私も含めて、私は認めます)。職業として、私たちはこれらの問題にこれよりも厳密に対処する方法を理解する必要があります。
title
視覚的に隠されたテキスト(.sr-only
Bootstrapのクラスなど)に加えて追加することをお勧めします。ここで良い例を参照してください:fontawesome.com/how-to-use/on-the-web/other-topics/...を
WAI-ARIAの進歩により、フォントアイコンを使用する場合、アクセシビリティを向上させるために、おそらく次の組み合わせを使用する必要があります。
著者は、このコンテンツを非表示にする行為が冗長または無関係なコンテンツを削除することによって支援技術のユーザーのエクスペリエンスを向上させることを目的としている場合にのみ、注意して、aria-hiddenを使用して視覚的にレンダリングされたコンテンツを支援技術から非表示にすることができます。aria-hiddenを使用してスクリーンリーダーから表示コンテンツを非表示にする作成者は、同一または同等の意味と機能が支援技術に公開されていることを確認する必要があります。
あなたの正確な使用例はわかりませんので、電話番号を提供するというより単純な使用例を自由に使用します。優先度の高い順に、次のものを使用します。
<span aria-label="Our phone number">
<span class="icon-phone" aria-hidden="true"></span>
+33 7 1234576
</span>
(or any variation implying:
- an `i` element with a `role` presentation attribute
instead of the inner `span` element
- a `title` attribute instead of an `aria-label` attribute)
<span class="icon-phone"
aria-label="Our phone number">+33 7 1234576</span>
(or any variation using `title` instead of `aria-label`)
<i class="icon-phone" role="presentation"
aria-label="Our phone number">+33 7 1234576</i>
(or any variation using `title` instead of `aria-label`)
aria-label属性とtitle属性は、要素のコンテンツを説明する必要があることに注意してください。次の兄弟要素ではありません。したがって、次の解決策は仕様に準拠していないように感じます(ほとんどのアクセシビリティツールが実際に電話番号が実際に要素内にある場合と同じ観察可能な動作をする場合でも):span
<span class="icon-phone"
title="Our phone number"></span>+33 7 1234576
<span>
代わりに、またはそれらの線に沿った何かを使用する必要があります。それがあなたがtitle=""
探しているものであるならば、あなたはホバーでいくつかのテキストを与えるために属性を使うことができます。スクリーンリーダーへのアクセシビリティ、つまりSEO値を提供する限り、次のCSSを追加できます。
.icon-lock{
text-indent:-99999px;
}
そして、次のようにマークアップを記述します。
<span class="icon-lock">What I want the screen reader to say</span>
<i>
HTML4.01では非推奨ではありませんでした。
<u>
と<s>
した、私は常に自分自身が考えて見つける<b>
と<i>
、彼らが持っている、特に以来、同様だった<em>
と<strong>
しますが、絶対的に正しいです。
<i>
タグはテキストをマークアップするためのものです。このタグのセマンティックな意味を、イタリックを使用して関係のないものに変更しています(イタリックタグでさえ悪い考えです)。SPAN
代わりに使用する必要があります。
イタリック要素はalt
属性をサポートしていませんが、IMG
要素はサポートしています。ALT
属性が必要な場合は、画像を使用してください。
<i>
ので、そのようにすると何がうまくいかないかを言う必要があります。<i>
本来意図されていない方法で何か(この場合)を使用するとリスクがありますが、この場合、数億人のユーザーがいる数千の評判の良いサイトがすでにfont-awesomeを使用しているという事実によってリスクが軽減されています。
画像のように機能するフォントの役割は、role = "img"に予約する必要があると思います。これは、aria-label = "alt-text"で使用できます。これは、ARIAアクセシブルネームアルゴリズムのために機能します。参照:Imgロールを使用したAriaテクニック。
.sr-only
は、別ので使用してください<span>
。