diff --git a/core/modules/user/src/ProfileForm.php b/core/modules/user/src/ProfileForm.php
index f98437bb0f..5a5fa8cdb2 100644
--- a/core/modules/user/src/ProfileForm.php
+++ b/core/modules/user/src/ProfileForm.php
@@ -24,15 +24,15 @@ protected function actions(array $form, FormStateInterface $form_state) {
         $query['destination'] = $this->getRequest()->query->get('destination');
         $route_info->setOption('query', $query);
       }
-      $element['delete'] = [
+      $element['cancel'] = [
         '#type' => 'link',
         '#title' => $this->t('Cancel account'),
-        '#access' => $this->entity->id() > 1 && $this->entity->access('delete'),
+        '#access' => $this->entity->id() > 1 && $this->entity->access('cancel'),
         '#attributes' => [
           'class' => ['button', 'button--danger'],
         ],
       ];
-      $element['delete']['#url'] = $route_info;
+      $element['cancel']['#url'] = $route_info;
     }
 
     return $element;
diff --git a/core/modules/user/src/UserAccessControlHandler.php b/core/modules/user/src/UserAccessControlHandler.php
index a231d5214d..0d7baa5e8c 100644
--- a/core/modules/user/src/UserAccessControlHandler.php
+++ b/core/modules/user/src/UserAccessControlHandler.php
@@ -71,7 +71,7 @@ protected function checkAccess(EntityInterface $entity, $operation, AccountInter
         }
         return $access_result;
 
-      case 'delete':
+      case 'cancel':
         // Users with 'cancel account' permission can cancel their own account.
         return AccessResult::allowedIfHasPermission($account, 'cancel account')
           ->andIf(AccessResult::allowedIf($account->id() == $entity->id())->cachePerUser());
diff --git a/core/modules/user/tests/src/Kernel/UserDeleteTest.php b/core/modules/user/tests/src/Kernel/UserDeleteTest.php
index 74ce534041..2de249088b 100644
--- a/core/modules/user/tests/src/Kernel/UserDeleteTest.php
+++ b/core/modules/user/tests/src/Kernel/UserDeleteTest.php
@@ -39,7 +39,7 @@ public function testUserDeleteMultiple() {
 
     $uids = [$user_a->id(), $user_b->id(), $user_c->id()];
 
-    // These users should have a role
+    // These users should have a role.
     $connection = Database::getConnection();
     $query = $connection->select('user__roles', 'r');
     $roles_created = $query
@@ -71,4 +71,17 @@ public function testUserDeleteMultiple() {
     $this->assertNull(User::load($user_c->id()));
   }
 
+  /**
+   * Tests deprecated "delete" access key.
+   *
+   * @group legacy
+   */
+  public function testDeleteAccessDeprecated(): void {
+    $this->installSchema('user', ['users_data']);
+    $this->installEntitySchema('user');
+    $account = $this->createUser();
+    $this->expectDeprecation('Checking access to the delete operation on the User entity is deprecated in drupal:10.1.0 and is removed from drupal:11.0.0. Use the "cancel" operation instead. See https://www.drupal.org/node/3346438');
+    $account->access('delete');
+  }
+
 }
