html 元素的可访问性
Accessibility for html elements
我一直在四处寻找更明确的答案,但似乎我发现的内容已经过时,或者论坛对正确答案存在争议。
我正在构建一个没有 bootstrap 的 React Web 应用程序。 在什么地方使用 alt vs 标题 vs aria-label 属性?
*根据我收集到的信息:
a 和 Link 标签使用标题和 aria-label
img 标签使用 alt 和 aria-label
按钮标签使用标题
属性 aria-label 用于 交互式元素 的上下文中,可以通过某些方式单击或操作。
对于链接、按钮和表单元素,以及通过 tabindex=0 人工聚焦的元素尤其如此。
如果您尝试标记的元素 不是交互式的,不可聚焦的,您最好使用视觉隐藏文本而不是咏叹调标签。
前者更普遍地被认可,而后者在非交互元素的情况下不能保证被阅读。
alt 属性特定于 images,即 <img>
标签,以及图像按钮 <input type="image">
.
在其他任何地方,它都不存在。它可用于交互式和非交互式图像。
避免在同一个可聚焦元素上使用 alt 和 aria-label 以避免宣布一个而不是另一个的任何可能性(通常一个完全取代另一个)。
现在很少推荐 title 属性,因为它的支持非常多变,具体取决于 运行 屏幕 reader 和浏览器,以及使用哪个元素。
它仍然经常在许多地方工作,尤其是链接和表单元素。
再次强调,避免在同一元素上同时使用 title 和 aria-label 以避免宣布一个而不是另一个的可能性(通常一个完全取代另一个)。
我一直在四处寻找更明确的答案,但似乎我发现的内容已经过时,或者论坛对正确答案存在争议。
我正在构建一个没有 bootstrap 的 React Web 应用程序。 在什么地方使用 alt vs 标题 vs aria-label 属性?
*根据我收集到的信息:
a 和 Link 标签使用标题和 aria-label
img 标签使用 alt 和 aria-label
按钮标签使用标题
属性 aria-label 用于 交互式元素 的上下文中,可以通过某些方式单击或操作。 对于链接、按钮和表单元素,以及通过 tabindex=0 人工聚焦的元素尤其如此。
如果您尝试标记的元素 不是交互式的,不可聚焦的,您最好使用视觉隐藏文本而不是咏叹调标签。 前者更普遍地被认可,而后者在非交互元素的情况下不能保证被阅读。
alt 属性特定于 images,即 <img>
标签,以及图像按钮 <input type="image">
.
在其他任何地方,它都不存在。它可用于交互式和非交互式图像。
避免在同一个可聚焦元素上使用 alt 和 aria-label 以避免宣布一个而不是另一个的任何可能性(通常一个完全取代另一个)。
现在很少推荐 title 属性,因为它的支持非常多变,具体取决于 运行 屏幕 reader 和浏览器,以及使用哪个元素。 它仍然经常在许多地方工作,尤其是链接和表单元素。 再次强调,避免在同一元素上同时使用 title 和 aria-label 以避免宣布一个而不是另一个的可能性(通常一个完全取代另一个)。