Css 我是否应该在for=“…”和id=“…”中重复标签文本? 第二种方法有什么缺点吗? 为什么决定使用第二种方法 第一种方法比第一种更好吗 屏幕阅读器用户?

Css 我是否应该在for=“…”和id=“…”中重复标签文本? 第二种方法有什么缺点吗? 为什么决定使用第二种方法 第一种方法比第一种更好吗 屏幕阅读器用户?,css,xhtml,accessibility,web-standards,screen-readers,Css,Xhtml,Accessibility,Web Standards,Screen Readers,首先 第二 <label for="n">Name</label> <input id="n" /> 唯一的“缺点”是id是非描述性的。对于内容很少的页面,这不是什么大问题,但对于较大的页面,使用描述性ID有助于开发。同样,ID也需要是唯一的,因此单字母方法在输入26:p时会过时 作为补充说明,webstandards.org可能通过压缩实用程序运行html,将描述性ID更改为单个字母,以减少下载时间。e、 g 他们的内部代码是您的第一个示例,压

首先

第二

<label for="n">Name</label>
      <input id="n" />

唯一的“缺点”是id是非描述性的。对于内容很少的页面,这不是什么大问题,但对于较大的页面,使用描述性ID有助于开发。同样,ID也需要是唯一的,因此单字母方法在输入26:p时会过时

作为补充说明,webstandards.org可能通过压缩实用程序运行html,将描述性ID更改为单个字母,以减少下载时间。e、 g

他们的内部代码是您的第一个示例,压缩机会吐出您的第二个示例。

我使用以下代码:

<label> <input> </label>
所以无论我们在里面为=。。。和id=。。。对屏幕阅读器软件和用户来说都无关紧要,对吗?正确-只要for与ID匹配,屏幕阅读器就会知道这就是标签。。无论是B还是Bazinga;我们是否应该将第一种方法视为最佳实践?描述性的ID、变量、类名,所有这些都是最佳实践。谁想编辑一个满是id=b class=y onclick=c的站点?呵呵heh@Dan:它可能是一些HTML压缩器的输出。我相信IE6不支持隐式标签。最好在这种浏览器停止使用之前进行显式标记。@Gert G:是吗?你真的认为IE6用户会注意到这种差异吗p我不知道。我敢打赌他们不会。作为记录,IE6不支持的是标签功能,它使标签上的onclick将焦点发送到它的位置labelling@reisio-若我们将输入保持在标签内,那个么是for=。。。这需要什么condition@reisio好吧,如果不是因为我。。。避免让标签在只支持显式标签或对隐式标签有错误支持的屏幕阅读器中工作。@metal:不,根本不需要“for”属性@Gert:screen readers是一个荒谬的概念。一个针对几乎没有解析过的HTML的TTS引擎将会更加智能,并且平均花费会少几百美元。至少在1998年之前,这个简单的HTML就已经成为标准,所有相关的UAs都支持它。 <label> <input> </label>