标签html字符串由屏幕阅读器

时间:2017-01-23 21:08:22

标签: accessibility wai-aria screen-readers jaws-screen-reader

我有一些动态生成的html使用Dojo库构建一个下拉菜单。我需要使我的代码符合Accessibility,现在屏幕阅读器查看菜单项并将其读作普通html:

menu.addChild(new MenuItem({
        label: "<a onclick=window.location.href='sampleurl.com'
                   href="sampleurl.com">Sample Link</a> ...

原谅onclick,这是针对不同的问题,但我得到的基本上是:

按Tab键切换到第一个菜单项

Screenreader:“小于onclick等于窗口点位置点href等于sampleurl”......等等

我尝试使用aria-hidden,但屏幕阅读器只是将其视为文本,我在Mac OS上使用语音,但我也需要它兼容JAWS。任何提示或建议?谢谢!

2 个答案:

答案 0 :(得分:2)

标签用于标签(可以是HTML格式),而不是用于放置完整链接html标签。

请参阅以下页面,了解如何使用Dojo库生成菜单项: https://dojotoolkit.org/reference-guide/1.10/dijit/Menu.html

示例:

menu.addChild(new MenuItem({
    label: "Sample Link",
    onclick: function() {window.location.href='sampleurl.com';}}));

答案 1 :(得分:0)

通过一个工作示例以及说明您正在使用的屏幕阅读器/浏览器组合的内容,这将更容易调试。至少,向我们展示脚本的HTML输出,考虑它是为屏幕阅读器编写HTML来解析。

话虽如此,我怀疑缺少/不一致的引号。请注意,您使用双引号开始一个字符串,然后进入onclick属性,没有引号,然后围绕其值引用单引号,然后在href周围使用双引号。

或者,您将整个字符串写入页面,并以某种方式对其进行HTML编码。

我建议使用linting工具检查你的JS。