diff --git a/core/modules/block/block.module b/core/modules/block/block.module
index 42f22fa..2b1589b 100644
--- a/core/modules/block/block.module
+++ b/core/modules/block/block.module
@@ -555,7 +555,6 @@ function template_preprocess_block(&$variables) {
   // Add default class for block content.
   $variables['content_attributes']['class'][] = 'content';
 
-  $variables['theme_hook_suggestions'][] = 'block__' . $variables['block']->region;
   $variables['theme_hook_suggestions'][] = 'block__' . $variables['block']->module;
   // Hyphens (-) and underscores (_) play a special role in theme suggestions.
   // Theme suggestions should only contain underscores, because within
diff --git a/core/modules/block/lib/Drupal/block/Tests/BlockTemplateSuggestionsUnitTest.php b/core/modules/block/lib/Drupal/block/Tests/BlockTemplateSuggestionsUnitTest.php
index d707c80..95f2cf1 100644
--- a/core/modules/block/lib/Drupal/block/Tests/BlockTemplateSuggestionsUnitTest.php
+++ b/core/modules/block/lib/Drupal/block/Tests/BlockTemplateSuggestionsUnitTest.php
@@ -54,7 +54,7 @@ function testBlockThemeHookSuggestions() {
     // Test adding a class to the block content.
     $variables['content_attributes']['class'][] = 'test-class';
     template_preprocess_block($variables);
-    $this->assertEqual($variables['theme_hook_suggestions'], array('block__footer', 'block__system', 'block__system_menu_block', 'block__system_menu_block__menu_admin', 'block__machinename'));
+    $this->assertEqual($variables['theme_hook_suggestions'], array('block__system', 'block__system_menu_block', 'block__system_menu_block__menu_admin', 'block__machinename'));
     $this->assertEqual($variables['content_attributes']['class'], array('test-class', 'content'), 'Default .content class added to block content_attributes_array');
   }
 
diff --git a/core/themes/bartik/bartik.theme b/core/themes/bartik/bartik.theme
index 9a6c8a9..cc77e9f 100644
--- a/core/themes/bartik/bartik.theme
+++ b/core/themes/bartik/bartik.theme
@@ -111,16 +111,6 @@ function bartik_process_maintenance_page(&$variables) {
 }
 
 /**
- * Implements hook_preprocess_HOOK() for block.tpl.php.
- */
-function bartik_preprocess_block(&$variables) {
-  // In the header and footer regions visually hide block titles.
-  if ($variables['block']->region == 'header' || $variables['block']->region == 'footer') {
-    $variables['title_attributes']['class'][] = 'element-invisible';
-  }
-}
-
-/**
  * Implements theme_menu_tree().
  */
 function bartik_menu_tree($variables) {
diff --git a/core/themes/bartik/css/style.css b/core/themes/bartik/css/style.css
index 7a6a376..28c5052 100644
--- a/core/themes/bartik/css/style.css
+++ b/core/themes/bartik/css/style.css
@@ -339,6 +339,13 @@ h1#site-name {
   margin: 0 10px;
   padding: 0;
 }
+.region-header .block > h2 {
+  /* @extend .element-invisible */
+  position: absolute !important;
+  clip: rect(1px, 1px, 1px, 1px);
+  overflow: hidden;
+  height: 1px;
+}
 .region-header .block .content {
   margin: 0;
   padding: 0;
@@ -872,6 +879,13 @@ ul.links {
   padding: 0.5em 0;
   margin-top: 0;
 }
+#footer .block > h2 {
+  /* @extend .element-invisible */
+  position: absolute !important;
+  clip: rect(1px, 1px, 1px, 1px);
+  overflow: hidden;
+  height: 1px;
+}
 #footer .block h2 {
   margin: 0;
 }
