diff --git a/core/modules/system/system.admin.css b/core/modules/system/system.admin.css
index a7f2cbd..71a2244 100644
--- a/core/modules/system/system.admin.css
+++ b/core/modules/system/system.admin.css
@@ -74,12 +74,12 @@ small .admin-link:after {
   vertical-align: top;
 }
 #system-modules .expand .inner {
-  background: transparent url(../../misc/menu-collapsed.png) left .6em no-repeat;
+  /*background: transparent url(../../misc/menu-collapsed.png) left .6em no-repeat;*/
   margin-left: -12px;
   padding-left: 12px;
 }
 #system-modules .expanded .expand .inner {
-  background: transparent url(../../misc/menu-expanded.png) left .6em no-repeat;
+  /*background: transparent url(../../misc/menu-expanded.png) left .6em no-repeat;*/
 }
 #system-modules label {
   color: #1d1d1d;
@@ -88,7 +88,7 @@ small .admin-link:after {
 #system-modules .description {
   cursor: pointer;
 }
-#system-modules .description .inner {
+#system-modules details {
   color: #5c5c5b;
   height: 20px;
   line-height: 20px;
@@ -96,12 +96,12 @@ small .admin-link:after {
   text-overflow: ellipsis;
   white-space: nowrap;
 }
-#system-modules .expanded .description .inner {
+#system-modules details[open] {
   height: auto;
   overflow: visible;
   white-space: normal;
 }
-#system-modules .expanded .description .text {
+#system-modules details[open] summary .text {
   -webkit-hyphens: auto;
   -moz-hyphens: auto;
   hyphens: auto;
@@ -120,7 +120,7 @@ small .admin-link:after {
   max-width: 490px;
 }
 #system-modules .links {
-  overflow: hidden; /* prevents collapse */
+  /*overflow: hidden;  prevents collapse */
 }
 #system-modules .checkbox {
   margin: 0 5px;
diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index c3c2ce4..5b4b3d7 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -931,8 +931,8 @@ function system_modules($form, $form_state = array()) {
 
   // Lastly, sort all packages by title.
   uasort($form['modules'], 'element_sort_by_title');
+  $form['#attached']['library'][] = array('system', 'drupal.collapse');
 
-  $form['#attached']['library'][] = array('system', 'drupal.system.modules');
   $form['actions'] = array('#type' => 'actions');
   $form['actions']['submit'] = array(
     '#type' => 'submit',
@@ -2340,7 +2340,7 @@ function theme_system_modules_details($variables) {
     $row[] = array('class' => array('module'), 'data' => $col2);
 
     // Add the description, along with any modules it requires.
-    $description = '<span class="details"><span class="text">' . drupal_render($module['description']) . '</span></span>';
+    $description = '';
     if ($version || $requires || $required_by) {
       $description .= ' <div class="requirements">';
       if ($version) {
@@ -2363,7 +2363,14 @@ function theme_system_modules_details($variables) {
       $description .= $links;
       $description .= '</div>';
     }
-    $col4 = '<div class="inner" tabindex="0" role="button"><span class="module-description-prefix element-invisible">Show description</span> ' . $description . '</div>';
+    $details = array(
+      '#type' => 'details',
+      '#title' => '<span class="text"> ' . drupal_render($module['description']) . '</span>',
+      '#description' => $description,
+      '#collapsed' => TRUE,
+      '#attributes' => array('class' => array('collapsible')),
+    );
+    $col4 = drupal_render($details);
     $row[] = array('class' => array('description', 'expand'), 'data' => $col4);
 
     $rows[] = $row;
