我为表单元素创建的标签是否需要在< 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>
答案 0 :(得分:1)
通常,除非您在页面上碰巧有多个表单,否则标记实际上并没有提供太多语义含义,在这种情况下,表单标记指示与其关联的表单元素。
话虽如此,标签也不依赖于它们的位置,因为它们与该元素的ID绑定为1并且只有1个其他元素,所以不,无论你把它放在哪个元素的位置都没关系标签,但通常的做法是将标签保持在元素附近。如果页面偏离其描述的元素太远,我会质疑页面的语义有效性,并确保您的文档是语义是可访问的关键组件。 508对可访问性只需要尽力而为,但很少和很远的情况下,语义文档太难做了。
答案 1 :(得分:1)
没有。理想情况下,他们就在他们所关联的元素旁边,但他们并非必须如此。 508标准似乎含糊不清;其中一些原因是因为您可以尝试匹配超过1级的合规性。我总是发现优先级1 508合规性令人沮丧地低。你可以逃脱大多数事情。我一直试图做的两件事(至少是)
我认为第二步让我成为比第一步更好的可访问网站的开发者,因为很明显一些常见的东西令人沮丧(例如,在每个页面的顶部都有一大块导航链接,至少没有某种方式跳过它们)。如果您已经在屏幕阅读器中检查了您的网站,那么您可能已经领先于游戏。
答案 2 :(得分:0)
如果有人想知道,我安装了Thunder屏幕阅读器,我上面提供的格式是完全可以访问的。
答案 3 :(得分:0)
您也可以使用
<label class="hideme" for="blah">blah blah</blah>
,其中
.hideme {
display: none;
}