diff --git a/core/misc/tabledrag.js b/core/misc/tabledrag.js
index 395d092..83b8c3b 100644
--- a/core/misc/tabledrag.js
+++ b/core/misc/tabledrag.js
@@ -792,7 +792,13 @@
 
         self.rowObject.markChanged();
         if (self.changed === false) {
-          $(Drupal.theme('tableDragChangedWarning')).insertBefore(self.table).hide().fadeIn('slow');
+          if (!self.tableDragChangedWarningTheme) {
+            self.tableDragChangedWarningTheme = 'tableDragChangedWarning';
+          }
+
+          var $tableDragChangedWarning = $(Drupal.theme(self.tableDragChangedWarningTheme));
+          $tableDragChangedWarning.insertBefore(self.table).hide().fadeIn('slow');
+          Drupal.announce($tableDragChangedWarning.text());
           self.changed = true;
         }
       }
@@ -1550,7 +1556,10 @@
      *   Markup for the warning.
      */
     tableDragChangedWarning: function () {
-      return '<div class="tabledrag-changed-warning messages messages--warning" role="alert">' + Drupal.theme('tableDragChangedMarker') + ' ' + Drupal.t('You have unsaved changes.') + '</div>';
+      var text = Drupal.t('!changeMarker Changes made in this table will not be saved until the form is submitted.', {
+        '!changeMarker': Drupal.theme('tableDragChangedMarker')
+      });
+      return '<div class="tabledrag-changed-warning messages messages--warning">' + text + '</div>';
     }
   });
 
