From 9d5ddbd8533a023ade2fd5ad6a24d40a1c27f2c1 Mon Sep 17 00:00:00 2001 From: HasnainAshfaq Date: Fri, 31 Jul 2026 18:08:17 +0500 Subject: [PATCH] Privacy: Rename "Complete request" to "Close request" on the Erase Personal Data screen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The row action "Complete request" in the Erase Personal Data list table was easily mistaken for an instruction to execute the erasure, when in fact it only marks the request as completed without running any erasers. Rename it to "Close request" to make clear the action does not erase data, following the suggestion from the ticket. Also fix an incorrect aria-label that said "Mark export request for..." on the erasure screen — it now correctly says "Mark erasure request for..." Fixes #65735. --- ...ivacy-data-removal-requests-list-table.php | 4 +- .../wpPrivacyDataRemovalRequestsListTable.php | 62 +++++++++++++++++++ 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 tests/phpunit/tests/privacy/wpPrivacyDataRemovalRequestsListTable.php diff --git a/src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php b/src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php index 716535160f12d..d9c2da1c2e3b8 100644 --- a/src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php +++ b/src/wp-admin/includes/class-wp-privacy-data-removal-requests-list-table.php @@ -91,11 +91,11 @@ public function column_email( $item ) { esc_attr( sprintf( /* translators: %s: Request email. */ - __( 'Mark export request for “%s” as completed.' ), + __( 'Mark erasure request for “%s” as completed.' ), $item->email ) ), - __( 'Complete request' ) + __( 'Close request' ) ); $complete_request_markup .= ''; } diff --git a/tests/phpunit/tests/privacy/wpPrivacyDataRemovalRequestsListTable.php b/tests/phpunit/tests/privacy/wpPrivacyDataRemovalRequestsListTable.php new file mode 100644 index 0000000000000..5cb75a50e0f90 --- /dev/null +++ b/tests/phpunit/tests/privacy/wpPrivacyDataRemovalRequestsListTable.php @@ -0,0 +1,62 @@ + 'erase-personal-data' ) ); + } + + /** + * @ticket 65735 + */ + public function test_column_email_close_request_link_text() { + $request = wp_get_user_request( self::$request_id ); + ob_start(); + echo self::$list_table->column_email( $request ); + $output = ob_get_clean(); + + $this->assertStringContainsString( 'Close request', $output, 'Row action should be labelled "Close request".' ); + $this->assertStringNotContainsString( 'Complete request', $output, 'Row action should not use the ambiguous "Complete request" label.' ); + } + + /** + * @ticket 65735 + */ + public function test_column_email_aria_label_references_erasure_not_export() { + $request = wp_get_user_request( self::$request_id ); + ob_start(); + echo self::$list_table->column_email( $request ); + $output = ob_get_clean(); + + $this->assertStringContainsString( 'erasure request', $output, 'Aria-label should reference an erasure request, not an export request.' ); + $this->assertStringNotContainsString( 'export request', $output, 'Aria-label should not reference an export request on the erasure screen.' ); + } +}