diff --git a/src/validate/html/a11y.ts b/src/validate/html/a11y.ts
index d06ba4ce7c..dd1755b0c7 100644
--- a/src/validate/html/a11y.ts
+++ b/src/validate/html/a11y.ts
@@ -130,6 +130,11 @@ export default function a11y(
shouldHaveAttribute(['title']);
}
+ // no-distracting-elements
+ if (node.name === 'marquee' || node.name === 'blink') {
+ validator.warn(`A11y: Avoid <${node.name}> elements`, node.start);
+ }
+
if (node.name === 'figcaption') {
const parent = elementStack[elementStack.length - 1];
if (parent) {
diff --git a/test/validator/samples/a11y-no-distracting-elements/input.html b/test/validator/samples/a11y-no-distracting-elements/input.html
new file mode 100644
index 0000000000..cffd2e6412
--- /dev/null
+++ b/test/validator/samples/a11y-no-distracting-elements/input.html
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/test/validator/samples/a11y-no-distracting-elements/warnings.json b/test/validator/samples/a11y-no-distracting-elements/warnings.json
new file mode 100644
index 0000000000..3b54de094f
--- /dev/null
+++ b/test/validator/samples/a11y-no-distracting-elements/warnings.json
@@ -0,0 +1,19 @@
+[
+ {
+ "message": "A11y: Avoid