4

私は iFrame を使用する Web アプリケーションに取り組んでいます (私の決定ではなく、何か他のものを使用するように頼まないでください)。ナビゲーション フレームとコンテンツ フレーム (トップダウン) の 2 つのフレームがあります。

ナビゲーション フレームは常に同じままです。ユーザーがリンクをクリックしてコンテンツ フレーム内のコンテンツが変更されても、JAWS は何もしません。私が JAWS に求めているのは、新しいページの内容 (少なくとも見出し) を発表することです。

私は WAI-ARIA タグを調べ、さまざまな JavaScript トリックを試して要素にフォーカスを当てるようにしました。 ある種の機能を果たした唯一のことは、次のことを行うことです

<iframe id="contF" aria-atomic="true" aria-live="assertive" frameborder="0" name="content" title="${ca.title}" src="${ca.src}"></iframe>

これにより、フレームが最初にロードされたときに JAWS がフレームの内容をアナウンスします (したがって、リンクは以前にクリックされたことはありません)。「訪問済みリンク」の場合、フレームの内容は一切告知しません。

4

2 に答える 2

0

何も変更しないように頼んだことは知っていますが、なぜ 2 つにするのiframesですか? 私は何年もこれに対処していないので、非常に曖昧です。通常のフレームをリンクすることはできますが、iframe をリンクすることはできません。

target="content"ナビゲーションフレーム内に各種リンクを追加するとうまくいくかもしれません。

アトミック属性は、その属性と iframe の両方の性質上、機能しません。atom 属性は DOM の変更を監視し、変更されたときに起動します。だからあなたに

<iframe id="contF" aria-atomic="true" aria-live="assertive" frameborder="0" 
name="content" title="${ca.title}" src="${ca.src}"></iframe>

このiframeがあるページのDOMは変更されていないため、何もしていません。

于 2012-11-19T14:01:08.370 に答える