首页 > 解决方案 > 我们什么时候需要 div 和 span 可以点击,为什么不使用按钮呢?

问题描述

据我了解,网页上任何可点击的内容都必须是链接或按钮。如果在点击时,您想将用户带到不同的页面或新的上下文,您应该使用链接,如果您在停留在同一页面时触发操作,则应该使用按钮。

这种理解是否排除了任何用例?

我试图了解何时可以将 div 或 span 与单击处理程序一起使用?你为什么不宁愿使用一个按钮(并正确地设置它的样式)。

如果我们可能永远不需要在 div 或 span 或其他元素上使用它,为什么会存在 role="button" (除了切换按钮用例,可能存在),因为我们可以改为使用按钮并正确设置它的样式?究竟有哪些用例是不可能的?

编辑:保持问题原样关闭,但在此处添加更多发现

标签: htmlaccessibilitywai-aria

解决方案


可点击 div 的用例

一个用例是使div容器可点击,同时内部已经有一个交互式元素,如按钮或链接。

这将改进鼠标导航,使整个区域可点击,而只有链接文本可以通过键盘获得焦点。

但是这个 div 必须没有任何作用,因为您不能在另一个交互元素中拥有交互元素。

button角色用例

唯一有效的用例是我们想要覆盖默认本地角色的已经激活的元素。

这个定义似乎与属性一起使用<input type="checkbox" />的元素相匹配aria-pressed


推荐阅读