JAWS不宣布加载的iFrame内容?

JAWS不宣布加载的iFrame内容?,iframe,accessibility,wai-aria,jaws-screen-reader,assistive-technology,Iframe,Accessibility,Wai Aria,Jaws Screen Reader,Assistive Technology,我正在开发一个使用iFrame的web应用程序(请不要要求我使用其他东西,而不是我的决定)。有两个框架,一个导航框架和一个内容框架(自上而下) 导航框始终保持不变。当用户单击链接,导致内容框架内的内容发生更改时,JAWS不会执行任何操作。我想要JAWS做的是宣布新页面的内容(至少是标题) 我查找了WAI-ARIA标记,并尝试了各种JavaScript技巧来命令关注元素唯一有效的方法是执行以下操作 这将导致JAWS在第一次加载框架时宣布框架的内容(因此以前从未单击过链接)。如果它是一个“已访问的

我正在开发一个使用iFrame的web应用程序(请不要要求我使用其他东西,而不是我的决定)。有两个框架,一个导航框架和一个内容框架(自上而下)

导航框始终保持不变。当用户单击链接,导致内容框架内的内容发生更改时,JAWS不会执行任何操作。我想要JAWS做的是宣布新页面的内容(至少是标题)

我查找了WAI-ARIA标记,并尝试了各种JavaScript技巧来命令关注元素唯一有效的方法是执行以下操作


这将导致JAWS在第一次加载框架时宣布框架的内容(因此以前从未单击过链接)。如果它是一个“已访问的链接”,它将根本不会公布框架的内容。

我知道你要求不要要求更改任何内容,但你为什么要使用两个
iFrame
?我已经很多年没有处理过这个问题了,所以我很模糊。我想说的是,可以将普通帧链接在一起,但不能链接iFrame

如果将
target=“content”
添加到导航框架内的各种链接,则可能会起作用

由于该属性和iframe的性质,atomic属性不起作用。原子属性监视DOM更改,并在更改时激发。所以对你的

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


什么也不做,因为此iframe所在页面的DOM没有更改。

我知道这是一篇非常古老的文章,但我将为有相同问题的人发布我的解决方案。 在将加载到iframe的所有页面中放置description div:

<div id="ac_title" style="display:inline-block;position:absolute;top:0;right:0;height:1px;width:1px">Page ZZZ loaded.</div>

恐怕画外音和ChromeVox有同样的问题
window.frames["content"].onload = function() {
    var a = this.contentDocument.getElementById("ac_title");
    if (a) {
        a.setAttribute("role", "alert");
    }
};