我有一个input
,我想为其提供一个可访问的标签以及默认的工具提示。
根据我的研究,这是我的理解:
title
不足以实现可访问性。 aria-label
不会显示工具提示aria-label
和title
可能会导致一些屏幕阅读器同时阅读两者。是否有更好的方法来实现这一目标?
答案 0 :(得分:3)
严格来说,最好的方法是使用带有label
元素的可见标签,因为这会使输入更易于与语音控制配合使用。 (语音控制是WCAG 2.1引入SC 2.5.3的原因:“对于带有包含文本或文本图像的标签的用户界面组件,名称包含以视觉方式显示的文本。”但是,SC不需要可见的标签。 )
如果您不希望使用可见标签,则需要了解“可访问名称计算”的优先规则。 WAI-ARIA 1.1包含有关此内容的一些基本信息:
name来自作者在显式标记功能中提供的值,例如aria-label属性,aria-labelledby属性或宿主语言标记机制,例如
alt
或{ HTML中的{1}}属性,其中HTML title属性在指定文本替代项时优先级最低。
这意味着您应该期望屏幕阅读器读取title
属性的值而不是(而不是 )(而不是) aria-label
属性。工具提示只会按预期显示title
属性的内容(但屏幕阅读器除非有残留的视觉,否则不会使用鼠标)。
由于WAI-ARIA 1.1中的可访问名称计算算法有点短,因此W3C正在GitHub当前可用的规范草案中研究更详细的算法。参见paragraph 5.1.1 in HTML Accessibility API Mappings 1.0
但是,与此问题相关的官方规范目前是WAI-ARIA 1.1(如上所述)和Accessible Name and Description Computation 1.1,从2018年12月开始。