我在HTML5中创建了一个聊天,我在HTML代码中包含了WAI-ARIA角色和属性,以便向屏幕阅读器用户通知新消息。接下来,我展示了我的代码:
<ul id="conversation" class="conversation" aria-relevant="all" role="log" aria-live="polite">
<li role="listitem">One element</li>
<li role="listitem">Two element</li>
</ul>
屏幕阅读器如:NVDA,JAWS或Talkback可以毫无问题地读取新邮件。但是,VoiceOver并未正确读取它们。大多数消息都由VoiceOver读取;但是,VoiceOver不会读取相同的消息。例如,如果向li
添加了另一个ul
元素,并且此li
元素包含文本&#39;一个元素&#39;,与第一个元素相同的文本,屏幕阅读器不读它。
我不知道这是代码问题还是与VoiceOver相关的问题。你有什么建议可以解决吗?
答案 0 :(得分:0)
这是VO众所周知的问题。我这样做的方法是有两个区域,然后在两个区域之间循环,删除一个中的内容,同时向另一个添加新内容,然后翻转此行为。这可确保始终在所有屏幕阅读器上阅读内容。
还有一件事:如果你使用这种技术,你会想要咏叹调相关=&#34;添加&#34;确保不删除删除。