应提供每个非文本元素的等效文本(例如,通过“alt”、“longdesc”或在元素内容中)。
对于搜索框,使用
<input type="text" alt="Search" value="" tabindex="1" name="s" id="s" />
通过 508 标准,但未通过 HTML 5 验证。
使用<label>
标签是通过 508 标准和 HTML 5 验证的唯一方法,因为我想避免使用不必要的<label>
标签吗?
应提供每个非文本元素的等效文本(例如,通过“alt”、“longdesc”或在元素内容中)。
对于搜索框,使用
<input type="text" alt="Search" value="" tabindex="1" name="s" id="s" />
通过 508 标准,但未通过 HTML 5 验证。
使用<label>
标签是通过 508 标准和 HTML 5 验证的唯一方法,因为我想避免使用不必要的<label>
标签吗?
在这种情况下,我认为您需要多关注 1194.22 (n)。如果您真的非常需要不使用单独的标签,您可以尝试以下操作:
<input type="search" value="" tabindex="1" name="s" id="s" />
<label for="s"><input type="submit" value="search"></label>
但我强烈建议至少在屏幕阅读器中尝试一下(NVDA是免费的,JAWS可以在“免费试用”中使用 40 分钟),或者更好的是,设置一个测试页面并让一些屏幕阅读器用户尝试它。
或者,您可以调查aria-labelledby
并查看这是否可以让您更自然地适应您的标签。