From d6026f2fed24174e4e96ffaeb11999092172f50a Mon Sep 17 00:00:00 2001 From: Durvesh-dev Date: Wed, 17 Dec 2025 19:02:38 +0530 Subject: [PATCH 1/8] Allow negated prefers-reduced-motion media queries in AMP validator --- validator/testdata/css/media-not-prefers-reduced-motion.css | 5 +++++ validator/validator-css.protoascii | 1 + 2 files changed, 6 insertions(+) create mode 100644 validator/testdata/css/media-not-prefers-reduced-motion.css diff --git a/validator/testdata/css/media-not-prefers-reduced-motion.css b/validator/testdata/css/media-not-prefers-reduced-motion.css new file mode 100644 index 000000000000..221ff782bd91 --- /dev/null +++ b/validator/testdata/css/media-not-prefers-reduced-motion.css @@ -0,0 +1,5 @@ +@media not (prefers-reduced-motion: reduce) { + .test { + visibility: hidden; + } +} diff --git a/validator/validator-css.protoascii b/validator/validator-css.protoascii index a73c09538e6b..d1b969ce55f1 100644 --- a/validator/validator-css.protoascii +++ b/validator/validator-css.protoascii @@ -1229,6 +1229,7 @@ tags: { # ` - + @@ -123,331 +133,456 @@ - + - + + - -
- -
- -

AMP #0

-Go to iframe -

- Quisque ultricies id augue a convallis. Vivamus euismod est quis tellus laoreet lacinia. In quam tellus, mollis nec porta eget, volutpat sit amet nibh. Duis ac odio sem. Sed consequat, ante gravida fringilla suscipit, libero libero ullamcorper metus, nec porta est elit at est. Curabitur vel diam ligula. Nulla bibendum malesuada odio. -

-

- - Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. - -

-

+

+
+ +
+ +

AMP #0

+ Go to iframe +

+ Quisque ultricies id augue a convallis. Vivamus euismod est quis tellus laoreet lacinia. In quam tellus, mollis + nec porta eget, volutpat sit amet nibh. Duis ac odio sem. Sed consequat, ante gravida fringilla suscipit, libero + libero ullamcorper metus, nec porta est elit at est. Curabitur vel diam ligula. Nulla bibendum malesuada odio. +

+

+ + Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. + +

+

Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt.
-

- -

- Top - Image0 - Footer -

- -

- - - - - + +

+ Top + Image0 + Footer +

+ +

+ + + + + - - - -

-

- - - - - + +

+

+ + + + + - - - -

-

- + +

+

+ - - -

+ +

-

Video

- +

Video

+ -

Youtube

- +

Youtube

+ - + -

Audio

+

Audio

-

Lightbox

- -

- +

+

+ +

+ +
+ + + +

Scrollable Lightbox

+ + -

+

+ +

+ +

+ +

+ +

+ +

+ + + + +
+ + + +

Images

+

+ Responsive (w/srcset, w/image-lightbox)

- + +

-

+ Fixed +

+

- - +

+ None +

+ +

+

+ Lorem ipsum dolor sit amet. +

+ + +

+ Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id + nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium + legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla + legere ut. Simul numquam saperet no sit. +

-

Scrollable Lightbox

- -

- + Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id + nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium + legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla + legere ut. Simul numquam saperet no sit.

-

+

- +

-

+

- + Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id + nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium + legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla + legere ut. Simul numquam saperet no sit.

-
+

Media query selection

+ + +

+

+

- - -

+

-
- - - -

Images

-

- Responsive (w/srcset, w/image-lightbox) -

- - -

- -

- Fixed -

- -

- -

- None -

- -

-

- Lorem ipsum dolor sit amet. -

- - -

- Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla legere ut. Simul numquam saperet no sit. -

- -

- Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla legere ut. Simul numquam saperet no sit. -

-

- -

-

- -

-

- -

-

- Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla legere ut. Simul numquam saperet no sit. -

-
-

Media query selection

- - -

-

- -

-

- -

-

- -

-

- Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla legere ut. Simul numquam saperet no sit. -

-

- -

-

- -

-

- -

-

Twitter

- - - - - - - -

- -

-

- Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla legere ut. Simul numquam saperet no sit. -

-

Instagram

- - - -

IFrame

- + +

+

+ Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id + nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium + legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla + legere ut. Simul numquam saperet no sit. +

+

+ +

+

+ +

+

+ +

+

Twitter

+ + + + + + + +

+ +

+

+ Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id + nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium + legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla + legere ut. Simul numquam saperet no sit. +

+

Instagram

+ + + +

IFrame

+ - -
- Go back -
-

- - - -

SVG

- - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
+ +
+ Go back +
+

+ + + +

SVG

+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ From 7cfffb32af6edecb0192e843e6f73dd804a5d047 Mon Sep 17 00:00:00 2001 From: Durvesh-dev Date: Fri, 6 Mar 2026 01:12:20 +0530 Subject: [PATCH 3/8] Fix validator test for negated prefers-reduced-motion media query --- validator/testdata/feature_tests/everything.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validator/testdata/feature_tests/everything.html b/validator/testdata/feature_tests/everything.html index 42559aa85232..c078e1f455d0 100644 --- a/validator/testdata/feature_tests/everything.html +++ b/validator/testdata/feature_tests/everything.html @@ -69,7 +69,7 @@ } } - /* Test: allow negated prefers-reduced-motion media query */ + /* OK */ @media not (prefers-reduced-motion: reduce) { body { background: red; From 7b0153c0c70d0c8fe607ae9f61f06d305f6a503b Mon Sep 17 00:00:00 2001 From: Durvesh-dev Date: Fri, 6 Mar 2026 01:22:41 +0530 Subject: [PATCH 4/8] Add test for negated prefers-reduced-motion media query --- .../testdata/feature_tests/everything.html | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/validator/testdata/feature_tests/everything.html b/validator/testdata/feature_tests/everything.html index c078e1f455d0..28aebe0e8622 100644 --- a/validator/testdata/feature_tests/everything.html +++ b/validator/testdata/feature_tests/everything.html @@ -69,13 +69,6 @@ } } - /* OK */ - @media not (prefers-reduced-motion: reduce) { - body { - background: red; - } - } - .goto { display: block; margin: 16px; @@ -122,6 +115,13 @@ width: 200vw; background: rgba(0, 0, 0, 0.5); } + + /* Test: negated prefers-reduced-motion media query */ + @media not (prefers-reduced-motion: reduce) { + body { + background: red; + } + } @@ -283,13 +283,9 @@

AMP #0

-

Video

- +

Video

+

Youtube

From 8c4458a3f6d9dce627c708e5ec557b0b62186a90 Mon Sep 17 00:00:00 2001 From: Durvesh-dev Date: Fri, 6 Mar 2026 01:28:15 +0530 Subject: [PATCH 5/8] Fix validator test for prefers-reduced-motion using supported syntax --- validator/testdata/feature_tests/everything.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validator/testdata/feature_tests/everything.html b/validator/testdata/feature_tests/everything.html index 28aebe0e8622..42e788d57083 100644 --- a/validator/testdata/feature_tests/everything.html +++ b/validator/testdata/feature_tests/everything.html @@ -117,7 +117,7 @@ } /* Test: negated prefers-reduced-motion media query */ - @media not (prefers-reduced-motion: reduce) { + @media not all and (prefers-reduced-motion: reduce) { body { background: red; } From 795d324101c3409d7c22e8e3cc673bdd4728dea3 Mon Sep 17 00:00:00 2001 From: Durvesh-dev Date: Fri, 6 Mar 2026 23:15:29 +0530 Subject: [PATCH 6/8] Add validator feature test for negated prefers-reduced-motion media query --- validator/testdata/feature_tests/everything.out | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/validator/testdata/feature_tests/everything.out b/validator/testdata/feature_tests/everything.out index 92179e5fd0a6..b4fc81b48607 100644 --- a/validator/testdata/feature_tests/everything.out +++ b/validator/testdata/feature_tests/everything.out @@ -113,6 +113,12 @@ PASS | background: rgba(0, 0, 0, 0.5); | } | +| @media not all and (prefers-reduced-motion: reduce) { +| body { +| background: red; +| } +| } +| | | | From 7384c74022adf504aa0ef84a5c4c474fec9c4357 Mon Sep 17 00:00:00 2001 From: Durvesh-dev Date: Sat, 7 Mar 2026 01:20:34 +0530 Subject: [PATCH 7/8] Normalize validator feature test fixture and keep negated prefers-reduced-motion test --- .../testdata/feature_tests/everything.html | 692 +++++++----------- 1 file changed, 282 insertions(+), 410 deletions(-) diff --git a/validator/testdata/feature_tests/everything.html b/validator/testdata/feature_tests/everything.html index 42e788d57083..6049767f81f9 100644 --- a/validator/testdata/feature_tests/everything.html +++ b/validator/testdata/feature_tests/everything.html @@ -1,17 +1,15 @@ - AMP #0 - + - + @@ -133,456 +130,331 @@ - + - + - - -
- -
- -

AMP #0

- Go to iframe -

- Quisque ultricies id augue a convallis. Vivamus euismod est quis tellus laoreet lacinia. In quam tellus, mollis - nec porta eget, volutpat sit amet nibh. Duis ac odio sem. Sed consequat, ante gravida fringilla suscipit, libero - libero ullamcorper metus, nec porta est elit at est. Curabitur vel diam ligula. Nulla bibendum malesuada odio. -

-

- - Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. - -

-

+

+
+ +
+ +

AMP #0

+Go to iframe +

+ Quisque ultricies id augue a convallis. Vivamus euismod est quis tellus laoreet lacinia. In quam tellus, mollis nec porta eget, volutpat sit amet nibh. Duis ac odio sem. Sed consequat, ante gravida fringilla suscipit, libero libero ullamcorper metus, nec porta est elit at est. Curabitur vel diam ligula. Nulla bibendum malesuada odio. +

+

+ + Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. + +

+

Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt.
-

- -

- Top - Image0 - Footer -

- -

- - - - - + +

+ Top + Image0 + Footer +

+ +

+ + + + + - - - -

-

- - - - - + +

+

+ + + + + - - - -

-

- + +

+

+ - - -

+ +

-

Video

- +

Video

+ -

Youtube

- +

Youtube

+ - + -

Audio

+

Audio

-

Lightbox

- -

- -

-

- -

- -
- - - -

Scrollable Lightbox

- - -

- -

- -

- -

- -

- -

- - - - -
- - - -

Images

-

- Responsive (w/srcset, w/image-lightbox) -

- - -

- -

- Fixed -

-

-

- None -

- +

-

- Lorem ipsum dolor sit amet. -

- - -

- Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id - nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium - legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla - legere ut. Simul numquam saperet no sit. +

+ + + +

Scrollable Lightbox

+ +

- Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id - nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium - legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla - legere ut. Simul numquam saperet no sit. -

-

- -

-

- -

-

- -

-

- Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id - nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium - legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla - legere ut. Simul numquam saperet no sit. -

-
-

Media query selection

- - -

-

- -

-

- -

-

- +

-

- Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id - nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium - legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla - legere ut. Simul numquam saperet no sit. +

- +

-

- +

- +

-

Twitter

- - - - - - - -

- +

-

- Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id - nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium - legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla - legere ut. Simul numquam saperet no sit. + + +

-

Instagram

- - - -

IFrame

- + + + +

Images

+

+ Responsive (w/srcset, w/image-lightbox) +

+ + +

+ +

+ Fixed +

+ +

+ +

+ None +

+ +

+

+ Lorem ipsum dolor sit amet. +

+ + +

+ Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla legere ut. Simul numquam saperet no sit. +

+ +

+ Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla legere ut. Simul numquam saperet no sit. +

+

+ +

+

+ +

+

+ +

+

+ Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla legere ut. Simul numquam saperet no sit. +

+
+

Media query selection

+ + +

+

+ +

+

+ +

+

+ +

+

+ Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla legere ut. Simul numquam saperet no sit. +

+

+ +

+

+ +

+

+ +

+

Twitter

+ + + + + + + +

+ +

+

+ Lorem ipsum dolor sit amet, has nisl nihil convenire et, vim at aeque inermis reprehendunt. Propriae tincidunt id nec, elit nusquam te mea, ius noster platonem in. Mea an idque minim, sit sale deleniti apeirian et. Omnium legendos tractatos cu mea. Vix in stet dolorem accusamus. Iisque rationibus consetetur in cum, quo unum nulla legere ut. Simul numquam saperet no sit. +

+

Instagram

+ + + +

IFrame

+ - -
- Go back -
-

- - - -

SVG

- - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
+ +
+ Go back +
+

+ + + +

SVG

+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
- From ee4795aa8e339b876bf9a7bc3a9123386a7b5573 Mon Sep 17 00:00:00 2001 From: Durvesh-dev Date: Sat, 7 Mar 2026 01:38:56 +0530 Subject: [PATCH 8/8] Update everything.out from latest validator CI output --- validator/testdata/feature_tests/everything.out | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/validator/testdata/feature_tests/everything.out b/validator/testdata/feature_tests/everything.out index b4fc81b48607..73f4e65ec991 100644 --- a/validator/testdata/feature_tests/everything.out +++ b/validator/testdata/feature_tests/everything.out @@ -113,6 +113,7 @@ PASS | background: rgba(0, 0, 0, 0.5); | } | +| /* Test: negated prefers-reduced-motion media query */ | @media not all and (prefers-reduced-motion: reduce) { | body { | background: red; @@ -457,4 +458,4 @@ PASS | | | -| +| \ No newline at end of file