diff --git a/coder_sniffer/Drupal/Sniffs/Classes/FullyQualifiedNamespaceSniff.php b/coder_sniffer/Drupal/Sniffs/Classes/FullyQualifiedNamespaceSniff.php
index ee6e564f169a17b1c6fc7cb5860f42ef4eaa48b0..eac0e35ae3bd1cd7908a40df0ab4f1ffcf8b77d3 100644
--- a/coder_sniffer/Drupal/Sniffs/Classes/FullyQualifiedNamespaceSniff.php
+++ b/coder_sniffer/Drupal/Sniffs/Classes/FullyQualifiedNamespaceSniff.php
@@ -65,6 +65,11 @@ class FullyQualifiedNamespaceSniff implements Sniff
             return;
         }
 
+        // Skip names in PHP attributes, no standards defined yet.
+        if (isset($tokens[$stackPtr]['attribute_closer']) === true) {
+            return $tokens[$stackPtr]['attribute_closer'];
+        }
+
         // Check if this is a use statement and ignore those.
         $before = $phpcsFile->findPrevious([T_STRING, T_NS_SEPARATOR, T_WHITESPACE, T_COMMA, T_AS], $stackPtr, null, true);
         if ($tokens[$before]['code'] === T_USE || $tokens[$before]['code'] === T_NAMESPACE) {
diff --git a/tests/Drupal/Classes/FullyQualifiedNamespaceUnitTest.4.inc b/tests/Drupal/Classes/FullyQualifiedNamespaceUnitTest.4.inc
index 1badbe14135fe07d7bd3d58de76b3defb0a0f36b..5b79ae8f05ecdde25157865e11f3f8e37b1bede6 100644
--- a/tests/Drupal/Classes/FullyQualifiedNamespaceUnitTest.4.inc
+++ b/tests/Drupal/Classes/FullyQualifiedNamespaceUnitTest.4.inc
@@ -8,7 +8,7 @@ use Drupal\Core\Access\AccessResult;
 use Drupal\Core\Session\AccountInterface;
 
 /**
- * Test action which is always usable.
+ * Fully qualified names are allowed, there is no standard yet.
  */
 #[\Drupal\action_link\Attribute\StateAction(
   id: 'test_always',
diff --git a/tests/Drupal/Classes/FullyQualifiedNamespaceUnitTest.4.inc.fixed b/tests/Drupal/Classes/FullyQualifiedNamespaceUnitTest.4.inc.fixed
index 07dd59e18f4bfb763974df30e702abdcac3704e1..5b79ae8f05ecdde25157865e11f3f8e37b1bede6 100644
--- a/tests/Drupal/Classes/FullyQualifiedNamespaceUnitTest.4.inc.fixed
+++ b/tests/Drupal/Classes/FullyQualifiedNamespaceUnitTest.4.inc.fixed
@@ -2,17 +2,18 @@
 
 namespace Drupal\action_link_test_plugins\Plugin\StateAction;
 
-use Drupal\Core\StringTranslation\TranslatableMarkup;
-use Drupal\action_link\Attribute\StateAction;
+use Drupal\action_link\Entity\ActionLinkInterface;
 use Drupal\action_link\Plugin\StateAction\StateActionBase;
+use Drupal\Core\Access\AccessResult;
+use Drupal\Core\Session\AccountInterface;
 
 /**
- * Test action which is always usable.
+ * Fully qualified names are allowed, there is no standard yet.
  */
-#[StateAction(
+#[\Drupal\action_link\Attribute\StateAction(
   id: 'test_always',
-  label: new TranslatableMarkup('Test Always'),
-  description: new TranslatableMarkup('Test Always'),
+  label: new \Drupal\Core\StringTranslation\TranslatableMarkup('Test Always'),
+  description: new \Drupal\Core\StringTranslation\TranslatableMarkup('Test Always'),
   directions: [
     'change' => 'change',
   ]
diff --git a/tests/Drupal/Classes/FullyQualifiedNamespaceUnitTest.php b/tests/Drupal/Classes/FullyQualifiedNamespaceUnitTest.php
index 1ec06c33680e99b0b9bd14c4451e2da24b0e1b39..aa80f26a8dce655db0d85c60561f17d10bf4e41a 100644
--- a/tests/Drupal/Classes/FullyQualifiedNamespaceUnitTest.php
+++ b/tests/Drupal/Classes/FullyQualifiedNamespaceUnitTest.php
@@ -38,11 +38,7 @@ class FullyQualifiedNamespaceUnitTest extends CoderSniffUnitTest
         case 'FullyQualifiedNamespaceUnitTest.3.inc':
             return [10 => 2];
         case 'FullyQualifiedNamespaceUnitTest.4.inc':
-            return [
-                13 => 1,
-                15 => 1,
-                16 => 1,
-            ];
+            return [];
         }//end switch
 
         return [];
diff --git a/tests/Drupal/Commenting/ClassCommentUnitTest.inc.fixed b/tests/Drupal/Commenting/ClassCommentUnitTest.inc.fixed
index 805cb8a31870a6e8a521702e19e510d765957be0..3c04bade1848c8b02268180bc1034eefb9b22c81 100644
--- a/tests/Drupal/Commenting/ClassCommentUnitTest.inc.fixed
+++ b/tests/Drupal/Commenting/ClassCommentUnitTest.inc.fixed
@@ -5,8 +5,6 @@
  * Testing class/trait comments.
  */
 
-use Some\Attribute;
-
 /**
  *
  */
@@ -62,7 +60,7 @@ class WrongSpacing {
 /**
  * This is correct.
  */
-#[Attribute(foo: 'bar')]
+#[Some\Attribute(foo: 'bar')]
 #[Other\Attribute(baz: 'qux')]
 class DoubleAttribute {
 
diff --git a/tests/Drupal/Commenting/FunctionCommentUnitTest.inc.fixed b/tests/Drupal/Commenting/FunctionCommentUnitTest.inc.fixed
index 4647d9315ab1bb81853c06ed5f918f95db89b84b..817400caf8624b9bf4004b3632cd106ad9b3d78d 100644
--- a/tests/Drupal/Commenting/FunctionCommentUnitTest.inc.fixed
+++ b/tests/Drupal/Commenting/FunctionCommentUnitTest.inc.fixed
@@ -5,8 +5,6 @@
  * Some function comment tests.
  */
 
-use Some\Attribute;
-
 /**
  * Test.
  *
@@ -581,7 +579,7 @@ class Test41 {
   /**
    * Method docblock.
    */
-  #[Attribute(foo: 'bar')]
+  #[Some\Attribute(foo: 'bar')]
   #[Other\Attribute(baz: 'qux')]
   public function method() {
   }
diff --git a/tests/Drupal/good/good.php b/tests/Drupal/good/good.php
index bd8d911bd520c6a9fc19ec50a48578dbc2593892..26fdb6d63acb3d9b0831146f63d52bf187ecea39 100644
--- a/tests/Drupal/good/good.php
+++ b/tests/Drupal/good/good.php
@@ -1914,3 +1914,35 @@ enum PUROSELY_WRONG_BUT_OK: int {
   case One = 1;
   case Two = 2;
 }
+
+/**
+ * Fully qualified class name is allowed in PHP attributes for now.
+ */
+#[\Drupal\action_link\Attribute\StateAction(
+  id: 'test_always',
+  label: new \Drupal\Core\StringTranslation\TranslatableMarkup('Test Always'),
+  description: new \Drupal\Core\StringTranslation\TranslatableMarkup('Test Always'),
+  directions: [
+    'change' => 'change',
+  ]
+)]
+class TestAlways extends StateActionBase {
+
+  /**
+   * Partial names are ok in attributes for now.
+   */
+  #[Assert\NotBlank]
+  private bool $bar;
+
+  /**
+   * Partially qualified names are ok in attributes for now.
+   */
+  #[CLI\Command(
+    name: 'example',
+    aliases: ['example-foo']
+  )]
+  #[CLI\Option(name: 'pretty_format', description: 'Display the count in pretty format.')]
+  public function test(array $options = ['pretty-format' => TRUE]): void {
+  }
+
+}