我正在尝试动态插入标签中的值,我将从有视力的用户中隐藏这些值,但屏幕阅读器会为列中显示的视障用户读取这些值。如何使用dojo完成此操作?
<html>
<head>
<title>Dojo Labels</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/dojo/1.3.2/dojo/dojo.xd.js"></script>
<style type="text/css">
.style1
{
width: 154px;
}
</style>
</head>
<body>
<table style="width: 51%; height: 204px;">
<tr>
<td class="style1">
<input id="Checkbox1" type="checkbox" />
<label for="Checkbox1"></label>
</td>
<td>
John
</td>
<td>
Doe
</td>
</tr>
<tr>
<td class="style1">
<input id="Checkbox2" type="checkbox" />
<label for="Checkbox2"></label>
</td>
<td>
Jane
</td>
<td>
Doe
</td>
</tr>
<tr>
<td class="style1">
<input id="Checkbox3" type="checkbox" />
<label for="Checkbox3"></label>
</td>
<td>
John
</td>
<td>
Smith
</td>
</tr>
</table>
</body>
</html>
答案 0 :(得分:5)
如果您只需要动态更改标签,那么您可以尝试:
dojo.query("label[for=Checkbox1]")[0].innerHTML = "text";
但如果您需要逻辑来检测它是否是屏幕阅读器或浏览器,那么我无能为力。但是你可能总是用文本渲染标签只需添加样式display:none;
<label for="Checkbox2" style="display:none;">text</label>
答案 1 :(得分:0)
我不确定我是否完全理解你在做什么,但是dojo提供了一种方法,允许你修改DOM节点的属性值。它被称为dojo.attr()
答案 2 :(得分:0)
也许这个会有所帮助。
获取标签内容:dijit.byId(“btnButtonName”)。get(“label”)==“SomeName”);
设置标签内容:dijit.byId(“btnButtonName”)。set(“label”,“SomeName”);