diff --git a/core/modules/comment/comment.admin.inc b/core/modules/comment/comment.admin.inc
index ef8a90b..564204a 100644
--- a/core/modules/comment/comment.admin.inc
+++ b/core/modules/comment/comment.admin.inc
@@ -131,10 +131,14 @@ function comment_admin_overview($form, &$form_state, $arg) {
       'changed' => format_date($comment->changed, 'short'),
       'operations' => array(
         'data' => array(
-          '#type' => 'link',
-          '#title' => t('edit'),
-          '#href' => 'comment/' . $comment->cid . '/edit',
-          '#options' => array('query' => $destination),
+          '#type' => 'operations',
+          '#links' => array(
+            'edit' => array(
+              'title' => t('edit'),
+              'href' => 'comment/' . $comment->cid . '/edit',
+              'query' => $destination,
+            ),
+          ),
         ),
       ),
     );
diff --git a/core/modules/menu/menu.admin.inc b/core/modules/menu/menu.admin.inc
index fc38caa..1c77d7e 100644
--- a/core/modules/menu/menu.admin.inc
+++ b/core/modules/menu/menu.admin.inc
@@ -12,13 +12,27 @@
  */
 function menu_overview_page() {
   $result = db_query("SELECT * FROM {menu_custom} ORDER BY title", array(), array('fetch' => PDO::FETCH_ASSOC));
-  $header = array(t('Title'), array('data' => t('Operations'), 'colspan' => '3'));
+  $header = array(t('Title'), t('Operations'));
   $rows = array();
   foreach ($result as $menu) {
     $row = array(theme('menu_admin_overview', array('title' => $menu['title'], 'name' => $menu['menu_name'], 'description' => $menu['description'])));
-    $row[] = array('data' => l(t('list links'), 'admin/structure/menu/manage/' . $menu['menu_name']));
-    $row[] = array('data' => l(t('edit menu'), 'admin/structure/menu/manage/' . $menu['menu_name'] . '/edit'));
-    $row[] = array('data' => l(t('add link'), 'admin/structure/menu/manage/' . $menu['menu_name'] . '/add'));
+    $row[] = array('data' => array(
+      '#type' => 'operations',
+      '#links' => array(
+        'list' => array(
+          'title' => t('list links'),
+          'href' => 'admin/structure/menu/manage/' . $menu['menu_name'],
+        ),
+        'edit' => array(
+          'title' => t('edit menu'),
+          'href' => 'admin/structure/menu/manage/' . $menu['menu_name'] . '/edit',
+        ),
+        'add' => array(
+          'title' => t('add link'),
+          'href' => 'admin/structure/menu/manage/' . $menu['menu_name'] . '/add',
+        ),
+      )
+    ));
     $rows[] = $row;
   }
 
diff --git a/core/modules/node/content_types.inc b/core/modules/node/content_types.inc
index 7388ee9..3c8812d 100644
--- a/core/modules/node/content_types.inc
+++ b/core/modules/node/content_types.inc
@@ -17,32 +17,47 @@ function node_overview_types() {
   $types = node_type_get_types();
   $names = node_type_get_names();
   $field_ui = module_exists('field_ui');
-  $header = array(t('Name'), array('data' => t('Operations'), 'colspan' => $field_ui ? '4' : '2'));
+  $header = array(t('Name'), t('Operations'));
   $rows = array();
 
   foreach ($names as $key => $name) {
     $type = $types[$key];
     if (node_hook($type->type, 'form')) {
       $row = array(theme('node_admin_overview', array('name' => $name, 'type' => $type)));
-      // Set the edit column.
-      $row[] = array('data' => l(t('edit'), 'admin/structure/types/manage/' . $type->type));
+      $links['edit'] = array(
+        'title' => t('edit'),
+        'href' => 'admin/structure/types/manage/' . $type->type,
+        'weight' => 0,
+      );
 
       if ($field_ui) {
-        // Manage fields.
-        $row[] = array('data' => l(t('manage fields'), 'admin/structure/types/manage/' . $type->type . '/fields'));
-
-        // Display fields.
-        $row[] = array('data' => l(t('manage display'), 'admin/structure/types/manage/' . $type->type . '/display'));
+        $links['fields'] = array(
+          'title' => t('manage fields'),
+          'href' => 'admin/structure/types/manage/' . $type->type . '/fields',
+          'weight' => 5,
+        );
+        $links['display'] = array(
+          'title' => t('manage display'),
+          'href' => 'admin/structure/types/manage/' . $type->type . '/display',
+          'weight' => 10,
+        );
       }
 
-      // Set the delete column.
       if ($type->custom) {
-        $row[] = array('data' => l(t('delete'), 'admin/structure/types/manage/' . $type->type . '/delete'));
-      }
-      else {
-        $row[] = array('data' => '');
+        $links['delete'] = array(
+          'title' => t('delete'),
+          'href' => 'admin/structure/types/manage/' . $type->type . '/delete',
+          'weight' => 15,
+        );
       }
 
+      $row[] = array(
+        'data' => array(
+          '#type' => 'operations',
+          '#links' => $links,
+        ),
+      );
+
       $rows[] = $row;
     }
   }
diff --git a/core/modules/taxonomy/taxonomy.admin.inc b/core/modules/taxonomy/taxonomy.admin.inc
index ecef0b5..83f79b4 100644
--- a/core/modules/taxonomy/taxonomy.admin.inc
+++ b/core/modules/taxonomy/taxonomy.admin.inc
@@ -28,9 +28,26 @@ function taxonomy_overview_vocabularies($form) {
       '#delta' => 10,
       '#default_value' => $vocabulary->weight,
     );
-    $form[$vocabulary->vid]['edit'] = array('#type' => 'link', '#title' => t('edit vocabulary'), '#href' => "admin/structure/taxonomy/$vocabulary->machine_name/edit");
-    $form[$vocabulary->vid]['list'] = array('#type' => 'link', '#title' => t('list terms'), '#href' => "admin/structure/taxonomy/$vocabulary->machine_name");
-    $form[$vocabulary->vid]['add'] = array('#type' => 'link', '#title' => t('add terms'), '#href' => "admin/structure/taxonomy/$vocabulary->machine_name/add");
+    $form[$vocabulary->vid]['operations'] = array(
+      '#type' => 'operations',
+      '#links' => array(
+        'edit' => array(
+          'title' => t('edit vocabulary'),
+          'href' => "admin/structure/taxonomy/$vocabulary->machine_name/edit",
+          'weight' => 0,
+        ),
+        'list' => array(
+          'title' => t('list terms'),
+          'href' => "admin/structure/taxonomy/$vocabulary->machine_name",
+          'weight' => 5,
+        ),
+        'add' => array(
+          'title' => t('add terms'),
+          'href' => "admin/structure/taxonomy/$vocabulary->machine_name/add",
+          'weight' => 10,
+        ),
+      ),
+    );
   }
 
   // Only make this form include a submit button and weight if more than one
@@ -78,16 +95,15 @@ function theme_taxonomy_overview_vocabularies($variables) {
   foreach (element_children($form) as $key) {
     if (isset($form[$key]['name'])) {
       $vocabulary = &$form[$key];
+      hide($vocabulary);
 
       $row = array();
-      $row[] = drupal_render($vocabulary['name']);
+      $row[] = array('data' => $vocabulary['name']);
       if (isset($vocabulary['weight'])) {
         $vocabulary['weight']['#attributes']['class'] = array('vocabulary-weight');
-        $row[] = drupal_render($vocabulary['weight']);
+        $row[] = array('data' => $vocabulary['weight']);
       }
-      $row[] = drupal_render($vocabulary['edit']);
-      $row[] = drupal_render($vocabulary['list']);
-      $row[] = drupal_render($vocabulary['add']);
+      $row[] = array('data' => $vocabulary['operations']);
       $rows[] = array('data' => $row, 'class' => array('draggable'));
     }
   }
@@ -97,7 +113,7 @@ function theme_taxonomy_overview_vocabularies($variables) {
     $header[] = t('Weight');
     drupal_add_tabledrag('taxonomy', 'order', 'sibling', 'vocabulary-weight');
   }
-  $header[] = array('data' => t('Operations'), 'colspan' => '3');
+  $header[] = t('Operations');
   return theme('table', array('header' => $header, 'rows' => $rows, 'empty' => t('No vocabularies available. <a href="@link">Add vocabulary</a>.', array('@link' => url('admin/structure/taxonomy/add'))), 'attributes' => array('id' => 'taxonomy'))) . drupal_render_children($form);
 }
 
@@ -278,7 +294,7 @@ function taxonomy_overview_terms($form, &$form_state, Vocabulary $vocabulary) {
       'delete' => array('title' => t('delete'), 'href' => 'taxonomy/term/' . $term->tid . '/delete', 'query' => drupal_get_destination()),
     );
     $form[$key]['operations'] = array(
-      '#theme' => 'links',
+      '#type' => 'operations',
       '#links' => $operations,
       '#attributes' => array('class' => array('links', 'inline')),
     );
diff --git a/core/modules/user/user.admin.inc b/core/modules/user/user.admin.inc
index 180b9f1..9dc1670 100644
--- a/core/modules/user/user.admin.inc
+++ b/core/modules/user/user.admin.inc
@@ -210,7 +210,18 @@ function user_admin_account() {
       'roles' => theme('item_list', array('items' => $users_roles)),
       'member_for' => format_interval(REQUEST_TIME - $account->created),
       'access' =>  $account->access ? t('@time ago', array('@time' => format_interval(REQUEST_TIME - $account->access))) : t('never'),
-      'operations' => array('data' => array('#type' => 'link', '#title' => t('edit'), '#href' => "user/$account->uid/edit", '#options' => array('query' => $destination))),
+      'operations' => array(
+        'data' => array(
+          '#type' => 'operations',
+          '#links' => array(
+            'edit' => array(
+              'title' => t('edit'),
+              'href' => "user/$account->uid/edit",
+              'query' => $destination,
+            ),
+          ),
+        ),
+      ),
     );
   }
 
@@ -886,15 +897,19 @@ function user_admin_roles($form, $form_state) {
       '#default_value' => $role->weight,
       '#attributes' => array('class' => array('role-weight')),
     );
-    $form['roles'][$role->rid]['edit'] = array(
-      '#type' => 'link',
-      '#title' => t('edit role'),
-      '#href' => 'admin/people/roles/edit/' . $role->rid,
+    $links['edit'] = array(
+      'title' => t('edit role'),
+      'href' => 'admin/people/roles/edit/' . $role->rid,
+      'weight' => 0,
+    );
+    $links['permissions'] = array(
+      'title' => t('edit permissions'),
+      'href' => 'admin/people/permissions/' . $role->rid,
+      'weight' => 5,
     );
-    $form['roles'][$role->rid]['permissions'] = array(
-      '#type' => 'link',
-      '#title' => t('edit permissions'),
-      '#href' => 'admin/people/permissions/' . $role->rid,
+    $form['roles'][$role->rid]['operations'] = array(
+      '#type' => 'operations',
+      '#links' => $links,
     );
   }
 
