我有一些动态生成的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。任何提示或建议?谢谢!
答案 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。