diff --git a/app/assets/javascripts/access_tokens/components/access_token_table_app.vue b/app/assets/javascripts/access_tokens/components/access_token_table_app.vue
index 13f8ed9be5eccd4172e354781abcf55980a80da8..e72c090905902623bc7f9fbbc7df1418edea445c 100644
--- a/app/assets/javascripts/access_tokens/components/access_token_table_app.vue
+++ b/app/assets/javascripts/access_tokens/components/access_token_table_app.vue
@@ -46,6 +46,7 @@ export default {
   i18n: {
     button: {
       revoke: s__('AccessTokens|Revoke'),
+      revokeAriaLabel: (name) => sprintf(s__('AccessTokens|Revoke %{name}'), { name }).trim(),
       rotate: s__('AccessTokens|Rotate'),
     },
     emptyDateField: __('Never'),
@@ -309,7 +310,7 @@ export default {
               v-if="revokePath"
               category="tertiary"
               :title="$options.i18n.button.revoke"
-              :aria-label="$options.i18n.button.revoke"
+              :aria-label="$options.i18n.button.revokeAriaLabel(name)"
               :data-confirm="modalMessage(name, 'revoke')"
               data-confirm-btn-variant="danger"
               data-testid="revoke-button"
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 28d30aa5a23a5c6c94f1285c6745e5a26d1c6b5b..3a52e09ce7a685d32e3ae1dfd742f09e9386d296 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -3071,6 +3071,9 @@ msgstr ""
 msgid "AccessTokens|Revoke"
 msgstr ""
 
+msgid "AccessTokens|Revoke %{name}"
+msgstr ""
+
 msgid "AccessTokens|Revoke the token \"%{tokenName}\"?"
 msgstr ""
 
diff --git a/spec/frontend/access_tokens/components/access_token_table_app_spec.js b/spec/frontend/access_tokens/components/access_token_table_app_spec.js
index 4c616127bf2cdd7133e18e7985acfa92d0e2ce3c..d2c545556f8e208a03a3eacdac97d8fbdb08b5b6 100644
--- a/spec/frontend/access_tokens/components/access_token_table_app_spec.js
+++ b/spec/frontend/access_tokens/components/access_token_table_app_spec.js
@@ -222,7 +222,8 @@ describe('~/access_tokens/components/access_token_table_app', () => {
       let buttons = cells.at(8).findAllComponents(GlButton);
       expect(buttons).toHaveLength(2);
       expect(buttons.at(0).attributes()).toMatchObject({
-        'aria-label': 'Revoke',
+        'aria-label': `Revoke ${defaultActiveAccessTokens[0].name}`,
+        title: 'Revoke',
         'data-testid': 'revoke-button',
         href: '/-/user_settings/personal_access_tokens/1/revoke',
         'data-confirm': sprintf(