diff --git a/after/syntax/css/selectors-nonelement-1.vim b/after/syntax/css/selectors-nonelement-1.vim
new file mode 100644
index 0000000..46a0315
--- /dev/null
+++ b/after/syntax/css/selectors-nonelement-1.vim
@@ -0,0 +1 @@
+syn region cssPseudoClassLang matchgroup=cssPseudoClassId start="::attr(" end=")" oneline
diff --git a/after/syntax/html.vim b/after/syntax/html.vim
index 5e3084b..728186a 100644
--- a/after/syntax/html.vim
+++ b/after/syntax/html.vim
@@ -51,3 +51,4 @@ syn include @htmlCss syntax/css/css-writing-modes-3.vim
syn include @htmlCss syntax/css/html5-elements.vim
syn include @htmlCss syntax/css/motion-1.vim
syn include @htmlCss syntax/css/selectors4.vim
+syn include @htmlCss syntax/css/selectors-nonelement-1.vim
diff --git a/test/test.css b/test/test.css
index c60f70c..bce244d 100644
--- a/test/test.css
+++ b/test/test.css
@@ -474,6 +474,10 @@
display: auto;
}
+.selectors-nonelement-1::attr(title) {
+ display: auto;
+}
+
.shapes {
shape-outside: margin-box;
shape-image-threshold: inset(50% 50% 50% 50%);
diff --git a/test/test.html b/test/test.html
index 82fc816..e0a42a7 100644
--- a/test/test.html
+++ b/test/test.html
@@ -521,6 +521,11 @@
}
+