diff --git a/core/modules/book/book-navigation.tpl.php b/core/modules/book/book-navigation.tpl.php
index 5d8e9aa..a3403f0 100644
--- a/core/modules/book/book-navigation.tpl.php
+++ b/core/modules/book/book-navigation.tpl.php
@@ -1,5 +1,4 @@
 <?php
-
 /**
  * @file
  * Default theme implementation to navigate books. Presented under nodes that
@@ -30,22 +29,27 @@
  */
 ?>
 <?php if ($tree || $has_links): ?>
-  <div id="book-navigation-<?php print $book_id; ?>" class="book-navigation">
+  <nav id="book-navigation-<?php print $book_id; ?>" class="book-navigation">
     <?php print $tree; ?>
-
     <?php if ($has_links): ?>
-    <div class="page-links clearfix">
+      <h2 class="element-invisible"><?php print t('Book Navigation'); ?></h2>
+      <ul class="page-links">
       <?php if ($prev_url): ?>
-        <a href="<?php print $prev_url; ?>" class="page-previous" title="<?php print t('Go to previous page'); ?>"><?php print t('‹ ') . $prev_title; ?></a>
+        <li class="page-previous">
+          <a href="<?php print $prev_url; ?>" rel="prev" title="<?php print t('Go to previous page'); ?>"><b><?php print t('‹'); ?></b><?php print $prev_title; ?></a>
+        </li>
       <?php endif; ?>
       <?php if ($parent_url): ?>
-        <a href="<?php print $parent_url; ?>" class="page-up" title="<?php print t('Go to parent page'); ?>"><?php print t('up'); ?></a>
+        <li class="page-up">
+          <a href="<?php print $parent_url; ?>" title="<?php print t('Go to parent page'); ?>"><?php print t('up'); ?></a>
+        </li>
       <?php endif; ?>
       <?php if ($next_url): ?>
-        <a href="<?php print $next_url; ?>" class="page-next" title="<?php print t('Go to next page'); ?>"><?php print $next_title . t(' ›'); ?></a>
+        <li class="page-next">
+          <a href="<?php print $next_url; ?>" rel="next" title="<?php print t('Go to next page'); ?>"><?php print $next_title;?><b><?php print t('›'); ?></b></a>
+        </li>
       <?php endif; ?>
-    </div>
+    </ul>
     <?php endif; ?>
-
-  </div>
+  </nav>
 <?php endif; ?>
diff --git a/core/modules/book/book-rtl.css b/core/modules/book/book-rtl.css
deleted file mode 100644
index f3a84c2..0000000
--- a/core/modules/book/book-rtl.css
+++ /dev/null
@@ -1,11 +0,0 @@
-
-.book-navigation .menu {
-  padding: 1em 3em 0 0;
-}
-
-.book-navigation .page-previous {
-  float: right;
-}
-.book-navigation .page-up {
-  float: right;
-}
diff --git a/core/modules/book/book.admin.css b/core/modules/book/book.admin.css
new file mode 100644
index 0000000..c6af004
--- /dev/null
+++ b/core/modules/book/book.admin.css
@@ -0,0 +1,12 @@
+
+/**
+ * @file
+ * admin styles for book module.
+ */
+
+/**
+ * Book outline on book edit form.
+ */
+.js #edit-book-pick-book {
+  display: none;
+}
diff --git a/core/modules/book/book.css b/core/modules/book/book.css
deleted file mode 100644
index 3348c0f..0000000
--- a/core/modules/book/book.css
+++ /dev/null
@@ -1,51 +0,0 @@
-
-.book-navigation .menu {
-  border-top: 1px solid #888;
-  padding: 1em 0 0 3em; /* LTR */
-}
-.book-navigation .page-links {
-  border-top: 1px solid #888;
-  border-bottom: 1px solid #888;
-  text-align: center;
-  padding: 0.5em;
-}
-.book-navigation .page-previous {
-  text-align: left;
-  width: 42%;
-  display: block;
-  float: left; /* LTR */
-}
-.book-navigation .page-up {
-  margin: 0 5%;
-  width: 4%;
-  display: block;
-  float: left; /* LTR */
-}
-.book-navigation .page-next {
-  text-align: right;
-  width: 42%;
-  display: block;
-  float: right;
-}
-.book-outline-form .form-item {
-  margin-top: 0;
-  margin-bottom: 0;
-}
-html.js #edit-book-pick-book {
-  display: none;
-}
-.form-item-book-bid .description {
-  clear: both;
-}
-#book-admin-edit select {
-  margin-right: 24px;
-}
-#book-admin-edit select.progress-disabled {
-  margin-right: 0;
-}
-#book-admin-edit tr.ajax-new-content {
-  background-color: #ffd;
-}
-#book-admin-edit .form-item {
-  float: left;
-}
diff --git a/core/modules/book/book.info b/core/modules/book/book.info
index 0f4d2b1..15984ad 100644
--- a/core/modules/book/book.info
+++ b/core/modules/book/book.info
@@ -5,4 +5,4 @@ version = VERSION
 core = 8.x
 files[] = book.test
 configure = admin/content/book/settings
-stylesheets[all][] = book.css
+stylesheets[all][] = book.theme.css
diff --git a/core/modules/book/book.module b/core/modules/book/book.module
index de09034..ce3c9e4 100644
--- a/core/modules/book/book.module
+++ b/core/modules/book/book.module
@@ -401,13 +401,16 @@ function book_form_node_form_alter(&$form, &$form_state, $form_id) {
   if ($access) {
     _book_add_form_elements($form, $form_state, $node);
     // Since the "Book" dropdown can't trigger a form submission when
-    // JavaScript is disabled, add a submit button to do that. book.css hides
+    // JavaScript is disabled, add a submit button to do that. book.admin.css hides
     // this button when JavaScript is enabled.
     $form['book']['pick-book'] = array(
       '#type' => 'submit',
       '#value' => t('Change book (update list of parents)'),
       '#submit' => array('book_pick_book_nojs_submit'),
       '#weight' => 20,
+      '#attached' => array(
+        'css' => array(drupal_get_path('module', 'book') . '/book.admin.css'),
+      ),
     );
   }
 }
diff --git a/core/modules/book/book.test b/core/modules/book/book.test
index 6c351b8..c97221d 100644
--- a/core/modules/book/book.test
+++ b/core/modules/book/book.test
@@ -137,15 +137,15 @@ class BookTestCase extends DrupalWebTestCase {
 
     // Check previous, up, and next links.
     if ($previous) {
-      $this->assertRaw(l('‹ ' . $previous->title, 'node/' . $previous->nid, array('attributes' => array('class' => array('page-previous'), 'title' => t('Go to previous page')))), t('Previous page link found.'));
+      $this->assertRaw(l('<b>‹</b>' . $previous->title, 'node/' . $previous->nid, array('html'=> TRUE, 'attributes' => array('rel' => array('prev'), 'title' => t('Go to previous page')))), t('Previous page link found.'));
     }
 
     if ($up) {
-      $this->assertRaw(l('up', 'node/' . $up->nid, array('attributes' => array('class' => array('page-up'), 'title' => t('Go to parent page')))), t('Up page link found.'));
+      $this->assertRaw(l('up', 'node/' . $up->nid, array('attributes' => array('title' => t('Go to parent page')))), t('Up page link found.'));
     }
 
     if ($next) {
-      $this->assertRaw(l($next->title . ' ›', 'node/' . $next->nid, array('attributes' => array('class' => array('page-next'), 'title' => t('Go to next page')))), t('Next page link found.'));
+      $this->assertRaw(l($next->title . '<b>›</b>', 'node/' . $next->nid, array('html'=> TRUE, 'attributes' => array('rel' => array('next'), 'title' => t('Go to next page')))), t('Next page link found.'));
     }
 
     // Compute the expected breadcrumb.
@@ -184,7 +184,7 @@ class BookTestCase extends DrupalWebTestCase {
       $outline .= '(node\/' . $node->nid . ')(.*?)(' . $node->title . ')(.*?)';
     }
 
-    return '/<div id="book-navigation-' . $this->book->nid . '"(.*?)<ul(.*?)' . $outline . '<\/ul>/s';
+    return '/<nav id="book-navigation-' . $this->book->nid . '"(.*?)<ul(.*?)' . $outline . '<\/ul>/s';
   }
 
   /**
diff --git a/core/modules/book/book.theme-rtl.css b/core/modules/book/book.theme-rtl.css
new file mode 100644
index 0000000..9e9bf50
--- /dev/null
+++ b/core/modules/book/book.theme-rtl.css
@@ -0,0 +1,22 @@
+/**
+ * @file
+ * RTL styling for the book module.
+ */
+
+/**
+ * Book navigation.
+ */
+.book-navigation .menu {
+  padding: 1em 3em 0 0;
+}
+.book-navigation .page-previous{
+  text-align: right;
+  float: right;
+}
+.book-navigation .page-up {
+  *float: right; /*IE7*/ 
+}
+.book-navigation .page-next {
+  float:left;
+  text-align:left;
+}
diff --git a/core/modules/book/book.theme.css b/core/modules/book/book.theme.css
new file mode 100644
index 0000000..5b1d73a
--- /dev/null
+++ b/core/modules/book/book.theme.css
@@ -0,0 +1,47 @@
+/**
+ * @file
+ * Styling for the book module.
+ */
+
+/**
+ * Book navigation.
+ */
+.book-navigation .menu {
+  border-top: 1px solid #D6D6D6;
+  padding: 1em 0 0 3em; /* LTR */
+}
+.book-navigation .page-links {
+  border-bottom: 1px solid #D6D6D6;
+  border-top: 1px solid #D6D6D6;
+  letter-spacing: -3px; /* -3px instead of -4 to push it the last pixel to better centeren of the up link */
+  margin: 0;
+  padding: 0.5em 0;
+  overflow: auto;
+}
+.page-links li {
+  display: inline-block;
+  *display: inline;
+  *float:left; /* this is added for the page-next to align probably right in ie7*/
+  list-style-type: none;
+  letter-spacing: normal; /* fix the letter spacing -4px set in .page-links */
+  *zoom: 1;
+}
+.page-links li a b {
+  display: inline-block;
+  *display: inline;
+  margin: 0 0.5em;
+  *zoom: 1;
+}
+.page-links .page-previous {
+  text-align: left;
+  width: 45%;
+}
+.page-links .page-up {
+  text-align: center;
+  width:9.8%; /* subpixel fun */
+}
+.page-links .page-next {
+  float: right;
+  width: 45%;
+  text-align: right;
+}
