输入可以是带有 aria-labelledby 而不是 <label> 的 "labeled" 吗?
Can an input be "labeled" with a aria-labelledby instead of a <label>?
以下内容是否符合 WCAG 2.0?
<span id="my-label">Your photo</span>
<input id="my-upload" type="file" aria-labelledby="my-label">
OS X 屏幕 reader 理解这一点,例如当它获得焦点时读取输入的标签,但 Total Validator 抱怨如下:
您可以通过 this page 上的 运行 Total Validator 自行尝试。 Total Validator 报告此错误是否正确,或者这是 Total Validator 中的错误?
(显然,在这个特定示例中,我可以使用 <label for="my-upload">
,而不是依赖 aria-labelledby
。甚至可以争辩说,使用 <label>
具有更多语义权重并且应该是首选。但这不是我要问的问题,因为在我的现实生活中使用 <label>
无法完成。)
可以使用 aria-labelledby
作为在可见标签已存在的情况下创建易于访问的名称的方法。最好使用 for-id 提供标签关联,因为这将允许单击标签文本将焦点放在输入字段(或 select 复选框或单选按钮)。
您的可访问性分析器是旧的。如果你使用 aXe accessibility analyzer,你会注意到它不会抱怨这个问题。
aria-labelledby
用于向屏幕阅读器等辅助设备提供信息。如果您不使用此类特定设备,它将没有任何帮助。
它不会向 99% 的人提供任何信息。所以是的,Total Validator 将此报告为错误是正确的,因为 WCAG 不需要使用特定设备。也就是说,您可以在无法使用 label
标签的情况下使用 title
属性。
参见:H65: Using the title attribute to identify form controls when the label element cannot be used
以下内容是否符合 WCAG 2.0?
<span id="my-label">Your photo</span>
<input id="my-upload" type="file" aria-labelledby="my-label">
OS X 屏幕 reader 理解这一点,例如当它获得焦点时读取输入的标签,但 Total Validator 抱怨如下:
您可以通过 this page 上的 运行 Total Validator 自行尝试。 Total Validator 报告此错误是否正确,或者这是 Total Validator 中的错误?
(显然,在这个特定示例中,我可以使用 <label for="my-upload">
,而不是依赖 aria-labelledby
。甚至可以争辩说,使用 <label>
具有更多语义权重并且应该是首选。但这不是我要问的问题,因为在我的现实生活中使用 <label>
无法完成。)
可以使用 aria-labelledby
作为在可见标签已存在的情况下创建易于访问的名称的方法。最好使用 for-id 提供标签关联,因为这将允许单击标签文本将焦点放在输入字段(或 select 复选框或单选按钮)。
您的可访问性分析器是旧的。如果你使用 aXe accessibility analyzer,你会注意到它不会抱怨这个问题。
aria-labelledby
用于向屏幕阅读器等辅助设备提供信息。如果您不使用此类特定设备,它将没有任何帮助。
它不会向 99% 的人提供任何信息。所以是的,Total Validator 将此报告为错误是正确的,因为 WCAG 不需要使用特定设备。也就是说,您可以在无法使用 label
标签的情况下使用 title
属性。
参见:H65: Using the title attribute to identify form controls when the label element cannot be used