]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-includes/js/tinymce/utils/form_utils.js
Wordpress 3.2
[autoinstalls/wordpress.git] / wp-includes / js / tinymce / utils / form_utils.js
index c583837c048646f228d6da08cb1d08e5bfede3c7..6f62fe606dd974e5235a8a9125943d895f2a4b15 100644 (file)
 var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme"));
 
 function getColorPickerHTML(id, target_form_element) {
-       var h = "";
+       var h = "", dom = tinyMCEPopup.dom;
 
-       h += '<a id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;" class="pickcolor">';
-       h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '">&nbsp;</span></a>';
+       if (label = dom.select('label[for=' + target_form_element + ']')[0]) {
+               label.id = label.id || dom.uniqueId();
+       }
+
+       h += '<a role="button" aria-labelledby="' + id + '_label" id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;" class="pickcolor">';
+       h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '">&nbsp;<span id="' + id + '_label" class="mceVoiceLabel mceIconOnly" style="display:none;">' + tinyMCEPopup.getLang('browse') + '</span></span></a>';
 
        return h;
 }
@@ -67,6 +71,9 @@ function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
        if (!form_obj || !form_obj.elements[field_name])
                return;
 
+       if (!value)
+               value = "";
+
        var sel = form_obj.elements[field_name];
 
        var found = false;
@@ -171,7 +178,7 @@ function convertHexToRGB(col) {
 }
 
 function trimSize(size) {
-       return size.replace(/([0-9\.]+)px|(%|in|cm|mm|em|ex|pt|pc)/, '$1$2');
+       return size.replace(/([0-9\.]+)(px|%|in|cm|mm|em|ex|pt|pc)/i, '$1$2');
 }
 
 function getCSSSize(size) {
@@ -183,6 +190,9 @@ function getCSSSize(size) {
        // Add px
        if (/^[0-9]+$/.test(size))
                size += 'px';
+       // Sanity check, IE doesn't like broken values
+       else if (!(/^[0-9\.]+(px|%|in|cm|mm|em|ex|pt|pc)$/i.test(size)))
+               return "";
 
        return size;
 }