diff --git a/Gemfile b/Gemfile
index f28d7e6705f99ddebdb2471fda9e00b0ac6ddbee..a64233470f7da320ad9f15dbede4e2251d614aaf 100644
--- a/Gemfile
+++ b/Gemfile
@@ -597,7 +597,7 @@ group :test do
   gem 'test-prof', '~> 1.4.0', feature_category: :tooling
   gem 'rspec_junit_formatter', feature_category: :shared
   gem 'guard-rspec', feature_category: :shared
-  gem 'axe-core-rspec', '~> 4.9.0', feature_category: :tooling
+  gem 'axe-core-rspec', '~> 4.10.0', feature_category: :tooling
 
   # Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527
   gem 'derailed_benchmarks', require: false, feature_category: :shared
diff --git a/Gemfile.checksum b/Gemfile.checksum
index 6f25e84ca57522009cece41c7540ce5b65f17b5e..0ec194f26b4369dc246128fa2e411485bfb3cf42 100644
--- a/Gemfile.checksum
+++ b/Gemfile.checksum
@@ -40,8 +40,8 @@
 {"name":"aws-sdk-kms","version":"1.76.0","platform":"ruby","checksum":"e7f75013cba9ba357144f66bbc600631c192e2cda9dd572794be239654e2cf49"},
 {"name":"aws-sdk-s3","version":"1.177.0","platform":"ruby","checksum":"bf2fd9210c3e534f2bd4d90cf855429859bdbfc1911f4d61045a3aaa3ff2f183"},
 {"name":"aws-sigv4","version":"1.9.1","platform":"ruby","checksum":"7753e320c39f80f82f9e0883b30de0e7b99e756adbaedc80c50b6ad59d49c379"},
-{"name":"axe-core-api","version":"4.9.1","platform":"ruby","checksum":"9ea7ac16bfee1cb3545345d210878aa8cccfb41b493e00fe1faab79af4d9fed8"},
-{"name":"axe-core-rspec","version":"4.9.1","platform":"ruby","checksum":"31ef067bee36d6efb3f156a83aa2fb6ac721270a53fb9473f0268e325a3e6efd"},
+{"name":"axe-core-api","version":"4.10.2","platform":"ruby","checksum":"c84ea0a041380a329f38fcfbc32b3759d35b481a27a368471e93afba5aafb289"},
+{"name":"axe-core-rspec","version":"4.10.2","platform":"ruby","checksum":"e302be5807e40eaa170f45559b2067791dfc42a58cb4400d2d6217321f12f775"},
 {"name":"axiom-types","version":"0.1.1","platform":"ruby","checksum":"c1ff113f3de516fa195b2db7e0a9a95fd1b08475a502ff660d04507a09980383"},
 {"name":"babosa","version":"2.0.0","platform":"ruby","checksum":"a6218db8a4dc8fd99260dde8bc3d5fa1a0c52178196e236ebb31e41fbdcdb8a6"},
 {"name":"backport","version":"1.2.0","platform":"ruby","checksum":"912c7dfdd9ee4625d013ddfccb6205c3f92da69a8990f65c440e40f5b2fc7f75"},
diff --git a/Gemfile.lock b/Gemfile.lock
index 46dcd7f564e951c6f03ed671d6d1dc9c71215f1b..4ca887c33d4c79f47596235748d41c04914c9e9a 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -359,12 +359,14 @@ GEM
       aws-sigv4 (~> 1.5)
     aws-sigv4 (1.9.1)
       aws-eventstream (~> 1, >= 1.0.2)
-    axe-core-api (4.9.1)
+    axe-core-api (4.10.2)
       dumb_delegator
+      ostruct
       virtus
-    axe-core-rspec (4.9.1)
-      axe-core-api (= 4.9.1)
+    axe-core-rspec (4.10.2)
+      axe-core-api (= 4.10.2)
       dumb_delegator
+      ostruct
       virtus
     axiom-types (0.1.1)
       descendants_tracker (~> 0.0.4)
@@ -2017,7 +2019,7 @@ DEPENDENCIES
   aws-sdk-cloudformation (~> 1)
   aws-sdk-core (~> 3.215.0)
   aws-sdk-s3 (~> 1.177.0)
-  axe-core-rspec (~> 4.9.0)
+  axe-core-rspec (~> 4.10.0)
   babosa (~> 2.0)
   base32 (~> 0.3.0)
   batch-loader (~> 2.0.5)
@@ -2364,4 +2366,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4.3)
 
 BUNDLED WITH
-   2.5.11
+   2.6.5
diff --git a/Gemfile.next.checksum b/Gemfile.next.checksum
index 9470e69349d85d59e68ff799a136d51bc1adc3bc..4521c973e75787571af9c99ad87fa3a0f0251895 100644
--- a/Gemfile.next.checksum
+++ b/Gemfile.next.checksum
@@ -40,8 +40,8 @@
 {"name":"aws-sdk-kms","version":"1.76.0","platform":"ruby","checksum":"e7f75013cba9ba357144f66bbc600631c192e2cda9dd572794be239654e2cf49"},
 {"name":"aws-sdk-s3","version":"1.177.0","platform":"ruby","checksum":"bf2fd9210c3e534f2bd4d90cf855429859bdbfc1911f4d61045a3aaa3ff2f183"},
 {"name":"aws-sigv4","version":"1.9.1","platform":"ruby","checksum":"7753e320c39f80f82f9e0883b30de0e7b99e756adbaedc80c50b6ad59d49c379"},
-{"name":"axe-core-api","version":"4.9.1","platform":"ruby","checksum":"9ea7ac16bfee1cb3545345d210878aa8cccfb41b493e00fe1faab79af4d9fed8"},
-{"name":"axe-core-rspec","version":"4.9.1","platform":"ruby","checksum":"31ef067bee36d6efb3f156a83aa2fb6ac721270a53fb9473f0268e325a3e6efd"},
+{"name":"axe-core-api","version":"4.10.2","platform":"ruby","checksum":"c84ea0a041380a329f38fcfbc32b3759d35b481a27a368471e93afba5aafb289"},
+{"name":"axe-core-rspec","version":"4.10.2","platform":"ruby","checksum":"e302be5807e40eaa170f45559b2067791dfc42a58cb4400d2d6217321f12f775"},
 {"name":"axiom-types","version":"0.1.1","platform":"ruby","checksum":"c1ff113f3de516fa195b2db7e0a9a95fd1b08475a502ff660d04507a09980383"},
 {"name":"babosa","version":"2.0.0","platform":"ruby","checksum":"a6218db8a4dc8fd99260dde8bc3d5fa1a0c52178196e236ebb31e41fbdcdb8a6"},
 {"name":"backport","version":"1.2.0","platform":"ruby","checksum":"912c7dfdd9ee4625d013ddfccb6205c3f92da69a8990f65c440e40f5b2fc7f75"},
@@ -802,8 +802,8 @@
 {"name":"webmock","version":"3.25.0","platform":"ruby","checksum":"573c23fc4887008c830f22da588db339ca38b6d59856fd57f5a068959474198e"},
 {"name":"webrick","version":"1.8.2","platform":"ruby","checksum":"431746a349199546ff9dd272cae10849c865f938216e41c402a6489248f12f21"},
 {"name":"websocket","version":"1.2.10","platform":"ruby","checksum":"2cc1a4a79b6e63637b326b4273e46adcddf7871caa5dc5711f2ca4061a629fa8"},
-{"name":"websocket-driver","version":"0.7.7","platform":"java","checksum":"e2520a6049feb88691e042d631063fa96d50620fb7f53b30180ae6fb2cf75eb1"},
-{"name":"websocket-driver","version":"0.7.7","platform":"ruby","checksum":"056d99f2cd545712cfb1291650fde7478e4f2661dc1db6a0fa3b966231a146b4"},
+{"name":"websocket-driver","version":"0.7.6","platform":"java","checksum":"bc894b9e9d5aee55ac04b61003e1957c4ef411a5a048199587d0499785b505c3"},
+{"name":"websocket-driver","version":"0.7.6","platform":"ruby","checksum":"f69400be7bc197879726ad8e6f5869a61823147372fd8928836a53c2c741d0db"},
 {"name":"websocket-extensions","version":"0.1.5","platform":"ruby","checksum":"1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241"},
 {"name":"wikicloth","version":"0.8.1","platform":"ruby","checksum":"7ac8a9ca0a948cf472851e521afc6c2a6b04a8f91ef1d824ba6a61ffbd60e6ca"},
 {"name":"wisper","version":"2.0.1","platform":"ruby","checksum":"ce17bc5c3a166f241a2e6613848b025c8146fce2defba505920c1d1f3f88fae6"},
diff --git a/Gemfile.next.lock b/Gemfile.next.lock
index 4e5a8ad367926b9ff87a3fc91071afa747437f7f..4f43413e3c309c13f752a2a1939ace58361d6de8 100644
--- a/Gemfile.next.lock
+++ b/Gemfile.next.lock
@@ -371,12 +371,14 @@ GEM
       aws-sigv4 (~> 1.5)
     aws-sigv4 (1.9.1)
       aws-eventstream (~> 1, >= 1.0.2)
-    axe-core-api (4.9.1)
+    axe-core-api (4.10.2)
       dumb_delegator
+      ostruct
       virtus
-    axe-core-rspec (4.9.1)
-      axe-core-api (= 4.9.1)
+    axe-core-rspec (4.10.2)
+      axe-core-api (= 4.10.2)
       dumb_delegator
+      ostruct
       virtus
     axiom-types (0.1.1)
       descendants_tracker (~> 0.0.4)
@@ -2008,8 +2010,7 @@ GEM
       hashdiff (>= 0.4.0, < 2.0.0)
     webrick (1.8.2)
     websocket (1.2.10)
-    websocket-driver (0.7.7)
-      base64
+    websocket-driver (0.7.6)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
     wikicloth (0.8.1)
@@ -2052,7 +2053,7 @@ DEPENDENCIES
   aws-sdk-cloudformation (~> 1)
   aws-sdk-core (~> 3.215.0)
   aws-sdk-s3 (~> 1.177.0)
-  axe-core-rspec (~> 4.9.0)
+  axe-core-rspec (~> 4.10.0)
   babosa (~> 2.0)
   base32 (~> 0.3.0)
   batch-loader (~> 2.0.5)
@@ -2399,4 +2400,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4.3)
 
 BUNDLED WITH
-   2.5.11
+   2.6.5