表格标签508合规问题

时间:2010-01-14 19:05:07

标签: html label labels section508

我为表单元素创建的标签是否需要在< form>中身体?例如,这是否合规:

<div style="display: none;">
    <label for="somename">Some Name</label>
    <!-- more labels.. //-->
</div>

<!-- insert lots of HTML here //-->

<form>
<input type="text" name="somename" id="somename">
<!-- insert more elems here //-->
</form>

4 个答案:

答案 0 :(得分:1)

通常,除非您在页面上碰巧有多个表单,否则标记实际上并没有提供太多语义含义,在这种情况下,表单标记指示与其关联的表单元素。

话虽如此,标签也不依赖于它们的位置,因为它们与该元素的ID绑定为1并且只有1个其他元素,所以不,无论你把它放在哪个元素的位置都没关系标签,但通常的做法是将标签保持在元素附近。如果页面偏离其描述的元素太远,我会质疑页面的语义有效性,并确保您的文档是语义是可访问的关键组件。 508对可访问性只需要尽力而为,但很少和很远的情况下,语义文档太难做了。

答案 1 :(得分:1)

没有。理想情况下,他们就在他们所关联的元素旁边,但他们并非必须如此。 508标准似乎含糊不清;其中一些原因是因为您可以尝试匹配超过1级的合规性。我总是发现优先级1 508合规性令人沮丧地低。你可以逃脱大多数事情。我一直试图做的两件事(至少是)

  1. 通过checker
  2. 运行网站
  3. 在纯文本浏览器中查看网站
  4. 我认为第二步让我成为比第一步更好的可访问网站的开发者,因为很明显一些常见的东西令人沮丧(例如,在每个页面的顶部都有一大块导航链接,至少没有某种方式跳过它们)。如果您已经在屏幕阅读器中检查了您的网站,那么您可能已经领先于游戏。

答案 2 :(得分:0)

如果有人想知道,我安装了Thunder屏幕阅读器,我上面提供的格式是完全可以访问的。

答案 3 :(得分:0)

您也可以使用

<label class="hideme" for="blah">blah blah</blah>

,其中

.hideme {
    display: none;
}