html - W3C 是否标准化了输入隐藏时焦点的移动?

标签 html css focus w3c

让我们看一个代码示例。 Live version 。 HTML:

<input type="text" class="a" />
<input type="text" class="b" />

CSS:

input:focus {
  background: red;
  display: none;
}

此处,输入在获得焦点后立即失去焦点,因为它被隐藏了。焦点应该转到下一个输入。我认为它应该振荡聚焦任一输入,就像粗体文本在悬停时变得正常一样。

但是当我们在 Chrome 中打开示例并将焦点设置到任一字段时,它们都会失去焦点。 Firefox 做了一件更有趣的事情:两个字段都失去了焦点,但其中一个仍然是隐藏的。

我查看了W3C standard ,但似乎没有什么是有效行为的描述。

什么是正确的行为?它是否已定义?

最佳答案

是的,但它是在 HTML5 规范中,而不是在 CSS 规范中。

这称为焦点修复,描述它的规范如下:http://www.w3.org/html/wg/drafts/html/master/editing.html#focus-fixup-rule-one

简而言之,它表示焦点移动到“[同一]对照组中的第一个非惰性聚焦区域”,但完整的规则太长,无法在此处复制。

关于html - W3C 是否标准化了输入隐藏时焦点的移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27953635/

相关文章:

ios - iOS (iPhoneX) 上的 html5 视频播放

html - 带有本地 HTML 文件的 IE 焦点

:focus within child of contenteditable 上的 CSS

html - 箭头分解到 IE11 中的下一行

php - TinyMce 专注于 Chrome

android - 如何在事件发生后重新聚焦 <TextInput>?

javascript - 如何设计在页面的单独部分调整内容的网页导航菜单

html - Ipad webApp 无法显示复选框左行

php - 将 3 个盒子排成一行

css - Bootstrap 图标不起作用