Index: includes/form.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/form.inc,v
retrieving revision 1.501
diff -u -p -r1.501 form.inc
--- includes/form.inc	5 Oct 2010 19:59:10 -0000	1.501
+++ includes/form.inc	5 Oct 2010 21:32:19 -0000
@@ -1620,6 +1620,12 @@ function form_builder($form_id, $element
   }
   // Handle input elements.
   if (!empty($element['#input'])) {
+    $titleless = array(
+      'submit', 'button', 'hidden', 'token',
+    );
+    if (!isset($element['#title']) && !in_array($element['#type'], $titleless)) {
+      trigger_error("{$form_id}: Missing title for #type {$element['#type']}.", E_USER_WARNING);
+    }
     _form_builder_handle_input_element($form_id, $element, $form_state);
   }
   // Allow for elements to expand to multiple elements, e.g., radios,
@@ -3000,9 +3006,16 @@ function form_process_tableselect($eleme
       // Do not overwrite manually created children.
       if (!isset($element[$key])) {
         if ($element['#multiple']) {
+          $title = '';
+          if (!empty($element['#options'][$key]['title']['data']['#title'])) {
+            $title = t('Select update options for @title', array(
+              '@title' => $element['#options'][$key]['title']['data']['#title'],
+            ));
+          }
           $element[$key] = array(
             '#type' => 'checkbox',
-            '#title' => '',
+            '#title' => $title,
+            '#title_display' => 'invisible',
             '#return_value' => $key,
             '#default_value' => isset($value[$key]) ? $key : NULL,
             '#attributes' => $element['#attributes'],
Index: modules/book/book.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/book/book.admin.inc,v
retrieving revision 1.37
diff -u -p -r1.37 book.admin.inc
--- modules/book/book.admin.inc	27 Sep 2010 00:53:56 -0000	1.37
+++ modules/book/book.admin.inc	5 Oct 2010 20:44:31 -0000
@@ -191,11 +191,12 @@ function _book_admin_table_tree($tree, &
         '#type' => 'weight',
         '#default_value' => $data['link']['weight'],
         '#delta' => 15,
+        '#title' => t('Weight for @title', array('@title' => $data['link']['title'])),
+        '#title_display' => 'invisible',
       ),
       'plid' => array(
-        '#type' => 'textfield',
+        '#type' => 'hidden',
         '#default_value' => $data['link']['plid'],
-        '#size' => 6,
       ),
       'mlid' => array(
         '#type' => 'hidden',
Index: modules/field/field.form.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/field/field.form.inc,v
retrieving revision 1.50
diff -u -p -r1.50 field.form.inc
--- modules/field/field.form.inc	17 Jun 2010 13:44:45 -0000	1.50
+++ modules/field/field.form.inc	5 Oct 2010 20:45:45 -0000
@@ -172,6 +172,8 @@ function field_multiple_value_form($fiel
           // defined by widget.
           $element['_weight'] = array(
             '#type' => 'weight',
+            '#title' => t('Weight for row @number', array('@number' => $delta + 1)),
+            '#title_display' => 'invisible',
              // Note: this 'delta' is the FAPI 'weight' element's property.
             '#delta' => $max,
             '#default_value' => isset($items[$delta]['_weight']) ? $items[$delta]['_weight'] : $delta,
Index: modules/field_ui/field_ui.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/field_ui/field_ui.admin.inc,v
retrieving revision 1.71
diff -u -p -r1.71 field_ui.admin.inc
--- modules/field_ui/field_ui.admin.inc	4 Oct 2010 18:00:45 -0000	1.71
+++ modules/field_ui/field_ui.admin.inc	5 Oct 2010 20:49:30 -0000
@@ -328,6 +328,8 @@ function field_ui_field_overview_form($f
       ),
       'weight' => array(
         '#type' => 'textfield',
+        '#title' => t('Weight for @title', array('@title' => $instance['label'])),
+        '#title_display' => 'invisible',
         '#default_value' => $instance['widget']['weight'],
         '#size' => 3,
         '#attributes' => array('class' => array('field-weight')),
@@ -335,6 +337,8 @@ function field_ui_field_overview_form($f
       'parent_wrapper' => array(
         'parent' => array(
           '#type' => 'select',
+          '#title' => t('Parent for @title', array('@title' => $instance['label'])),
+          '#title_display' => 'invisible',
           '#options' => $table['#parent_options'],
           '#attributes' => array('class' => array('field-parent')),
           '#parents' => array('fields', $name, 'parent'),
@@ -396,11 +400,13 @@ function field_ui_field_overview_form($f
         '#size' => 3,
         '#attributes' => array('class' => array('field-weight')),
         '#title_display' => 'invisible',
-        '#title' => t('Weight for @row', array('@row' => $extra_field['label'])),
+        '#title' => t('Weight for @title', array('@title' => $extra_field['label'])),
       ),
       'parent_wrapper' => array(
         'parent' => array(
           '#type' => 'select',
+          '#title' => t('Parent for @title', array('@title' => $extra_field['label'])),
+          '#title_display' => 'invisible',
           '#options' => $table['#parent_options'],
           '#attributes' => array('class' => array('field-parent')),
           '#parents' => array('fields', $name, 'parent'),
@@ -439,6 +445,8 @@ function field_ui_field_overview_form($f
       '#region_callback' => 'field_ui_field_overview_row_region',
       'label' => array(
         '#type' => 'textfield',
+        '#title' => t('New field label'),
+        '#title_display' => 'invisible',
         '#size' => 15,
         '#description' => t('Label'),
         '#prefix' => '<div class="label-input"><div class="add-new-placeholder">' . t('Add new field') .'</div>',
@@ -456,6 +464,8 @@ function field_ui_field_overview_form($f
       'parent_wrapper' => array(
         'parent' => array(
           '#type' => 'select',
+          '#title' => t('Parent for new field'),
+          '#title_display' => 'invisible',
           '#options' => $table['#parent_options'],
           '#attributes' => array('class' => array('field-parent')),
           '#prefix' => '<div class="add-new-placeholder">&nbsp;</div>',
@@ -469,6 +479,8 @@ function field_ui_field_overview_form($f
       ),
       'field_name' => array(
         '#type' => 'textfield',
+        '#title' => t('New field name'),
+        '#title_display' => 'invisible',
         // This field should stay LTR even for RTL languages.
         '#field_prefix' => '<span dir="ltr">field_',
         '#field_suffix' => '</span>&lrm;',
@@ -479,6 +491,8 @@ function field_ui_field_overview_form($f
       ),
       'type' => array(
         '#type' => 'select',
+        '#title' => t('Type of new field'),
+        '#title_display' => 'invisible',
         '#options' => $field_type_options,
         '#empty_option' => t('- Select a field type -'),
         '#description' => t('Type of data to store.'),
@@ -487,6 +501,8 @@ function field_ui_field_overview_form($f
       ),
       'widget_type' => array(
         '#type' => 'select',
+        '#title' => t('Widget for new field'),
+        '#title_display' => 'invisible',
         '#options' => $widget_type_options,
         '#empty_option' => t('- Select a widget -'),
         '#description' => t('Form element to edit the data.'),
@@ -507,6 +523,8 @@ function field_ui_field_overview_form($f
       '#region_callback' => 'field_ui_field_overview_row_region',
       'label' => array(
         '#type' => 'textfield',
+        '#title' => t('Existing field label'),
+        '#title_display' => 'invisible',
         '#size' => 15,
         '#description' => t('Label'),
         '#attributes' => array('class' => array('label-textfield')),
@@ -525,6 +543,8 @@ function field_ui_field_overview_form($f
       'parent_wrapper' => array(
         'parent' => array(
           '#type' => 'select',
+          '#title' => t('Parent for existing field'),
+          '#title_display' => 'invisible',
           '#options' => $table['#parent_options'],
           '#attributes' => array('class' => array('field-parent')),
           '#prefix' => '<div class="add-new-placeholder">&nbsp;</div>',
@@ -538,6 +558,8 @@ function field_ui_field_overview_form($f
       ),
       'field_name' => array(
         '#type' => 'select',
+        '#title' => t('Existing field to share'),
+        '#title_display' => 'invisible',
         '#options' => $existing_field_options,
         '#empty_option' => t('- Select an existing field -'),
         '#description' => t('Field to share'),
@@ -547,6 +569,8 @@ function field_ui_field_overview_form($f
       ),
       'widget_type' => array(
         '#type' => 'select',
+        '#title' => t('Widget for existing field'),
+        '#title_display' => 'invisible',
         '#options' => $widget_type_options,
         '#empty_option' => t('- Select a widget -'),
         '#description' => t('Form element to edit the data.'),
@@ -882,6 +906,8 @@ function field_ui_display_overview_form(
       ),
       'weight' => array(
         '#type' => 'textfield',
+        '#title' => t('Weight for @title', array('@title' => $instance['label'])),
+        '#title_display' => 'invisible',
         '#default_value' => $display['weight'],
         '#size' => 3,
         '#attributes' => array('class' => array('field-weight')),
@@ -889,6 +915,8 @@ function field_ui_display_overview_form(
       'parent_wrapper' => array(
         'parent' => array(
           '#type' => 'select',
+          '#title' => t('Label display for @title', array('@title' => $instance['label'])),
+          '#title_display' => 'invisible',
           '#options' => $table['#parent_options'],
           '#attributes' => array('class' => array('field-parent')),
           '#parents' => array('fields', $name, 'parent'),
@@ -901,6 +929,8 @@ function field_ui_display_overview_form(
       ),
       'label' => array(
         '#type' => 'select',
+        '#title' => t('Label display for @title', array('@title' => $instance['label'])),
+        '#title_display' => 'invisible',
         '#options' => $field_label_options,
         '#default_value' => $display['label'],
       ),
@@ -911,6 +941,8 @@ function field_ui_display_overview_form(
     $table[$name]['format'] = array(
       'type' => array(
         '#type' => 'select',
+        '#title' => t('Formatter for @title', array('@title' => $instance['label'])),
+        '#title_display' => 'invisible',
         '#options' => $formatter_options,
         '#default_value' => $display['type'],
         '#parents' => array('fields', $name, 'type'),
@@ -1035,6 +1067,8 @@ function field_ui_display_overview_form(
       ),
       'weight' => array(
         '#type' => 'textfield',
+        '#title' => t('Weight for @title', array('@title' => $extra_field['label'])),
+        '#title_display' => 'invisible',
         '#default_value' => $display['weight'],
         '#size' => 3,
         '#attributes' => array('class' => array('field-weight')),
@@ -1042,6 +1076,8 @@ function field_ui_display_overview_form(
       'parent_wrapper' => array(
         'parent' => array(
           '#type' => 'select',
+          '#title' => t('Parents for @title', array('@title' => $extra_field['label'])),
+          '#title_display' => 'invisible',
           '#options' => $table['#parent_options'],
           '#attributes' => array('class' => array('field-parent')),
           '#parents' => array('fields', $name, 'parent'),
@@ -1058,6 +1094,8 @@ function field_ui_display_overview_form(
       'format' => array(
         'type' => array(
           '#type' => 'select',
+          '#title' => t('Visibility for @title', array('@title' => $extra_field['label'])),
+          '#title_display' => 'invisible',
           '#options' => $extra_visibility_options,
           '#default_value' => $display['visible'] ? 'visible' : 'hidden',
           '#parents' => array('fields', $name, 'type'),
Index: modules/file/file.field.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/file/file.field.inc,v
retrieving revision 1.35
diff -u -p -r1.35 file.field.inc
--- modules/file/file.field.inc	1 Oct 2010 01:32:59 -0000	1.35
+++ modules/file/file.field.inc	5 Oct 2010 20:50:08 -0000
@@ -676,6 +676,8 @@ function file_field_widget_process_multi
     if ($key != $element['#file_upload_delta']) {
       $element[$key]['_weight'] = array(
         '#type' => 'weight',
+        '#title' => t('Weight for @title', array('@title' => (!empty($element[$key]['#default_value']['alt'])) ? $element[$key]['#default_value']['alt'] : $element[$key]['#default_value']['filename'])),
+        '#title_display' => 'invisible',
         '#delta' => $count,
         '#default_value' => $delta,
       );
Index: modules/filter/filter.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/filter/filter.admin.inc,v
retrieving revision 1.66
diff -u -p -r1.66 filter.admin.inc
--- modules/filter/filter.admin.inc	29 Sep 2010 19:52:12 -0000	1.66
+++ modules/filter/filter.admin.inc	5 Oct 2010 20:50:51 -0000
@@ -34,7 +34,12 @@ function filter_admin_overview($form) {
     $form['formats'][$id]['roles'] = array('#markup' => $roles_markup);
     $form['formats'][$id]['configure'] = array('#type' => 'link', '#title' => t('configure'), '#href' => 'admin/config/content/formats/' . $id);
     $form['formats'][$id]['disable'] = array('#type' => 'link', '#title' => t('disable'), '#href' => 'admin/config/content/formats/' . $id . '/disable', '#access' => !$form['formats'][$id]['#is_fallback']);
-    $form['formats'][$id]['weight'] = array('#type' => 'weight', '#default_value' => $format->weight);
+    $form['formats'][$id]['weight'] = array(
+      '#type' => 'weight',
+      '#title' => t('Weight for @title', array('@title' => $format->name)),
+      '#title_display' => 'invisible',
+      '#default_value' => $format->weight,
+    );
   }
   $form['actions'] = array('#type' => 'actions');
   $form['actions']['submit'] = array('#type' => 'submit', '#value' => t('Save changes'));
@@ -191,6 +196,8 @@ function filter_admin_format_form($form,
     );
     $form['filters']['order'][$name]['weight'] = array(
       '#type' => 'weight',
+      '#title' => t('Weight for @title', array('@title' => $filter['title'])),
+      '#title_display' => 'invisible',
       '#delta' => 50,
       '#default_value' => $filters[$name]->weight,
       '#parents' => array('filters', $name, 'weight'),
Index: modules/image/image.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/image/image.admin.inc,v
retrieving revision 1.25
diff -u -p -r1.25 image.admin.inc
--- modules/image/image.admin.inc	4 Oct 2010 18:00:45 -0000	1.25
+++ modules/image/image.admin.inc	5 Oct 2010 20:49:56 -0000
@@ -93,6 +93,8 @@ function image_style_form($form, &$form_
     );
     $form['effects'][$key]['weight'] = array(
       '#type' => 'weight',
+      '#title' => t('Weight for @title', array('@title' => $effect['label'])),
+      '#title_display' => 'invisible',
       '#default_value' => $effect['weight'],
       '#access' => $editable,
     );
Index: modules/locale/locale.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/locale/locale.admin.inc,v
retrieving revision 1.19
diff -u -p -r1.19 locale.admin.inc
--- modules/locale/locale.admin.inc	4 Oct 2010 18:00:46 -0000	1.19
+++ modules/locale/locale.admin.inc	5 Oct 2010 20:49:44 -0000
@@ -28,6 +28,8 @@ function locale_languages_overview_form(
     }
     $form['weight'][$langcode] = array(
       '#type' => 'weight',
+      '#title' => t('Weight for @title', array('@title' => $language['label'])),
+      '#title_display' => 'invisible',
       '#default_value' => $language->weight,
       '#attributes' => array('class' => array('language-order-weight')),
     );
Index: modules/menu/menu.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu/menu.admin.inc,v
retrieving revision 1.87
diff -u -p -r1.87 menu.admin.inc
--- modules/menu/menu.admin.inc	4 Oct 2010 18:00:46 -0000	1.87
+++ modules/menu/menu.admin.inc	5 Oct 2010 20:40:01 -0000
@@ -103,6 +103,8 @@ function _menu_overview_tree_form($tree)
       $form[$mlid]['title']['#markup'] = l($item['title'], $item['href'], $item['localized_options']) . ($item['hidden'] ? ' (' . t('disabled') . ')' : '');
       $form[$mlid]['hidden'] = array(
         '#type' => 'checkbox',
+        '#title' => t('Enable @title menu link', array('@title' => $item['title'])),
+        '#title_display' => 'invisible',
         '#default_value' => !$item['hidden'],
       );
       $form[$mlid]['weight'] = array(
@@ -110,7 +112,7 @@ function _menu_overview_tree_form($tree)
         '#delta' => 50,
         '#default_value' => $item['weight'],
         '#title_display' => 'invisible',
-        '#title' => t('Weight for @row', array('@row' => $item['title'])),
+        '#title' => t('Weight for @title', array('@title' => $item['title'])),
       );
       $form[$mlid]['mlid'] = array(
         '#type' => 'hidden',
Index: modules/profile/profile.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/profile/profile.admin.inc,v
retrieving revision 1.42
diff -u -p -r1.42 profile.admin.inc
--- modules/profile/profile.admin.inc	24 Apr 2010 14:49:14 -0000	1.42
+++ modules/profile/profile.admin.inc	5 Oct 2010 20:52:49 -0000
@@ -25,7 +25,12 @@ function profile_admin_overview($form) {
     $form[$field->fid]['title'] = array('#markup' => check_plain($field->title));
     $form[$field->fid]['type'] = array('#markup' => $field->type);
     $form[$field->fid]['category'] = array('#type' => 'select', '#default_value' => $field->category, '#options' => array());
-    $form[$field->fid]['weight'] = array('#type' => 'weight', '#default_value' => $field->weight);
+    $form[$field->fid]['weight'] = array(
+      '#type' => 'weight',
+      '#title' => t('Weight for @title', array('@title' => $field->title)),
+      '#title_display' => 'invisible',
+      '#default_value' => $field->weight,
+    );
     $form[$field->fid]['edit'] = array('#type' => 'link', '#title' => t('edit'), '#href' => "admin/config/people/profile/edit/$field->fid");
     $form[$field->fid]['delete'] = array('#type' => 'link', '#title' => t('delete'), '#href' => "admin/config/people/profile/delete/$field->fid");
   }
Index: modules/simpletest/simpletest.pages.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/simpletest.pages.inc,v
retrieving revision 1.31
diff -u -p -r1.31 simpletest.pages.inc
--- modules/simpletest/simpletest.pages.inc	24 Jul 2010 17:28:26 -0000	1.31
+++ modules/simpletest/simpletest.pages.inc	5 Oct 2010 20:40:01 -0000
@@ -139,7 +139,7 @@ function theme_simpletest_test_table($va
       $title = $test['#title'];
       $description = $test['#description'];
 
-      unset($test['#title']);
+      $test['#title_display'] = 'invisible';
       unset($test['#description']);
 
       // Test name is used to determine what tests to run.
Index: modules/system/system.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v
retrieving revision 1.315
diff -u -p -r1.315 system.admin.inc
--- modules/system/system.admin.inc	5 Oct 2010 00:31:18 -0000	1.315
+++ modules/system/system.admin.inc	5 Oct 2010 20:52:10 -0000
@@ -2938,6 +2938,8 @@ function system_actions_manage_form($for
   );
   $form['parent']['action'] = array(
     '#type' => 'select',
+    '#title' => t('Create action'),
+    '#title_display' => 'invisible',
     '#options' => $options,
   );
   $form['parent']['actions'] = array('#type' => 'actions');
Index: modules/trigger/trigger.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/trigger/trigger.admin.inc,v
retrieving revision 1.28
diff -u -p -r1.28 trigger.admin.inc
--- modules/trigger/trigger.admin.inc	24 Sep 2010 21:36:22 -0000	1.28
+++ modules/trigger/trigger.admin.inc	5 Oct 2010 20:40:01 -0000
@@ -179,6 +179,8 @@ function trigger_assign_form($form, $for
   if (count($options) != 0) {
     $form[$hook]['parent']['aid'] = array(
       '#type' => 'select',
+      '#title' => t('List of trigger actions when !description', array('!description' => $label)),
+      '#title_display' => 'invisible',
       '#options' => $options,
     );
     $form[$hook]['parent']['submit'] = array(
Index: modules/user/user.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.admin.inc,v
retrieving revision 1.118
diff -u -p -r1.118 user.admin.inc
--- modules/user/user.admin.inc	17 Sep 2010 14:53:22 -0000	1.118
+++ modules/user/user.admin.inc	5 Oct 2010 20:51:35 -0000
@@ -183,6 +183,8 @@ function user_admin_account() {
   }
   $form['options']['operation'] = array(
     '#type' => 'select',
+    '#title' => t('Bulk update options for users'),
+    '#title_display' => 'invisible',
     '#options' => $options,
     '#default_value' => 'unblock',
   );
@@ -835,6 +837,8 @@ function user_admin_roles($form, $form_s
     $form['roles'][$rid]['#weight'] = $order;
     $form['roles'][$rid]['weight'] = array(
       '#type' => 'textfield',
+      '#title' => t('Weight for @title', array('@title' => $name['label'])),
+      '#title_display' => 'invisible',
       '#size' => 4,
       '#default_value' => $order,
       '#attributes' => array('class' => array('role-weight')),
