Clickable Div - 包裹锚链接还是使用 JS?

Dan*_*cer 3 html javascript css accessibility

我有一个相当复杂的动态 Div 类列表,其中包含各种下一个 div 来显示商店内容 - 整个内容需要具有悬停状态并且可单击(当前应用了悬停样式)和可访问。

我想我可以通过-

1 - 将包含的 Div 设为锚链接并相应设置样式

2 - 在 div 类中嵌套一个锚标记,并编写一个 JS 函数,以便在单击包含的 div 时触发对锚的单击。

正确的方法是什么?

Dan*_*son 5

在这种情况下,我肯定会选择换行,<a>您不必考虑设置tabIndex=0role=link而且您也可以跳过添加额外的 JavaScript 以使按钮可单击并绑定回车键以执行相同的操作。

或者,如果“链接”没有将用户带到另一个位置,而只是显示模式窗口或其他一些奇特的功能,您应该用 a 包裹它,<div><button>这种情况下,您也可以跳过将空格键绑定到操作,因为它是继承的。(但如果你真的不能这样做,你应该添加role=button到包装中<a>

现在您可以专注于样式并记住同时使用:hover:focus