diff --git a/core/modules/media_library/js/media_library.view.es6.js b/core/modules/media_library/js/media_library.view.es6.js
index 6c797678f56bcb5e7f581619b01999d8c9b58601..19edce8bb953f83141703cf02d9a036a10db5ded 100644
--- a/core/modules/media_library/js/media_library.view.es6.js
+++ b/core/modules/media_library/js/media_library.view.es6.js
@@ -28,10 +28,10 @@
               .trigger('change');
             // Announce the selection.
             const announcement = $(currentTarget).prop('checked')
-              ? Drupal.t('Zero items selected')
-              : Drupal.t('All @count items selected', {
+              ? Drupal.t('All @count items selected', {
                   '@count': $checkboxes.length,
-                });
+                })
+              : Drupal.t('Zero items selected');
             Drupal.announce(announcement);
           },
         );
diff --git a/core/modules/media_library/js/media_library.view.js b/core/modules/media_library/js/media_library.view.js
index e47d7b878d68c2752537429f77a81bb72752c103..a8c335d50291c2daa4655068708aba049241e399 100644
--- a/core/modules/media_library/js/media_library.view.js
+++ b/core/modules/media_library/js/media_library.view.js
@@ -16,9 +16,9 @@
           var $checkboxes = $(currentTarget).closest('.media-library-view').find('.js-media-library-item input[type="checkbox"]');
           $checkboxes.prop('checked', $(currentTarget).prop('checked')).trigger('change');
 
-          var announcement = $(currentTarget).prop('checked') ? Drupal.t('Zero items selected') : Drupal.t('All @count items selected', {
+          var announcement = $(currentTarget).prop('checked') ? Drupal.t('All @count items selected', {
             '@count': $checkboxes.length
-          });
+          }) : Drupal.t('Zero items selected');
           Drupal.announce(announcement);
         });
         var $label = $('<label class="media-library-select-all"></label>').text(Drupal.t('Select all media'));
diff --git a/core/modules/media_library/media_library.libraries.yml b/core/modules/media_library/media_library.libraries.yml
index 9c14047e4d3575b38d533e951dee331be9d0d718..2eff9bf3ac8f1d9c376fa4b6042b824ec2096748 100644
--- a/core/modules/media_library/media_library.libraries.yml
+++ b/core/modules/media_library/media_library.libraries.yml
@@ -19,6 +19,7 @@ view:
   js:
     js/media_library.view.js: {}
   dependencies:
+    - core/drupal.announce
     - core/drupal.checkbox
     - media_library/style
     - media_library/click_to_select
diff --git a/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php b/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php
index 8e559d257a421f8ca0473e3e11d8a6a6a4829774..802dcf73fc11a4616e96062b316b0409d45d3eab 100644
--- a/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php
+++ b/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php
@@ -138,8 +138,15 @@ public function testAdministrationPage() {
     $assert_session->pageTextNotContains('Dog');
     $assert_session->pageTextContains('Cat');
 
-    // Test 'Select all media'.
-    $this->getSession()->getPage()->checkField('Select all media');
+    // Test the 'Select all media' checkbox and assert that it makes the
+    // expected announcements.
+    $select_all = $assert_session->waitForField('Select all media');
+    $this->assertNotEmpty($select_all);
+    $select_all->check();
+    $this->assertNotEmpty($assert_session->waitForText('All 7 items selected'));
+    $select_all->uncheck();
+    $this->assertNotEmpty($assert_session->waitForText('Zero items selected'));
+    $select_all->check();
     $this->getSession()->getPage()->selectFieldOption('Action', 'media_delete_action');
     $this->submitForm([], 'Apply to selected items');
     $this->getSession()->getPage()->pressButton('Delete');