目前我正在使用锚标签来制作一个可通过键盘访问的标签,并使用屏幕阅读器软件(Jaws或其中任何一种)可读。
例如我找到的解决方案是下面提到的: 而不是使用: -
<label for="I am label">I am label</label>
我正在使用: -
<a href="#" style="text-decoration:none">I am label</a>
我想要一些替代方法,我不需要为标签提供锚标签,标签应该可以使用键盘访问,它应该可以被屏幕阅读器软件读取...
答案 0 :(得分:1)
您可以作弊并使用tabindex属性创建表格单元格,以便您可以对其进行制表。但是,tabindexes需要大量维护 - 每次向页面中添加属于Tab键顺序的新元素时,都必须更新它们。
从语义上讲,您应该使用<caption>
元素标记表格,但您也无法标记<caption>
元素。你可以将你的标题放在<th>
元素中,如果那是你真正想要的那个标签。请注意,这不如使用<caption>
在语义上好,因为<th>
指定行或列的标题,而不是整个表格。
以下是一个示例,您可以选择标签<input>
元素,该元素使用标签元素正确标记,如评论者所建议的那样,然后标记为由tabindex属性排序的表格单元格。我在NVDA中测试了这个例子。
<html>
<head>
<title>Screen Reader Test</title>
</head>
<body>
<label for="firstName">First Name:</label>
<input id="firstName" type="text" />
<br />
<table>
<tr>
<th colspan="2">Fruit Prices</th>
</tr>
<tr>
<th tabindex="3">Apples</th>
<th tabindex="4">Oranges</th>
</tr>
<tr>
<td tabindex="4">$0.50</td>
<td tabindex="5">$1.00</td>
</tr>
</table>
</body>
</html>
来源: Tabindex http://webaim.org/techniques/keyboard/tabindex#spec