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

问题描述 投票:-1回答:2

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

accessibility wai-aria screen-readers jaws-screen-reader
2个回答
2
投票

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';}}));

0
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.