Index: link.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/link/link.module,v
retrieving revision 1.24.2.29
diff -u -r1.24.2.29 link.module
--- link.module	22 Sep 2008 04:20:33 -0000	1.24.2.29
+++ link.module	19 Mar 2009 15:21:37 -0000
@@ -126,6 +126,12 @@
         '#description' => t('When output, this link will have have this class attribute. Multiple classes should be separated by spaces.'),
         '#default_value' => empty($field['attributes']['class']) ? '' : $field['attributes']['class'],
       );
+      $form['attributes']['title'] = array(
+        '#title' => t("HTML Link's title attribute"),
+        '#type' => 'textfield',
+        '#description' => t('Defines how the <a href="http://www.w3.org/TR/WCAG10-HTML-TECHS/#links">A title=""</a>attribute should be displayed. Leave Blank for no use, Tokens will be evaluated.'),
+        '#default_value' => empty($field['attributes']['title']) ? '' : $field['attributes']['title'],
+      );
       return $form;
 
     case 'validate':
@@ -249,6 +255,10 @@
   if (!$item['attributes']['target'] || $item['attributes']['target'] == "default") {
     unset($item['attributes']['target']);
   }
+  $html_title = trim($item['attributes']['title']);
+  if (empty($html_title)) {
+    unset($item['attributes']['title']);
+  }
   // Trim whitespace from URL.
   $item['url'] = trim($item['url']);
   // Serialize the attributes array.
@@ -372,6 +382,15 @@
       unset($attributes['rel']);
     }
   }
+  if (!empty($attributes['title'])) {
+    // Replace tokens.
+    if (module_exists('token')) {
+      // Load the node if necessary for nodes in views.
+      $token_node = isset($node->nid) ? node_load($node->nid) : $node;
+      $attributes['title'] = token_replace($attributes['title'], 'node', $token_node);
+    }
+  }
+
   $item['attributes'] = $attributes;
 
   // Add the widget label.

