以下每个WCAG 2.0是否有效?
<span id="my-label">Your photo</span>
<input id="my-upload" type="file" aria-labelledby="my-label">
OS X屏幕阅读器理解这一点,例如:在获得焦点时读取输入的标签,但Total Validator会抱怨如下:
您可以在this page上运行Total Validator来自行尝试。 Total Validator是否正确报告此错误,或者这是Total Validator中的错误?
(显然,在这个特定示例中,我可以使用<label for="my-upload">
,而不是依赖aria-labelledby
。甚至可以争辩说使用<label>
具有更多的语义权重,应该但这不是我要问的问题,因为在我的现实场景中使用<label>
无法完成。)
答案 0 :(得分:1)
可以使用aria-labelledby
作为创建可见标签的方法,其中可见标签已存在。最好使用for-id提供标签关联,因为这样可以单击标签文本以将焦点放在输入字段中(或选择复选框或单选按钮)。
您的辅助功能分析器已经过时了。如果您使用aXe accessibility analyzer,您会发现它不会抱怨此问题。
答案 1 :(得分:1)
aria-labelledby
用于向屏幕阅读器等辅助功能设备提供信息。如果您不使用这种特定设备,它将不会有任何帮助。
它不会向99%的人提供任何信息。所以是的,Total Validator是正确的,因为WCAG不需要使用特定设备,因此将其报告为错误。话虽如此,您可以在不能使用title
标记的情况下使用label
属性。
请参阅:H65: Using the title attribute to identify form controls when the label element cannot be used