フレームにはタイトル属性が必要です
修正方法
すべての frame
と iframe
要素に妥当な title 属性値があることを確認します。
次のように frame 要素に title 属性を追加することができます:
<iframe ... title="myFrame"> frame body </iframe>
さらに、入れ子になっているドキュメントに title 属性と同一の title
要素を付与することがベストプラクティスです。スクリーン・リーダーの中には、フレームの title 属性の内容をフレーム内の title
要素の内容と置き換える場合があります。その結果、両方に同じテキストを入れておくのが最も安全でアクセシブルです。
良いタイトルは簡潔で、明確で、有益で、一意です。ドキュメントの title
にページのコンテンツを要約した短くわかりやすいテキストが含まれていることを確認します。このルールに合格するには、単に title
要素を記載するだけでは不十分です。この要素には意味のあるテキストも含める必要があります。
フレームのタイトルを書く際のベストプラクティス
- 「無題のページ」などのプレースホルダーのタイトルをより適切なフレーズに置き換える
- 各タイトルを一意にする。たとえ類似していても、ページ間でタイトルを重複させない
- 固有の情報を最初に置く。企業名やブランドをタイトルに含めたい場合、この情報は固有のコンテンツより後ろに置くべきである。そうでなければ、スクリーン・リーダーのユーザーは興味のあるページを探す間、この情報を何度も聞かなければならなくなる
- ページタイトルとページの最初の見出し (h1 とされていることが望ましい) を一致させる。これらは同一でなくても良いが、
title
とh1
要素は本来同じ目的で使用されるため、よく似たものにすることが理にかなっている
なぜ重要なのか
スクリーン・リーダーのユーザーはフレームタイトルによる frame
のコンテンツの説明を頼ります。フレームに title
属性がない場合、この技術を用いているユーザーにとって frame や iframe を操作することは困難でわかりづらくなります。
スクリーン・リーダーのユーザーにはページ上のすべてのフレームのタイトル一覧を表示するという選択肢があります。わかりやすいユニークなタイトルを追加することで、ユーザーが必要としているフレームを素早く見つけることを可能にします。タイトルが存在しない場合、フレーム間をナビゲートすることは難しく、わかりづらくなります。タイトルが一覧化されない場合、スクリーン・リーダーは代わりに「フレーム」「javascript」、ファイル名、または URL などの情報を伝えます。多くの場合、これらの情報はあまり役に立ちません。
ルールの説明
ドキュメント内のすべての frame
または iframe
要素には、それらのコンテンツをスクリーン・リーダーのユーザーに伝えるため、空ではない title がなければなりません。
仕組みについて (簡単に言うと)
すべての iframe および frame 要素に一意かつ空ではない title 属性が存在することを確認します。