我正在为残疾人开发一个应用程序,让他们可以访问任何网站。其中一项功能是使用 TAB 键的键盘导航。
问题是存在取决于 :hover 状态的下拉列表,并且通过调查其他 Stackoverflow 问题,模拟 :hover 状态是不可能的。(尽管 Chrome 在开发人员工具中内置了此功能,所以可能是这样吗?)。
我的解决方案是 JS 解决方案。当 LI 元素具有内部列表时,我将一个类添加到根级别并设置显示、可见性和不透明度全部显示。这真的很好用,除了当网站对下拉列表进行编码时,整个事情都依赖于 :hover 例如:
li:hover > ul { display: block; position: absolute; width: 100%; } ...
如果已经为悬停状态编码了许多属性,而不仅仅是显示/可见性/不透明度,我的方法中的下拉菜单将显示,但没有其真正的设计。这不是世界末日,但残疾人应该按预期使用网站。
因此,我正在寻找一种解决方案来真正模拟 :hover 状态,或者复制悬停状态的整个样式并将它们绑定到我的类。
请注意,内部和长选择器的样式,例如 - li:hover ul li div p {} - 也应该被复制(显然),因此使用 $el.css() 可能不是那么容易。
欢迎聪明的想法!