diff --git a/core/modules/color/color.module b/core/modules/color/color.module
index b2b67a7..c6f0199 100644
--- a/core/modules/color/color.module
+++ b/core/modules/color/color.module
@@ -278,12 +278,60 @@ function theme_color_scheme_form($variables) {
  * @see color_scheme_form_submit()
  */
 function color_scheme_form_validate($form, &$form_state) {
+
+  $palette = $form_state['values']['palette'];
+
   // Only accept hexadecimal CSS color strings to avoid XSS upon use.
-  foreach ($form_state['values']['palette'] as $key => $color) {
+  foreach ($palette as $key => $color) {
     if (!preg_match('/^#([a-f0-9]{3}){1,2}$/iD', $color)) {
       form_set_error('palette][' . $key, t('You must enter a valid hexadecimal color value for %name.', array('%name' => $form['color']['palette'][$key]['#title'])));
     }
   }
+
+  //Checks to see if text is readable on white background
+  $test = _color_luminositytest('#fff', $palette['text']); 
+  if ($test <= 7) {
+    drupal_set_message(t("The selected text color, when used with a white background, 
+    has a luminosity ratio of %result. The W3C WCAG 2.0 accessibility standard 
+    suggests this ratio must be a minimum of 4.5 and optimally at least 7.0 for 
+    the text to be readable by all.", 
+    array('%result' => $test)), $test >= 4.5 ? 'status': 'warning');
+  }
+  
+  //Checks to see if links are readable on white background
+  $test = _color_luminositytest('#fff', $palette['link']);
+  if ($test <= 7) {
+    drupal_set_message(t("The selected link color, when used with a white background, 
+    has a luminosity ratio of %result. The W3C WCAG 2.0 accessibility standard 
+    suggests this ratio must be a minimum of 4.5 and optimally at least 7.0 for 
+    the links to be readable by all.", 
+    array('%result' => $test)), $test >= 4.5 ? 'status': 'warning');
+  }
+
+}
+
+/**
+ * Calculate luminosity ratio, should be higher than 4.5 to meet with WCAG 2.0 color contrast standard - http://www.w3.org/TR/WCAG20/
+ */
+function _color_luminositytest($color1, $color2) {
+  $color1 = _color_unpack($color1);
+  $color2 = _color_unpack($color2);  
+  
+  //PHP Algorithm from http://www.splitbrain.org/blog/2008-09/18-calculating_color_contrast_with_php
+  $luminosity1 = 0.2126 * pow($color1[0]/255, 2.2) +
+        0.7152 * pow($color1[1]/255, 2.2) +
+        0.0722 * pow($color1[2]/255, 2.2);
+ 
+  $luminosity2 = 0.2126 * pow($color2[0]/255, 2.2) +
+        0.7152 * pow($color2[1]/255, 2.2) +
+        0.0722 * pow($color2[2]/255, 2.2);
+ 
+  if ($luminosity1 > $luminosity2) {
+    return round(($luminosity1 + 0.05) / ($luminosity2 + 0.05), 1);
+  }
+  else {
+    return round(($luminosity2 + 0.05) / ($luminosity1 + 0.05), 1);
+  }
 }
 
 /**
