这是我第一次在这里发帖,但多年来我发现这个网站是一个非常宝贵的存储库。
我最近一直在向网站表单添加工具提示。最初,我关心的是当鼠标用户将鼠标悬停在工具提示图标上时(在我的例子中只是“(?)”)使这些工作。我正在使用以下CSS:
.tooltip
{
border-bottom: 1px dotted #000000;
color: #000000;
outline: none;
cursor: help;
text-decoration: none;
position: relative;
}
.tooltip span
{
margin-left: -999em;
position: absolute;
}
.tooltip:hover span, .tooltip:focus span
{
border-radius: 5px 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border: 1px solid #000000;
font-family: Arial, Helvetica, sans-serif !important;
position: absolute;
left: 1em;
top: 2em;
z-index: 99;
margin-left: 0;
width: 250px;
background-color: #b4e0e0;
font-size: 1em;
}
.ttipcontent
{
padding: 0.8em 1em;
}
使用以下 HTML:
<a class="tooltip" href="#">(?)<span class="ttipcontent">This is the tooltip content which will be displayed</span></a>
这对于预期用途来说效果很好,创建了悬停工具提示以用于鼠标/指针设备。然而,将它与触摸屏设备一起使用是一场噩梦。每次单击 (?) 图标时,您当然会被带到页面顶部。
所以我用以下内容替换了 HTML(保持相同的 CSS):
<span class="tooltip">(?)<span class="ttipcontent">This is the tooltip content which will be displayed</span></span>
这现在适用于鼠标/指针设备和触摸屏设备。但是,我无意中删除了用户通过“跳动”链接来通过键盘导航到工具提示的能力。这带来了可访问性问题。
我的问题是,有没有办法结合所有三个功能元素:在悬停、触摸和键盘导航时显示工具提示的能力?
提前感谢您的帮助!