diff --git a/README.txt b/README.txt
index b94ed5e..ebfa467 100644
--- a/README.txt
+++ b/README.txt
@@ -1,12 +1,12 @@
-README.txt
-==========
-
-The module adds a formatter for taxonomy terms that allows for selecting elements, wrappers, and classes for both, along with support for custom separators.
-
-Enable the module, then browse to a content type and use Delimited as the formatter.  You will then see a gear button that will allow you to change the settings, per field.
-
-
-AUTHOR/MAINTAINER
-======================
-Author: Dan Linn
-Maintainer: Dan Linn (http://drupal.org/user/566584)
+README.txt
+==========
+
+The module adds a formatter for taxonomy terms that allows for selecting elements, wrappers, and classes for both, along with support for custom separators and a title attribute (which will be set to the taxonomy term description).
+
+Enable the module, then browse to a content type and use Delimited as the formatter in the Display settings.  You will then see a gear button that will allow you to change the settings, per field.
+
+
+AUTHOR/MAINTAINER
+======================
+Author: Dan Linn
+Maintainer: Dan Linn (http://drupal.org/user/566584)
diff --git a/taxonomy_formatter.info b/taxonomy_formatter.info
index 2110f03..94bf69b 100644
--- a/taxonomy_formatter.info
+++ b/taxonomy_formatter.info
@@ -1,6 +1,6 @@
 name = Taxonomy Formatter
-description = "Add a formatter to taxonomy terms that allows selection of element type, wrapper type, and separators."
+description = "Add a formatter to taxonomy terms that allows selection of element type, title attribute, wrapper type, and separators."
 package = Fields
 core = 7.x
 files[] = taxonomy_formatter.module
-dependencies[] = taxonomy
\ No newline at end of file
+dependencies[] = taxonomy
diff --git a/taxonomy_formatter.module b/taxonomy_formatter.module
index 02ae9b6..3a78bdb 100644
--- a/taxonomy_formatter.module
+++ b/taxonomy_formatter.module
@@ -1,7 +1,8 @@
 <?php
 /**
  * @file
- * adds a formatter for taxonomy terms with options to specify element type, wrapper type, and separators
+ * adds a formatter for taxonomy terms with options to specify
+ * element type, title attribute, wrapper type, and separators
  *
  */
 /**
@@ -16,6 +17,7 @@ function taxonomy_formatter_field_formatter_info() {
         'links_option' => FALSE,
         'separator_option' => ', ',
         'element_option' => '- None -',
+        'title_attribute_option' => FALSE,
         'wrapper_option' => '- None -',
         'element_class' => '',
         'wrapper_class' => '',
@@ -65,6 +67,14 @@ function taxonomy_formatter_field_formatter_settings_form($field, $instance, $vi
     '#description'    => t('The class assigned to the element'),
     '#default_value'  => $settings['element_class'],
   );
+  $element['title_attribute_option'] = array(
+    '#type'           => 'checkbox',
+    '#title'          => t('Title attribute'),
+    '#description'    => t('When checked the taxonomy term description
+                            will be set as the title attribute in the
+                            element wrapper.'),
+    '#default_value'  => $settings['title_attribute_option'],
+  );
   $element['wrapper_option'] = array(
     '#type'           => 'select',
     '#title'          => t('Wrapper'),
@@ -107,6 +117,10 @@ function taxonomy_formatter_field_formatter_settings_summary($field, $instance,
     if (!empty($settings['element_class'])) {
       $summary .= t(' with the class of @elemclass', array('@elemclass' => $settings['element_class']));
     }
+    if ($settings['title_attribute_option']) {
+      $summary .= t('<br>The title attribute of the element wrapper
+                     will be set to the taxonomy term description');
+    }
   }
   if ($settings['wrapper_option']!="- None -") {
     $summary .= t('<br>The entire list will be wrapped in a "@wrapper" tag', array('@wrapper' => $settings['wrapper_option']));
@@ -124,7 +138,12 @@ function taxonomy_formatter_field_formatter_view($entity_type, $entity, $field,
   $element = array();
   $separator = check_plain($settings['separator_option']);
   if ($settings['element_option']!='- None -') {
-    $elementwrap[0] = '<' . $settings['element_option'] . ' class="' . check_plain($settings['element_class']) . '">';
+    if ($settings['title_attribute_option']) {
+      $elementwrap[0] = '<' . $settings['element_option'] . ' class="' . check_plain($settings['element_class']) . '" title="@term-description">';
+    }
+    else {
+      $elementwrap[0] = '<' . $settings['element_option'] . ' class="' . check_plain($settings['element_class']) . '">';
+    }
     $elementwrap[1] = '</' . $settings['element_option'] . '>';
   }
   else {
@@ -145,11 +164,14 @@ function taxonomy_formatter_field_formatter_view($entity_type, $entity, $field,
     $term[] = $termid;
     $actterm = entity_load('taxonomy_term', $term);
     $uri = entity_uri('taxonomy_term', $actterm[$termid]);
+    $elementwrap[2] = str_replace('@term-description',
+      t($actterm[$termid]->description),
+      $elementwrap[0]);
     if ($settings['links_option']) {
-      $formatted .= $elementwrap[0] . l($actterm[$termid]->name, $uri['path'], $uri['options']) . $elementwrap[1] . $separator;
+      $formatted .= $elementwrap[2] . l($actterm[$termid]->name, $uri['path'], $uri['options']) . $elementwrap[1] . $separator;
     }
     else {
-      $formatted .= $elementwrap[0] . check_plain($actterm[$termid]->name) . $elementwrap[1] . $separator;
+      $formatted .= $elementwrap[2] . check_plain($actterm[$termid]->name) . $elementwrap[1] . $separator;
     }
   }
   $length = strlen($separator);
@@ -157,4 +179,4 @@ function taxonomy_formatter_field_formatter_view($entity_type, $entity, $field,
   $formatted = $wrapper[0] . $formatted . $wrapper[1];
   $element[0]['#markup'] = $formatted;
   return $element;
-}
\ No newline at end of file
+}
