使用键盘访问html标签,并使用屏幕阅读器软件使其可读

时间:2012-03-21 08:58:56

标签: html accessibility

目前我正在使用锚标签来制作一个可通过键盘访问的标签,并使用屏幕阅读器软件(Jaws或其中任何一种)可读。

例如我找到的解决方案是下面提到的: 而不是使用: -

<label for="I am label">I am label</label>

我正在使用: -

<a href="#" style="text-decoration:none">I am label</a>

我想要一些替代方法,我不需要为标签提供锚标签,标签应该可以使用键盘访问,它应该可以被屏幕阅读器软件读取...

1 个答案:

答案 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

标题标记http://www.w3schools.com/tags/tag_caption.asp