可访问的文本框

时间:2009-06-01 10:13:49

标签: html accessibility

我有一个包含许多文本框的HTML页面。我必须将它们标记为可访问性目的。但是,我不希望标签可见。是否可能?或者,还有其他设计方案吗?

6 个答案:

答案 0 :(得分:2)

有多种方法可以将文本放入页面,并在屏幕阅读器用户可以访问时将其隐藏给可视用户(例如高负文本缩进)。

然而,“可访问性”不是“使用网络没有问题的人”和“盲人”之间的界限。很多人都不适合这两个群体,对于作者而言,忘记可访问性更多是为了让那些看不见的人能够获得内容,这太容易而且太普遍了。

答案 1 :(得分:2)

使用display:none对此有害,我支持查询为什么要隐藏所有标签 - 可能会有一些标签用于通知用户textarea要包含的内容,所以只需标记相应的标签和风格。

如果您仍想隐藏标签,请将其放在屏幕外更好。最近有summary of this at the 456 Berea Street blog

答案 2 :(得分:1)

标签的要点是描述输入的目的,有点像给它一个标题。如果您不使用标签,您的视力用户将如何知道输入内容?

无论给视力正常的用户提供视觉线索,也应该成为辅助技术用户的标签。

答案 3 :(得分:0)

答案 4 :(得分:0)

尝试CSS:

label {
    display: none;
}

确保仅将此样式表应用于“屏幕”媒体:

<link rel="stylesheet" href="style.css" type="text/css" media="screen" />

答案 5 :(得分:0)

如上所述,对所有输入元素都有一个可见标签总是更好 - 这将有助于有视力和无视力的用户。话虽如此,在某些情况下,这是不可行的,我猜你的情况属于这种情况。对于这些情况,您有几种选择。

第一个是使用“title”属性,它具有为有视力的用户显示工具提示的额外好处:

<input type="text" title="first name" />

其他几个人提到了第二个选项,它涉及使用CSS将标签放在屏幕上:

<label for="first_name" 
  style="position:absolute;left:-1000px;width:1px;overflow:hidden;" />
<input type="text" id="first_name" />

与使用“display:none”不同,屏幕阅读器仍然会读取标签。选择禁用CSS的用户也会看到标签,这也很优雅。

无论你使用什么,我绝对推荐来自downloading a trial copyFreedom Scientific JAWS并测试你的解决方案。