2015-10-20 68 views
1

以下每个WCAG 2.0有效吗?输入是否可以使用咏叹调标签而不是<label>?

<span id="my-label">Your photo</span> 
<input id="my-upload" type="file" aria-labelledby="my-label"> 

OS X屏幕阅读器理解这一点,例如,阅读时获得焦点的输入标签,但总抱怨验证如下:

Total Validator error

您可以通过this page运行总计验证自己尝试一下。 Total Validator是否正确报告此错误,或者这是Total Validator中的错误?

(很显然,在这个特殊的例子,我可以用一个<label for="my-upload">,而不是依靠aria-labelledby。我们甚至可以说,使用<label>有更多的语义重量,应该优先。但是,这不是我的问题请问,因为在我的真实情况下,使用<label>无法完成。)

回答

1

aria-labelledby用于向屏幕阅读器等辅助设备提供信息。如果你不使用这种特定的设备,它将没有任何帮助。

它不会给99%的人提供任何信息。所以是的,Total Validator是正确的,因为WCAG不需要使用特定设备,因此将其报告为错误。也就是说,在不能使用label标记的情况下,您可以使用title属性。

请参阅:H65: Using the title attribute to identify form controls when the label element cannot be used

+0

关于H65,建议在没有可见文本的情况下使用'title',这对我来说很好,但事实并非如此我有。我有一个可见的'',可以用来标注''。对我来说,将''变成'

+0

你有什么用户或场景记住用户可以通过指向''而不是''帮助'

+0

此外,虽然这不是规范,但在MDN中,它们提供了一个示例,显示如何使用“aria-labelledby”,并且它们正在执行Total Validator拒绝的内容,我将以此作为证明Total Validator不正确的证据在这种情况下。 (顺便说一下,从Total Validator的一些人那里得到答案会很高兴。)https://developer.mozilla。org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-labelledby_attribute#示例 – avernet

1

可以使用aria-labelledby作为创建可见标签的方式,其中可见标签已存在。最好使用for-id提供标签关联,因为这样可以允许单击标签文本将焦点置于输入字段中(或者选中复选框或单选按钮)。

您的无障碍分析仪是旧的。如果你使用aXe accessibility analyzer,你会注意到它不会抱怨这个问题。

+0

谢谢您的信息。你能否详细说明你的意思是“你的无障碍分析仪是旧的”?我使用的是2015年7月发布的v8.8.0。该工具保持不变,而我使用的版本不是“旧的”。这是说“你的辅助功能分析仪有错误”,或者你的意思是不同的? – avernet

+2

请在您的答案中披露您的联系信息:请参阅http://stackoverflow.com/help/behavior – Adam

相关问题