我的仅限CSS工具提示的辅助功能指南 - http://chantastic.github.io/tip.css/
这是您使用它的方式:
<span data-tip-content="this is a tip" data-has-tip>Hover here</span>
为了避免浏览器默认呈现title
,我使用data-tip-content
作为工具提示文本。通过这样做,我也失去了title
(Related SO Question)的可访问性优势。
我想添加aria-label
作为内容来源,使用如下所示:
<span aria-label="this is a tip" data-has-tip>Hover here</span>
aria-label
在这种情况下有意义吗?是否存在无法覆盖的可访问性兴趣?
我对可访问性非常陌生,并希望获得基于经验的反馈。谢谢。
如果您认为有更好的解决方案,请考虑以下限制因素:
title
上的mousenter/mouseleave
- attr。我对JS解决方案不感兴趣。:after
,:before
和content
来避免需要额外的标记块。答案 0 :(得分:4)
aria-label
属性为元素指定标签,通常是输入元素的可访问名称,否则将缺少显式标签,因为用户需要从中推断其角色视觉背景。虽然它的描述引用了HTML title
属性和工具提示,但它并不真正意味着用于CSS工具提示之类的东西。相反,它有助于标记元素而不是使用title
属性,这在使用中有一些缺点。
然而,遗憾的是,没有更适合的ARIA属性。奇怪的不对称:ARIA有aria-label
用于直接标记,aria-labelledby
用于间接标记,即用于指定包含当前元素标签的元素,但是对于描述,只有间接aria-label
。 3}}
因此,根据您当前的方法和标记,这归结为使用aria-describedby
。在另一种方法中,工具提示文本是元素内容而不是属性值,您可以使用data-has-tip
。
P.S。属性data-tip-content
在这里看起来很多,因为您可以在CSS和脚本中使用{{1}}属性来代替。