diff --git a/core/includes/form.inc b/core/includes/form.inc
index c94bc62..fa5d8d8 100644
--- a/core/includes/form.inc
+++ b/core/includes/form.inc
@@ -3786,7 +3786,7 @@ function theme_vertical_tabs($variables) {
   // Add required JavaScript and Stylesheet.
   drupal_add_library('system', 'drupal.vertical-tabs');
 
-  $output = '<h2 class="element-invisible">' . t('Vertical Tabs') . '</h2>';
+  $output = '<h2 class="visuallyhidden">' . t('Vertical Tabs') . '</h2>';
   $output .= '<div class="vertical-tabs-panes">' . $element['#children'] . '</div>';
   return $output;
 }
@@ -4479,7 +4479,7 @@ function theme_form_element_label($variables) {
   }
   // Show label only to screen readers to avoid disruption in visual flows.
   elseif ($element['#title_display'] == 'invisible') {
-    $attributes['class'] = 'element-invisible';
+    $attributes['class'] = 'visuallyhidden';
   }
 
   if (!empty($element['#id'])) {
diff --git a/core/includes/menu.inc b/core/includes/menu.inc
index 581a6ce..ee0344b 100644
--- a/core/includes/menu.inc
+++ b/core/includes/menu.inc
@@ -1646,7 +1646,7 @@ function theme_menu_local_task($variables) {
 
   if (!empty($variables['element']['#active'])) {
     // Add text to indicate active tab for non-visual users.
-    $active = '<span class="element-invisible">' . t('(active tab)') . '</span>';
+    $active = '<span class="visuallyhidden">' . t('(active tab)') . '</span>';
 
     // If the link does not contain HTML already, check_plain() it now.
     // After we set 'html'=TRUE the link will not be sanitized by l().
@@ -2247,13 +2247,13 @@ function theme_menu_local_tasks(&$variables) {
   $output = '';
 
   if (!empty($variables['primary'])) {
-    $variables['primary']['#prefix'] = '<h2 class="element-invisible">' . t('Primary tabs') . '</h2>';
+    $variables['primary']['#prefix'] = '<h2 class="visuallyhidden">' . t('Primary tabs') . '</h2>';
     $variables['primary']['#prefix'] .= '<ul class="tabs primary">';
     $variables['primary']['#suffix'] = '</ul>';
     $output .= drupal_render($variables['primary']);
   }
   if (!empty($variables['secondary'])) {
-    $variables['secondary']['#prefix'] = '<h2 class="element-invisible">' . t('Secondary tabs') . '</h2>';
+    $variables['secondary']['#prefix'] = '<h2 class="visuallyhidden">' . t('Secondary tabs') . '</h2>';
     $variables['secondary']['#prefix'] .= '<ul class="tabs secondary">';
     $variables['secondary']['#suffix'] = '</ul>';
     $output .= drupal_render($variables['secondary']);
diff --git a/core/includes/pager.inc b/core/includes/pager.inc
index 40d9c01..692382b 100644
--- a/core/includes/pager.inc
+++ b/core/includes/pager.inc
@@ -259,7 +259,7 @@ function theme_pager($variables) {
         'data' => $li_last,
       );
     }
-    return '<h2 class="element-invisible">' . t('Pages') . '</h2>' . theme('item_list', array(
+    return '<h2 class="visuallyhidden">' . t('Pages') . '</h2>' . theme('item_list', array(
       'items' => $items,
       'attributes' => array('class' => array('pager')),
     ));
diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index 34e1ee5..6086662 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -1511,7 +1511,7 @@ function theme_status_messages($variables) {
   foreach (drupal_get_messages($display) as $type => $messages) {
     $output .= "<div class=\"messages $type\">\n";
     if (!empty($status_heading[$type])) {
-      $output .= '<h2 class="element-invisible">' . $status_heading[$type] . "</h2>\n";
+      $output .= '<h2 class="visuallyhidden">' . $status_heading[$type] . "</h2>\n";
     }
     if (count($messages) > 1) {
       $output .= " <ul>\n";
@@ -1578,7 +1578,7 @@ function theme_link($variables) {
  *     When using a string it will be used as the text of the heading and the
  *     level will default to 'h2'. Headings should be used on navigation menus
  *     and any list of links that consistently appears on multiple pages. To
- *     make the heading invisible use the 'element-invisible' CSS class. Do not
+ *     make the heading invisible use the 'visuallyhidden' CSS class. Do not
  *     use 'display:none', which removes it from screen-readers and assistive
  *     technology. Headings allow screen-reader and keyboard only users to
  *     navigate to or skip the links. See
@@ -1716,8 +1716,8 @@ function theme_breadcrumb($variables) {
   if (!empty($breadcrumb)) {
     $output .= '<nav role="navigation" class="breadcrumb">';
     // Provide a navigational heading to give context for breadcrumb links to
-    // screen-reader users. Make the heading invisible with .element-invisible.
-    $output .= '<h2 class="element-invisible">' . t('You are here') . '</h2>';
+    // screen-reader users. Make the heading invisible with .visuallyhidden.
+    $output .= '<h2 class="visuallyhidden">' . t('You are here') . '</h2>';
     $output .= '<ol><li>' . implode(' » </li><li>', $breadcrumb) . '</li></ol>';
     $output .= '</nav>';
   }
diff --git a/core/includes/theme.maintenance.inc b/core/includes/theme.maintenance.inc
index a2d6870..3d944b4 100644
--- a/core/includes/theme.maintenance.inc
+++ b/core/includes/theme.maintenance.inc
@@ -110,7 +110,7 @@ function theme_task_list($variables) {
   $active = $variables['active'];
 
   $done = isset($items[$active]) || $active == NULL;
-  $output = '<h2 class="element-invisible">Installation tasks</h2>';
+  $output = '<h2 class="visuallyhidden">Installation tasks</h2>';
   $output .= '<ol class="task-list">';
 
   foreach ($items as $k => $item) {
@@ -126,7 +126,7 @@ function theme_task_list($variables) {
     $output .= '<li';
     $output .= ($class ? ' class="' . $class . '"' : '') . '>';
     $output .= $item;
-    $output .= ($status ? '<span class="element-invisible">' . $status . '</span>' : '');
+    $output .= ($status ? '<span class="visuallyhidden">' . $status . '</span>' : '');
     $output .= '</li>';
   }
   $output .= '</ol>';
diff --git a/core/misc/autocomplete.js b/core/misc/autocomplete.js
index 8b0dd72..0b8e07a 100644
--- a/core/misc/autocomplete.js
+++ b/core/misc/autocomplete.js
@@ -19,7 +19,7 @@ Drupal.behaviors.autocomplete = {
       $($input[0].form).submit(Drupal.autocompleteSubmit);
       $input.parent()
         .attr('role', 'application')
-        .append($('<span class="element-invisible" aria-live="assertive"></span>')
+        .append($('<span class="visuallyhidden" aria-live="assertive"></span>')
           .attr('id', $input[0].id + '-autocomplete-aria-live')
         );
       new Drupal.jsAC($input, acdb[uri]);
diff --git a/core/misc/collapse.js b/core/misc/collapse.js
index b484a6f..b2a2fda 100644
--- a/core/misc/collapse.js
+++ b/core/misc/collapse.js
@@ -78,7 +78,7 @@ Drupal.behaviors.collapse = {
       // for CSS positioning.
       var $legend = $fieldset.find('> legend .fieldset-legend');
 
-      $('<span class="fieldset-legend-prefix element-invisible"></span>')
+      $('<span class="fieldset-legend-prefix visuallyhidden"></span>')
         .append($fieldset.hasClass('collapsed') ? Drupal.t('Show') : Drupal.t('Hide'))
         .prependTo($legend)
         .after(' ');
diff --git a/core/misc/vertical-tabs.js b/core/misc/vertical-tabs.js
index baae1d1..33b5cf9 100644
--- a/core/misc/vertical-tabs.js
+++ b/core/misc/vertical-tabs.js
@@ -122,7 +122,7 @@ Drupal.verticalTab.prototype = {
     this.item.addClass('selected');
     // Mark the active tab for screen readers.
     $('#active-vertical-tab').remove();
-    this.link.append('<span id="active-vertical-tab" class="element-invisible">' + Drupal.t('(active tab)') + '</span>');
+    this.link.append('<span id="active-vertical-tab" class="visuallyhidden">' + Drupal.t('(active tab)') + '</span>');
   },
 
   /**
diff --git a/core/modules/block/block.admin.inc b/core/modules/block/block.admin.inc
index aa018da..7672bbc 100644
--- a/core/modules/block/block.admin.inc
+++ b/core/modules/block/block.admin.inc
@@ -394,7 +394,7 @@ function block_admin_configure($form, &$form_state, $module, $delta) {
     );
     $form['visibility']['path']['pages'] = array(
       '#type' => 'textarea',
-      '#title' => '<span class="element-invisible">' . $title . '</span>',
+      '#title' => '<span class="visuallyhidden">' . $title . '</span>',
       '#default_value' => isset($block->pages) ? $block->pages : '',
       '#description' => $description,
     );
diff --git a/core/modules/book/book-navigation.tpl.php b/core/modules/book/book-navigation.tpl.php
index ed608f0..faa5c52 100644
--- a/core/modules/book/book-navigation.tpl.php
+++ b/core/modules/book/book-navigation.tpl.php
@@ -35,7 +35,7 @@
   <nav id="book-navigation-<?php print $book_id; ?>" class="book-navigation">
     <?php print $tree; ?>
     <?php if ($has_links): ?>
-      <h2 class="element-invisible"><?php print t('Book Navigation'); ?></h2>
+      <h2 class="visuallyhidden"><?php print t('Book Navigation'); ?></h2>
       <ul class="book-pager">
       <?php if ($prev_url): ?>
         <li class="previous">
diff --git a/core/modules/forum/forum-icon.tpl.php b/core/modules/forum/forum-icon.tpl.php
index fd1cd13..7ab7f1d 100644
--- a/core/modules/forum/forum-icon.tpl.php
+++ b/core/modules/forum/forum-icon.tpl.php
@@ -21,6 +21,6 @@
   <a id="new"></a>
 <?php endif; ?>
 
-  <span class="element-invisible"><?php print $icon_title ?></span>
+  <span class="visuallyhidden"><?php print $icon_title ?></span>
 
 </div>
diff --git a/core/modules/forum/forum-list.tpl.php b/core/modules/forum/forum-list.tpl.php
index 01c74a3..c17d07f 100644
--- a/core/modules/forum/forum-list.tpl.php
+++ b/core/modules/forum/forum-list.tpl.php
@@ -52,7 +52,7 @@
                */ ?>
         <?php print str_repeat('<div class="indent">', $forum->depth); ?>
           <div class="icon forum-status-<?php print $forum->icon_class; ?>" title="<?php print $forum->icon_title; ?>">
-            <span class="element-invisible"><?php print $forum->icon_title; ?></span>
+            <span class="visuallyhidden"><?php print $forum->icon_title; ?></span>
           </div>
           <div class="name"><a href="<?php print $forum->link; ?>"><?php print $forum->name; ?></a></div>
           <?php if ($forum->description): ?>
diff --git a/core/modules/forum/forum.module b/core/modules/forum/forum.module
index ca9bf7e..b62e553 100644
--- a/core/modules/forum/forum.module
+++ b/core/modules/forum/forum.module
@@ -1154,7 +1154,7 @@ function template_preprocess_forum_list(&$variables) {
     if ($user->uid) {
       $variables['forums'][$id]->new_topics = _forum_topics_unread($forum->tid, $user->uid);
       if ($variables['forums'][$id]->new_topics) {
-        $variables['forums'][$id]->new_text = format_plural($variables['forums'][$id]->new_topics, '1 new post<span class="element-invisible"> in forum %title</span>', '@count new posts<span class="element-invisible"> in forum %title</span>', array('%title' => $variables['forums'][$id]->name));
+        $variables['forums'][$id]->new_text = format_plural($variables['forums'][$id]->new_topics, '1 new post<span class="visuallyhidden"> in forum %title</span>', '@count new posts<span class="visuallyhidden"> in forum %title</span>', array('%title' => $variables['forums'][$id]->name));
         $variables['forums'][$id]->new_url = url("forum/$forum->tid", array('fragment' => 'new'));
         $variables['forums'][$id]->icon_class = 'new';
         $variables['forums'][$id]->icon_title = t('New posts');
@@ -1218,7 +1218,7 @@ function template_preprocess_forum_topic_list(&$variables) {
       $variables['topics'][$id]->new_text = '';
       $variables['topics'][$id]->new_url = '';
       if ($topic->new_replies) {
-        $variables['topics'][$id]->new_text = format_plural($topic->new_replies, '1 new post<span class="element-invisible"> in topic %title</span>', '@count new posts<span class="element-invisible"> in topic %title</span>', array('%title' => $original_title));
+        $variables['topics'][$id]->new_text = format_plural($topic->new_replies, '1 new post<span class="visuallyhidden"> in topic %title</span>', '@count new posts<span class="visuallyhidden"> in topic %title</span>', array('%title' => $original_title));
         $variables['topics'][$id]->new_url = url("node/$topic->nid", array('query' => comment_new_page_count($topic->comment_count, $topic->new_replies, $topic), 'fragment' => 'new'));
       }
 
diff --git a/core/modules/node/lib/Drupal/node/Tests/PageEditTest.php b/core/modules/node/lib/Drupal/node/Tests/PageEditTest.php
index 9fa1061..130412c 100644
--- a/core/modules/node/lib/Drupal/node/Tests/PageEditTest.php
+++ b/core/modules/node/lib/Drupal/node/Tests/PageEditTest.php
@@ -52,7 +52,7 @@ class PageEditTest extends NodeTestBase {
     $this->assertEqual($edit_url, $actual_url, t('On edit page.'));
 
     // Check that the title and body fields are displayed with the correct values.
-    $active = '<span class="element-invisible">' . t('(active tab)') . '</span>';
+    $active = '<span class="visuallyhidden">' . t('(active tab)') . '</span>';
     $link_text = t('!local-task-title!active', array('!local-task-title' => t('Edit'), '!active' => $active));
     $this->assertText(strip_tags($link_text), 0, t('Edit tab found and marked active.'));
     $this->assertFieldByName($title_key, $edit[$title_key], t('Title field displayed.'));
diff --git a/core/modules/node/node.module b/core/modules/node/node.module
index 49d20a7..4224058 100644
--- a/core/modules/node/node.module
+++ b/core/modules/node/node.module
@@ -1271,7 +1271,7 @@ function node_build_content(Node $node, $view_mode = 'full', $langcode = NULL) {
   if ($view_mode == 'teaser') {
     $node_title_stripped = strip_tags($node->title);
     $links['node-readmore'] = array(
-      'title' => t('Read more<span class="element-invisible"> about @title</span>', array('@title' => $node_title_stripped)),
+      'title' => t('Read more<span class="visuallyhidden"> about @title</span>', array('@title' => $node_title_stripped)),
       'href' => 'node/' . $node->nid,
       'html' => TRUE,
       'attributes' => array('rel' => 'tag', 'title' => $node_title_stripped),
diff --git a/core/modules/overlay/overlay-child.js b/core/modules/overlay/overlay-child.js
index 29a9790..ddc2c07 100644
--- a/core/modules/overlay/overlay-child.js
+++ b/core/modules/overlay/overlay-child.js
@@ -64,11 +64,11 @@ Drupal.behaviors.overlayChild = {
     $(context).find('#overlay-disable-message')
       .focusin(function () {
         $(this).addClass('overlay-disable-message-focused')
-          .find('a.element-focusable').removeClass('element-invisible');
+          .find('a.focusable').removeClass('visuallyhidden');
       })
       .focusout(function () {
         $(this).removeClass('overlay-disable-message-focused')
-          .find('a.element-focusable').addClass('element-invisible');
+          .find('a.focusable').addClass('visuallyhidden');
       });
   }
 };
@@ -152,7 +152,7 @@ Drupal.overlayChild.behaviors.tabs = function (context, settings) {
 
   $('#overlay-tabs > li > a').bind('click.drupal-overlay', function () {
     var active_tab = Drupal.t('(active tab)');
-    $tabsLinks.parent().siblings().removeClass('active').find('element-invisible:contains(' + active_tab + ')').appendTo(this);
+    $tabsLinks.parent().siblings().removeClass('active').find('.visuallyhidden:contains(' + active_tab + ')').appendTo(this);
     $(this).parent().addClass('active');
   });
 };
diff --git a/core/modules/overlay/overlay-parent.css b/core/modules/overlay/overlay-parent.css
index dad6d55..d829a59 100644
--- a/core/modules/overlay/overlay-parent.css
+++ b/core/modules/overlay/overlay-parent.css
@@ -38,7 +38,7 @@ html.overlay-open .displace-bottom {
 /**
  * Within the overlay parent, the message about disabling the overlay is for
  * screen-reader users only. It is always kept invisible with the
- * element-invisible class, and removed from the tab order. Overlay-child.css
+ * visuallyhidden class, and removed from the tab order. Overlay-child.css
  * contains styling for the same message appearing within the overlay, and
  * intended for sighted users.
  */
diff --git a/core/modules/overlay/overlay-parent.js b/core/modules/overlay/overlay-parent.js
index 6537cb6..a0b9273 100644
--- a/core/modules/overlay/overlay-parent.js
+++ b/core/modules/overlay/overlay-parent.js
@@ -326,7 +326,7 @@ Drupal.overlay.loadChild = function (event) {
 Drupal.overlay.setFocusBefore = function ($element, document) {
   // Create an anchor inside the placeholder document.
   var placeholder = document.createElement('a');
-  var $placeholder = $(placeholder).addClass('element-invisible').attr('href', '#');
+  var $placeholder = $(placeholder).addClass('visuallyhidden').attr('href', '#');
   // Put the placeholder where it belongs, and set the document focus to it.
   $placeholder.insertBefore($element);
   $placeholder.focus();
diff --git a/core/modules/overlay/overlay.module b/core/modules/overlay/overlay.module
index 7fb7e0b..56b5f7b 100644
--- a/core/modules/overlay/overlay.module
+++ b/core/modules/overlay/overlay.module
@@ -420,9 +420,9 @@ function theme_overlay_disable_message($variables) {
   // screen-reader users, this message appears in both the parent and child
   // documents, but only the one in the child document is part of the tab order.
   foreach (array('profile_link', 'dismiss_message_link') as $key) {
-    $element[$key]['#options']['attributes']['class'][] = 'element-invisible';
+    $element[$key]['#options']['attributes']['class'][] = 'visuallyhidden';
     if (overlay_get_mode() == 'child') {
-      $element[$key]['#options']['attributes']['class'][] = 'element-focusable';
+      $element[$key]['#options']['attributes']['class'][] = 'focusable';
     }
   }
 
@@ -431,7 +431,7 @@ function theme_overlay_disable_message($variables) {
 
   // Add a heading for screen-reader users. The heading doesn't need to be seen
   // by sighted users.
-  $output = '<h3 class="element-invisible">' . t('Options for the administrative overlay') . '</h3>' . $output;
+  $output = '<h3 class="visuallyhidden">' . t('Options for the administrative overlay') . '</h3>' . $output;
 
   // Wrap in a container for styling.
   $output = '<div id="overlay-disable-message" class="clearfix">' . $output . '</div>';
diff --git a/core/modules/overlay/overlay.tpl.php b/core/modules/overlay/overlay.tpl.php
index 54b10af..e86f46b 100644
--- a/core/modules/overlay/overlay.tpl.php
+++ b/core/modules/overlay/overlay.tpl.php
@@ -27,9 +27,9 @@
       <h1 id="overlay-title"<?php print $title_attributes; ?>><?php print $title; ?></h1>
     </div>
     <div id="overlay-close-wrapper">
-      <a id="overlay-close" href="#" class="overlay-close"><span class="element-invisible"><?php print t('Close overlay'); ?></span></a>
+      <a id="overlay-close" href="#" class="overlay-close"><span class="visuallyhidden"><?php print t('Close overlay'); ?></span></a>
     </div>
-    <?php if ($tabs): ?><h2 class="element-invisible"><?php print t('Primary tabs'); ?></h2><ul id="overlay-tabs"><?php print render($tabs); ?></ul><?php endif; ?>
+    <?php if ($tabs): ?><h2 class="visuallyhidden"><?php print t('Primary tabs'); ?></h2><ul id="overlay-tabs"><?php print render($tabs); ?></ul><?php endif; ?>
   </div>
   <div id="overlay-content"<?php print $content_attributes; ?>>
     <?php print $page; ?>
diff --git a/core/modules/system/html.tpl.php b/core/modules/system/html.tpl.php
index 960eefb..f514498 100644
--- a/core/modules/system/html.tpl.php
+++ b/core/modules/system/html.tpl.php
@@ -49,7 +49,7 @@
   </head>
   <body class="<?php print $classes; ?>" <?php print $body_attributes;?>>
     <div id="skip-link">
-      <a href="#main-content" class="element-invisible element-focusable"><?php print t('Skip to main content'); ?></a>
+      <a href="#main-content" class="visuallyhidden focusable"><?php print t('Skip to main content'); ?></a>
     </div>
     <?php print $page_top; ?>
     <?php print $page; ?>
diff --git a/core/modules/system/lib/Drupal/system/Tests/Form/ElementsLabelsTest.php b/core/modules/system/lib/Drupal/system/Tests/Form/ElementsLabelsTest.php
index 982f182..5451e0c 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Form/ElementsLabelsTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Form/ElementsLabelsTest.php
@@ -62,8 +62,8 @@ class ElementsLabelsTest extends WebTestBase {
     $elements = $this->xpath('//input[@id="edit-form-textfield-test-no-title-required"]/preceding-sibling::label[@for="edit-form-textfield-test-no-title-required"]/abbr[@class="form-required"]');
     $this->assertTrue(isset($elements[0]), t("Label tag with required marker precedes required textfield with no title."));
 
-    $elements = $this->xpath('//input[@id="edit-form-textfield-test-title-invisible"]/preceding-sibling::label[@for="edit-form-textfield-test-title-invisible" and @class="element-invisible"]');
-    $this->assertTrue(isset($elements[0]), t("Label preceding field and label class is element-invisible."));
+    $elements = $this->xpath('//input[@id="edit-form-textfield-test-title-invisible"]/preceding-sibling::label[@for="edit-form-textfield-test-title-invisible" and @class="visuallyhidden"]');
+    $this->assertTrue(isset($elements[0]), t("Label preceding field and label class is visuallyhidden."));
 
     $elements = $this->xpath('//input[@id="edit-form-textfield-test-title"]/preceding-sibling::abbr[@class="form-required"]');
     $this->assertFalse(isset($elements[0]), t("No required marker on non-required field."));
diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index 819df67..8d441b3 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -2525,7 +2525,7 @@ function theme_status_report($variables) {
         $severity = $severities[REQUIREMENT_INFO];
       }
 
-      $severity['icon'] = '<div title="' . $severity['title'] . '"><span class="element-invisible">' . $severity['title'] . '</span></div>';
+      $severity['icon'] = '<div title="' . $severity['title'] . '"><span class="visuallyhidden">' . $severity['title'] . '</span></div>';
 
       // Output table rows.
       $output .= '<tr class="' . $severity['class'] . '">';
diff --git a/core/modules/system/system.base.css b/core/modules/system/system.base.css
index 68a1683..8316965 100644
--- a/core/modules/system/system.base.css
+++ b/core/modules/system/system.base.css
@@ -220,7 +220,7 @@ tr .ajax-progress-throbber .throbber {
  * from a user. The effect of this class can be toggled with the jQuery show()
  * and hide() functions.
  */
-.element-hidden {
+.hidden {
   display: none;
 }
 
@@ -232,17 +232,17 @@ tr .ajax-progress-throbber .throbber {
  * manner should be kept concise, to avoid unnecessary burden on the user.
  * "!important" is used to prevent unintentional overrides.
  */
-.element-invisible {
+.visuallyhidden {
   position: absolute !important;
   clip: rect(1px, 1px, 1px, 1px);
 }
 
 /**
- * The .element-focusable class extends the .element-invisible class to allow
+ * The .focusable class extends the .visuallyhidden class to allow
  * the element to be focusable when navigated to via the keyboard.
  */
-.element-invisible.element-focusable:active,
-.element-invisible.element-focusable:focus {
+.visuallyhidden.focusable:active,
+.visuallyhidden.focusable:focus {
   position: static !important;
   clip: auto;
 }
diff --git a/core/modules/toolbar/toolbar.module b/core/modules/toolbar/toolbar.module
index 904a2f8..ef56bf0 100644
--- a/core/modules/toolbar/toolbar.module
+++ b/core/modules/toolbar/toolbar.module
@@ -212,7 +212,7 @@ function toolbar_view() {
     '#theme' => 'links__toolbar_menu',
     '#links' => $links,
     '#attributes' => array('id' => 'toolbar-menu'),
-    '#heading' => array('text' => t('Administrative toolbar'), 'level' => 'h2', 'class' => 'element-invisible'),
+    '#heading' => array('text' => t('Administrative toolbar'), 'level' => 'h2', 'class' => 'visuallyhidden'),
   );
 
   // Add logout & user account links or login link.
@@ -324,7 +324,7 @@ function toolbar_menu_navigation_links($tree) {
       // Add admin link ID.
       $link['attributes'] = array('id' => 'toolbar-link-' . $id);
       if (!empty($item['link']['description'])) {
-        $link['title'] .= ' <span class="element-invisible">(' . $item['link']['description'] . ')</span>';
+        $link['title'] .= ' <span class="visuallyhidden">(' . $item['link']['description'] . ')</span>';
         $link['attributes']['title'] = $item['link']['description'];
       }
       $link['html'] = TRUE;
diff --git a/core/themes/bartik/template.php b/core/themes/bartik/template.php
index 7db1a31..44fd91d 100644
--- a/core/themes/bartik/template.php
+++ b/core/themes/bartik/template.php
@@ -114,7 +114,7 @@ function bartik_process_maintenance_page(&$variables) {
 function bartik_preprocess_block(&$variables) {
   // In the header region visually hide block titles.
   if ($variables['block']->region == 'header') {
-    $variables['title_attributes_array']['class'][] = 'element-invisible';
+    $variables['title_attributes_array']['class'][] = 'visuallyhidden';
   }
 }
 
diff --git a/core/themes/bartik/templates/maintenance-page.tpl.php b/core/themes/bartik/templates/maintenance-page.tpl.php
index 9cdeff7..3fdd23f 100644
--- a/core/themes/bartik/templates/maintenance-page.tpl.php
+++ b/core/themes/bartik/templates/maintenance-page.tpl.php
@@ -25,23 +25,23 @@
 <body class="<?php print $classes; ?>" <?php print $attributes;?>>
 
   <div id="skip-link">
-    <a href="#main-content" class="element-invisible element-focusable"><?php print t('Skip to main content'); ?></a>
+    <a href="#main-content" class="visuallyhidden focusable"><?php print t('Skip to main content'); ?></a>
   </div>
 
   <div id="page-wrapper"><div id="page">
 
     <div id="header"><div class="section clearfix">
       <?php if ($site_name || $site_slogan): ?>
-        <div id="name-and-slogan"<?php if ($hide_site_name && $hide_site_slogan) { print ' class="element-invisible"'; } ?>>
+        <div id="name-and-slogan"<?php if ($hide_site_name && $hide_site_slogan) { print ' class="visuallyhidden"'; } ?>>
           <?php if ($site_name): ?>
-            <div id="site-name"<?php if ($hide_site_name) { print ' class="element-invisible"'; } ?>>
+            <div id="site-name"<?php if ($hide_site_name) { print ' class="visuallyhidden"'; } ?>>
               <strong>
                 <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><span><?php print $site_name; ?></span></a>
               </strong>
             </div>
           <?php endif; ?>
           <?php if ($site_slogan): ?>
-            <div id="site-slogan"<?php if ($hide_site_slogan) { print ' class="element-invisible"'; } ?>>
+            <div id="site-slogan"<?php if ($hide_site_slogan) { print ' class="visuallyhidden"'; } ?>>
               <?php print $site_slogan; ?>
             </div>
           <?php endif; ?>
diff --git a/core/themes/bartik/templates/page.tpl.php b/core/themes/bartik/templates/page.tpl.php
index f753093..b8368b3 100644
--- a/core/themes/bartik/templates/page.tpl.php
+++ b/core/themes/bartik/templates/page.tpl.php
@@ -29,10 +29,10 @@
  * - $site_slogan: The slogan of the site, empty when display has been disabled
  *   in theme settings.
  * - $hide_site_name: TRUE if the site name has been toggled off on the theme
- *   settings page. If hidden, the "element-invisible" class is added to make
+ *   settings page. If hidden, the "visuallyhidden" class is added to make
  *   the site name visually hidden, but still accessible.
  * - $hide_site_slogan: TRUE if the site slogan has been toggled off on the
- *   theme settings page. If hidden, the "element-invisible" class is added to
+ *   theme settings page. If hidden, the "visuallyhidden" class is added to
  *   make the site slogan visually hidden, but still accessible.
  *
  * Navigation:
@@ -98,24 +98,24 @@
     <?php endif; ?>
 
     <?php if ($site_name || $site_slogan): ?>
-      <div id="name-and-slogan"<?php if ($hide_site_name && $hide_site_slogan) { print ' class="element-invisible"'; } ?>>
+      <div id="name-and-slogan"<?php if ($hide_site_name && $hide_site_slogan) { print ' class="visuallyhidden"'; } ?>>
 
         <?php if ($site_name): ?>
           <?php if ($title): ?>
-            <div id="site-name"<?php if ($hide_site_name) { print ' class="element-invisible"'; } ?>>
+            <div id="site-name"<?php if ($hide_site_name) { print ' class="visuallyhidden"'; } ?>>
               <strong>
                 <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><span><?php print $site_name; ?></span></a>
               </strong>
             </div>
           <?php else: /* Use h1 when the content title is empty */ ?>
-            <h1 id="site-name"<?php if ($hide_site_name) { print ' class="element-invisible"'; } ?>>
+            <h1 id="site-name"<?php if ($hide_site_name) { print ' class="visuallyhidden"'; } ?>>
               <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><span><?php print $site_name; ?></span></a>
             </h1>
           <?php endif; ?>
         <?php endif; ?>
 
         <?php if ($site_slogan): ?>
-          <div id="site-slogan"<?php if ($hide_site_slogan) { print ' class="element-invisible"'; } ?>>
+          <div id="site-slogan"<?php if ($hide_site_slogan) { print ' class="visuallyhidden"'; } ?>>
             <?php print $site_slogan; ?>
           </div>
         <?php endif; ?>
@@ -136,7 +136,7 @@
           'heading' => array(
             'text' => t('Main menu'),
             'level' => 'h2',
-            'class' => array('element-invisible'),
+            'class' => array('visuallyhidden'),
           ),
         )); ?>
       </div> <!-- /#main-menu -->
@@ -153,7 +153,7 @@
           'heading' => array(
             'text' => t('Secondary menu'),
             'level' => 'h2',
-            'class' => array('element-invisible'),
+            'class' => array('visuallyhidden'),
           ),
         )); ?>
       </div> <!-- /#secondary-menu -->
diff --git a/core/themes/seven/page.tpl.php b/core/themes/seven/page.tpl.php
index c04a187..549eabf 100644
--- a/core/themes/seven/page.tpl.php
+++ b/core/themes/seven/page.tpl.php
@@ -32,7 +32,7 @@
     <?php endif; ?>
 
     <div id="content" class="clearfix">
-      <div class="element-invisible"><a id="main-content"></a></div>
+      <div class="visuallyhidden"><a id="main-content"></a></div>
       <?php if ($messages): ?>
         <div id="console" class="clearfix"><?php print $messages; ?></div>
       <?php endif; ?>
