我有一些动态生成的html使用Dojo库构建一个下拉菜单。我需要使我的代码符合Accessibility,现在屏幕阅读器查看菜单项并将其读作普通html:
menu.addChild(new MenuItem({
label: "<a onclick=window.location.href='sampleurl.com'
href="sampleurl.com">Sample Link</a> ...
请原谅,这是一个不同的问题,但我得到的基本上是:
按Tab键切换到第一个菜单项
屏幕阅读器:“小于一个onclick等于窗口点位置点href等于样本”......等等
我尝试使用aria-hidden,但是屏幕阅读器只是将其作为文本读取,我在Mac OS上使用语音,但我也需要它兼容JAWS。任何提示或建议?谢谢!
label用于标签(可以是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';}}));
通过一个工作示例以及说明您正在使用的屏幕阅读器/浏览器组合的内容,这将更容易调试。至少,向我们展示脚本的HTML输出,考虑它是为屏幕阅读器编写HTML来解析。
话虽这么说,我怀疑缺少/不一致的报价。请注意,您使用双引号启动一个字符串,然后进入onclick
属性,没有引号,然后围绕其值单引号,然后在href
周围使用双引号。
或者,您将整个字符串写入页面,并以某种方式对其进行HTML编码。
我建议使用linting工具检查你的JS。