繁体   English   中英

屏幕阅读器如何通过aria-atomic处理嵌套的aria-live

[英]How do screen readers handle nested aria-live with aria-atomic

如何将屏幕阅读器处理的情况下,你必须与元素aria-livearia-atomic另一个元素里面有aria-livearia-atomic的嵌套元素内和含量的变化?

它会读取两个部分,还是两次读取嵌套部分?

HTML:

<div aria-live="polite" aria-atomic="true">
    Here is some text, <span>this itself may change</span>.  It is a large section of the page
    <div aria-live="polite" aria-atomic="true">
        This is another part of the page that may change, it is also large. <span>This part may change too</span>
    </div>
</div>

我问的原因是因为我正在使用AngularJS制作需要与ADA兼容的SPA。 该站点具有嵌套的布局方案,其中页面的内部部分将被更改而不更改外部部分,但是外部部分可能会改变一个点。 理想情况下,当它更改时,我只希望读取内部部分。 当外部部分更改时,它将全部读取一次。

抱歉,它是特定于API的:

Table of document change scenarios and events to be fired in each API

Scenario                MSAA + UIA Express event        MSAA + IAccessible2 event               ATK/AT-SPI event        Mac OS X Notification
When text is removed    EVENT_OBJECT_LIVEREGIONCHANGED  IAccessible2: IA2_EVENT_TEXT_REMOVED    text_changed::delete    If in a live region, AXLiveRegionChanged
When text is inserted   EVENT_OBJECT_LIVEREGIONCHANGED  IAccessible2: IA2_EVENT_TEXT_INSERTED   text_changed::insert    If in a live region, AXLiveRegionChanged
When text is changed    EVENT_OBJECT_LIVEREGIONCHANGED  IAccessible2: IA2_EVENT_TEXT_REMOVE     text_changed::delete    If in a live region, AXLiveRegionChanged
                                                        and IA2_EVENT_TEXT_INSERTED             and text_changed::insert

建议的aria-atomic行为:

用户代理应该检查祖先元素链中的aria-atomic =“ true”。 如果找到,则用户代理应将RELATION_MEMBER_OF关系设置为指向设置aria-atomic =“ true”的祖先。

aria-live行为也是:

用户代理应该确保正在运行的辅助技术可以在删除之前接收到有关删除节点的通知。 这允许诸如屏幕阅读器之类的辅助技术返回被删除的相应DOM节点。 这对于其中搬迁很重要的生活区域很重要。 例如,屏幕阅读器将要通知用户另一个用户已离开聊天室。 MSAA中的事件为EVENT_OBJECT_HIDE。 对于ATK / AT-SPI,这将是children_changed :: remove。 在Mac OS X中,该事件是AXLiveRegionChanged。 这还要求用户代理在可访问性API通知中提供唯一ID,以标识要删除的唯一节点。

参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM