这是我的问题。我正在构建投资组合页面,现在我想让那些无法使用鼠标的人轻松导航。
outline属性有什么作用?它提供视觉反馈 使用TAB导航Web文档时具有“焦点”的链接 键(或等效的)。这对不能使用的人特别有用 老鼠或有视力障碍。如果你删除了你的轮廓 使这些人无法访问您的网站。
我构建了它,因此您可以使用TAB
键浏览网页上的所有链接,然后您可以使用ENTER
键打开该链接。
但是...
我有很好的叠加视觉效果。您可以看到应用程序的图像,只有当您将鼠标悬停在该图片上方时,您才能看到链接。
所以TAB
正在运行,您可以使用键盘选择链接,但无法看到活动链接,因为该叠加效果仅适用于鼠标(当鼠标悬停在特定图片上方时)。
很难用文字解释,所以我录制了一段短片: https://youtu.be/IQbXL7iyG6w?t=5
知道怎么解决这个问题吗? TAB导航也应该触发叠加效果。
GitHub代码: https://github.com/elminsterrr/portfolio
答案 0 :(得分:1)
您可以使用简单的jquery代码执行此操作。首先改变你的CSS
改变这个:
#portfolio .inner-content:hover .overlay-content {
top: 0px;
z-index: 1;
background: rgba(0,0,0,0.9);
transition: all 0.5s ease-out;
-webkit-transition: all 0.5s ease-out;
-moz-transition: all 0.5s ease-out;
}
使用:
#portfolio .inner-content:hover .overlay-content {
top: 0px;
z-index: 1;
background: rgba(0,0,0,0.9);
}
#portfolio .inner-content .overlay-content.focus_test{
top: 0px;
z-index: 1;
background: rgba(0,0,0,0.9);
}
$('.overlay-content p a').focus(function(){
$(this).parents('.overlay-content').addClass('focus_test');
});
$('.overlay-content p a').blur(function(){
$(this).parents('.overlay-content').removeClass('focus_test');
});
答案 1 :(得分:0)
使用$ bash --version
GNU bash, version 4.4.12(3)-release (x86_64-unknown-cygwin)
元素获得焦点时,您会在:hover
上显示叠加层,因此您必须将TAB
选择器添加到css中才能显示叠加层。
:focus
=> .my-class:hover .my-overlay { ... }