为什么属性 CSS 选择器在有和没有撇号的情况下都有效?

Why does an attribute CSS selector work both with and without apostrophes?

我知道CSS 选择器一般应采用以下格式:

tagName[attributeName='attributeValue']

例如 问问题 whosebug.com 主页上的按钮位于匹配以下 CSS 选择器 [=13] 的 div 元素内=]
但是,我在 Chrome DevTools 中看到 div[class=d-flex] 定位器也与此元素匹配,并且发现它是一个正确的定位器!
所以,我的问题是为什么 DevTools 仍然认为属性值周围没有撇号的 CSS 选择器表达式是正确的?

来自the specification

Attribute values must be <ident-token>s or <string-token>s

您永远不需要使用撇号。仅对带空格的值有用。

[data=ok] {
  height:100px;
  background:red;
}
[data="ok ok"] {
  height:100px;
  background:blue;
}
<div data=ok>

</div>

<div data="ok ok">

</div>