我正在开发一个以这种方式构建的页面:
在底部我有三个按钮。单击按钮时,我会在左侧显示图像,在右侧显示简短描述。
现在,我需要语音合成(如NVDA和JAWS)来记录文本的外观。
此行为是否有标准?
答案 0 :(得分:1)
是的,您可以使用WAI-ARIA,有一个名为aria-live
的属性,您可以将其放在文本显示的容器中,其值为" polite"表示应该通知屏幕阅读器用户,但不应该在句子中断。
例如:
<div aria-live="polite">Text appears here</div>
您不应该做任何其他事情,但更新文本以便屏幕阅读器宣布,您不需要使用JavaScript或类似的内容更改属性。该属性告诉屏幕阅读器,无论何时检测到更改,它都应该通知。
如果您发现它宣布的数量超出了您的要求,或者还不够,您可以使用aria相关属性进行更细微的控制,该属性可以包含以空格分隔的一个或多个列表。以下值:
- &#34;加法&#34;将节点插入活动区域应该被认为是相关的。
- &#34;清除&#34;删除节点应该被认为是相关的。
- &#34;文本&#34;应认为对现有节点的文本内容的更改是相关的。
- &#34;所有&#34;相当于添加删除文本。
aria-relevant="additions text"
是直播的默认值 区域。
答案 1 :(得分:0)
aria-live attribute似乎是个不错的选择。
此处回答的问题可能重复:
Getting screen reader to read new content added with JavaScript