Html 为什么按下按钮上的Enter键不会导致:Chrome处于活动状态?

Html 为什么按下按钮上的Enter键不会导致:Chrome处于活动状态?,html,css,pseudo-class,Html,Css,Pseudo Class,检查当前Chrome(80)中的以下代码段: foo.addEventListener('click',()=>{ console.log(“按钮激活”); }) 按钮:激活{ 背景颜色:黄色; } 使用单击、输入、空格激活我规范似乎非常清楚这一点: :active伪类在用户激活元素时应用。例如,在用户按下鼠标按钮和释放鼠标按钮之间。在具有多个鼠标按钮的系统上,:active仅适用于主或主激活按钮(通常为“左”鼠标按钮)及其别名 因此,它没有明确提到使用键盘激活元素,但它确实说明了 […]当

检查当前Chrome(80)中的以下代码段:

foo.addEventListener('click',()=>{
console.log(“按钮激活”);
})
按钮:激活{
背景颜色:黄色;
}

使用单击、输入、空格激活我
规范似乎非常清楚这一点:

:active
伪类在用户激活元素时应用。例如,在用户按下鼠标按钮和释放鼠标按钮之间。在具有多个鼠标按钮的系统上,
:active
仅适用于主或主激活按钮(通常为“左”鼠标按钮)及其别名

因此,它没有明确提到使用键盘激活元素,但它确实说明了

[…]当用户激活某个元素时[…]

由于当用户发出Enter或Space时,按钮显然被用户激活,因此Firefox和Chrome显然违反了规范

除此之外,当鼠标右键单击按钮时,Chrome也会应用
:active
(规范中明确规定的情况应该是而不是


将在CSSWG跟踪器中提出一个问题,以使规范的这一部分更加明确。这是:

我想你在寻找
:焦点
未激活?这是否回答了你的问题?或者@awa不幸不是真的。当用户使用Enter,no?@connexo激活按钮时,必须有一种标准的方式给用户视觉反馈,但在第二个链接中,当我输入密码并按下Enter时,您会看到按钮更改的UI,这不是您的意思吗?正如问题中所述,我不是在寻找基于Javascript的解决方案。应该有一个解决方案,即使出于任何原因Javascript不可用,也能起作用。因为当用户发出Enter或Space时,按钮显然被激活,-->如何激活?我没有找到一种简单的方法来使用enter或space激活按钮。@Temaniaff如果它当然需要焦点,那么您可能已经使用Tab键导航到了它。