diff --git a/css/selectors/part.json b/css/selectors/part.json
index 6264eecb18cd85..930440ed249f23 100644
--- a/css/selectors/part.json
+++ b/css/selectors/part.json
@@ -5,6 +5,7 @@
"__compat": {
"description": "::part
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/::part",
+ "spec_url": "https://drafts.csswg.org/css-shadow-parts/#part",
"support": {
"chrome": {
"version_added": "73"
diff --git a/css/selectors/past.json b/css/selectors/past.json
index ca083f78781c31..a2d6594855c7d2 100644
--- a/css/selectors/past.json
+++ b/css/selectors/past.json
@@ -5,6 +5,7 @@
"__compat": {
"description": ":past
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:past",
+ "spec_url": "https://drafts.csswg.org/selectors/#the-past-pseudo",
"support": {
"chrome": {
"version_added": false
diff --git a/css/selectors/placeholder-shown.json b/css/selectors/placeholder-shown.json
index 34010f9ea9de7f..79f1d83787694e 100644
--- a/css/selectors/placeholder-shown.json
+++ b/css/selectors/placeholder-shown.json
@@ -5,6 +5,7 @@
"__compat": {
"description": ":placeholder-shown
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:placeholder-shown",
+ "spec_url": "https://drafts.csswg.org/selectors/#placeholder",
"support": {
"chrome": {
"version_added": "47"
diff --git a/css/selectors/placeholder.json b/css/selectors/placeholder.json
index 77a2b1f0d19c57..14a33ac751184c 100644
--- a/css/selectors/placeholder.json
+++ b/css/selectors/placeholder.json
@@ -5,6 +5,7 @@
"__compat": {
"description": "::placeholder
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/::placeholder",
+ "spec_url": "https://drafts.csswg.org/css-pseudo/#placeholder-pseudo",
"support": {
"chrome": [
{
diff --git a/css/selectors/read-only.json b/css/selectors/read-only.json
index c55db035e5c339..73a461bc17474a 100644
--- a/css/selectors/read-only.json
+++ b/css/selectors/read-only.json
@@ -5,6 +5,10 @@
"__compat": {
"description": ":read-only
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:read-only",
+ "spec_url": [
+ "https://html.spec.whatwg.org/multipage/#selector-read-only",
+ "https://drafts.csswg.org/selectors/#rw-pseudos"
+ ],
"support": {
"chrome": {
"version_added": "1"
diff --git a/css/selectors/read-write.json b/css/selectors/read-write.json
index 8678a7234e7435..ed8a005d2d42ca 100644
--- a/css/selectors/read-write.json
+++ b/css/selectors/read-write.json
@@ -5,6 +5,10 @@
"__compat": {
"description": ":read-write
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:read-write",
+ "spec_url": [
+ "https://html.spec.whatwg.org/multipage/#selector-read-write",
+ "https://drafts.csswg.org/selectors/#rw-pseudos"
+ ],
"support": {
"chrome": {
"version_added": "1"
diff --git a/css/selectors/required.json b/css/selectors/required.json
index ff88727caeb28c..8ca20759c73475 100644
--- a/css/selectors/required.json
+++ b/css/selectors/required.json
@@ -5,6 +5,10 @@
"__compat": {
"description": ":required
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:required",
+ "spec_url": [
+ "https://html.spec.whatwg.org/multipage/#selector-required",
+ "https://drafts.csswg.org/selectors/#opt-pseudos"
+ ],
"support": {
"chrome": {
"version_added": "10"
diff --git a/css/selectors/right.json b/css/selectors/right.json
index 6bbbd62891230b..2034ab52f10214 100644
--- a/css/selectors/right.json
+++ b/css/selectors/right.json
@@ -5,6 +5,7 @@
"__compat": {
"description": "Right-hand page pseudo-class (:right
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:right",
+ "spec_url": "https://drafts.csswg.org/css-page/#left-right-first",
"support": {
"chrome": {
"version_added": "6"
diff --git a/css/selectors/root.json b/css/selectors/root.json
index 542941ac57968e..82a99b80f219af 100644
--- a/css/selectors/root.json
+++ b/css/selectors/root.json
@@ -5,6 +5,7 @@
"__compat": {
"description": ":root
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:root",
+ "spec_url": "https://drafts.csswg.org/selectors/#root-pseudo",
"support": {
"chrome": {
"version_added": "1"
diff --git a/css/selectors/scope.json b/css/selectors/scope.json
index c47a323020eb30..91bc58e28cf25a 100644
--- a/css/selectors/scope.json
+++ b/css/selectors/scope.json
@@ -5,6 +5,7 @@
"__compat": {
"description": ":scope
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:scope",
+ "spec_url": "https://drafts.csswg.org/selectors/#the-scope-pseudo",
"support": {
"chrome": {
"version_added": "27"
diff --git a/css/selectors/selection.json b/css/selectors/selection.json
index 9ea19d1f869345..ceee2d564ac372 100644
--- a/css/selectors/selection.json
+++ b/css/selectors/selection.json
@@ -5,6 +5,7 @@
"__compat": {
"description": "::selection
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/::selection",
+ "spec_url": "https://drafts.csswg.org/css-pseudo/#selectordef-selection",
"support": {
"chrome": {
"version_added": "1"
diff --git a/css/selectors/slotted.json b/css/selectors/slotted.json
index d2c0afc8df4532..1a5c81e4ee6179 100644
--- a/css/selectors/slotted.json
+++ b/css/selectors/slotted.json
@@ -5,6 +5,7 @@
"__compat": {
"description": "::slotted
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/::slotted",
+ "spec_url": "https://drafts.csswg.org/css-scoping/#slotted-pseudo",
"support": {
"chrome": {
"version_added": "50"
diff --git a/css/selectors/spelling-error.json b/css/selectors/spelling-error.json
index f80e1a5232bb63..34bbb2ed6a5042 100644
--- a/css/selectors/spelling-error.json
+++ b/css/selectors/spelling-error.json
@@ -5,6 +5,7 @@
"__compat": {
"description": "::spelling-error
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/::spelling-error",
+ "spec_url": "https://drafts.csswg.org/css-pseudo/#selectordef-spelling-error",
"support": {
"chrome": {
"version_added": false
diff --git a/css/selectors/target-text.json b/css/selectors/target-text.json
index 9731b326187b04..cb17fd3b4451ef 100644
--- a/css/selectors/target-text.json
+++ b/css/selectors/target-text.json
@@ -5,6 +5,7 @@
"__compat": {
"description": "::target-text
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/::target-text",
+ "spec_url": "https://drafts.csswg.org/css-pseudo/#selectordef-target-text",
"support": {
"chrome": {
"version_added": "89"
diff --git a/css/selectors/target-within.json b/css/selectors/target-within.json
index ae4ab3535af261..939b71b81887ff 100644
--- a/css/selectors/target-within.json
+++ b/css/selectors/target-within.json
@@ -5,6 +5,7 @@
"__compat": {
"description": ":target-within
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:target-within",
+ "spec_url": "https://drafts.csswg.org/selectors/#the-target-within-pseudo",
"support": {
"chrome": {
"version_added": false
diff --git a/css/selectors/target.json b/css/selectors/target.json
index f0c635fd00fc95..4d2ba49a55baf0 100644
--- a/css/selectors/target.json
+++ b/css/selectors/target.json
@@ -5,6 +5,10 @@
"__compat": {
"description": ":target
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:target",
+ "spec_url": [
+ "https://html.spec.whatwg.org/multipage/browsers.html#selector-target",
+ "https://drafts.csswg.org/selectors/#the-target-pseudo"
+ ],
"support": {
"chrome": {
"version_added": "1"
diff --git a/css/selectors/type.json b/css/selectors/type.json
index e3dc7fea280959..c0d0852135d082 100644
--- a/css/selectors/type.json
+++ b/css/selectors/type.json
@@ -5,6 +5,7 @@
"__compat": {
"description": "Type selector (elementName
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Type_selectors",
+ "spec_url": "https://drafts.csswg.org/selectors/#type-selectors",
"support": {
"chrome": {
"version_added": "1"
diff --git a/css/selectors/universal.json b/css/selectors/universal.json
index dd1f175d3f4be0..57b245bc24e13f 100644
--- a/css/selectors/universal.json
+++ b/css/selectors/universal.json
@@ -5,6 +5,7 @@
"__compat": {
"description": "Universal selector (*
)",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/Universal_selectors",
+ "spec_url": "https://drafts.csswg.org/selectors/#the-universal-selector",
"support": {
"chrome": {
"version_added": "1"
diff --git a/css/selectors/user-invalid.json b/css/selectors/user-invalid.json
index 071c8bfb4748c9..b4b82595ab5612 100644
--- a/css/selectors/user-invalid.json
+++ b/css/selectors/user-invalid.json
@@ -5,6 +5,7 @@
"__compat": {
"description": ":user-invalid
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:user-invalid",
+ "spec_url": "https://drafts.csswg.org/selectors/#user-invalid-pseudo",
"support": {
"chrome": {
"version_added": false
diff --git a/css/selectors/valid.json b/css/selectors/valid.json
index 1fe82bebd44e13..640cec1e52b347 100644
--- a/css/selectors/valid.json
+++ b/css/selectors/valid.json
@@ -5,6 +5,10 @@
"__compat": {
"description": ":valid
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:valid",
+ "spec_url": [
+ "https://html.spec.whatwg.org/multipage/#selector-valid",
+ "https://drafts.csswg.org/selectors/#validity-pseudos"
+ ],
"support": {
"chrome": {
"version_added": "10"
diff --git a/css/selectors/visited.json b/css/selectors/visited.json
index 3f84ca4edcd4a4..afe0b79391b14a 100644
--- a/css/selectors/visited.json
+++ b/css/selectors/visited.json
@@ -5,6 +5,10 @@
"__compat": {
"description": ":visited
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:visited",
+ "spec_url": [
+ "https://html.spec.whatwg.org/multipage/scripting.html#selector-visited",
+ "https://drafts.csswg.org/selectors/#link"
+ ],
"support": {
"chrome": {
"version_added": "1"
diff --git a/css/selectors/where.json b/css/selectors/where.json
index 650cfe84bdae50..a09d4b0076d5c7 100644
--- a/css/selectors/where.json
+++ b/css/selectors/where.json
@@ -5,6 +5,7 @@
"__compat": {
"description": ":where()
",
"mdn_url": "https://developer.mozilla.org/docs/Web/CSS/:where",
+ "spec_url": "https://drafts.csswg.org/selectors/#zero-matches",
"support": {
"chrome": [
{