JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.6.4
[ckeditor.git] / _source / plugins / dialogui / plugin.js
index 963c80c..29db79c 100644 (file)
@@ -157,7 +157,7 @@ CKEDITOR.plugins.add( 'dialogui' );
                                        if ( elementDefinition.labelLayout != 'horizontal' )\r
                                                html.push( '<label class="cke_dialog_ui_labeled_label' + requiredClass + '" ',\r
                                                                ' id="'+  _.labelId + '"',\r
-                                                               ' for="' + _.inputId + '"',\r
+                                                               ( _.inputId? ' for="' + _.inputId + '"' : '' ),\r
                                                                ( elementDefinition.labelStyle ? ' style="' + elementDefinition.labelStyle + '"' : '' ) +'>',\r
                                                                elementDefinition.label,\r
                                                                '</label>',\r
@@ -240,30 +240,6 @@ CKEDITOR.plugins.add( 'dialogui' );
                                if ( elementDefinition.inputStyle )\r
                                        attributes.style = elementDefinition.inputStyle;\r
 \r
-                               // If user presses Enter in a text box, it implies clicking OK for the dialog.\r
-                               var me = this, keyPressedOnMe = false;\r
-                               dialog.on( 'load', function()\r
-                                       {\r
-                                               me.getInputElement().on( 'keydown', function( evt )\r
-                                                       {\r
-                                                               if ( evt.data.getKeystroke() == 13 )\r
-                                                                       keyPressedOnMe = true;\r
-                                                       } );\r
-\r
-                                               // Lower the priority this 'keyup' since 'ok' will close the dialog.(#3749)\r
-                                               me.getInputElement().on( 'keyup', function( evt )\r
-                                                       {\r
-                                                               if ( evt.data.getKeystroke() == 13 && keyPressedOnMe )\r
-                                                               {\r
-                                                                       dialog.getButton( 'ok' ) && setTimeout( function ()\r
-                                                                       {\r
-                                                                               dialog.getButton( 'ok' ).click();\r
-                                                                       }, 0 );\r
-                                                                       keyPressedOnMe = false;\r
-                                                               }\r
-                                                       }, null, null, 1000 );\r
-                                       } );\r
-\r
                                /** @ignore */\r
                                var innerHTML = function()\r
                                {\r
@@ -677,6 +653,7 @@ CKEDITOR.plugins.add( 'dialogui' );
                                                        ' frameborder="0"' +\r
                                                        ' allowtransparency="0"' +\r
                                                        ' class="cke_dialog_ui_input_file"' +\r
+                                                       ' role="presentation"' +\r
                                                        ' id="', _.frameId, '"' +\r
                                                        ' title="', elementDefinition.label, '"' +\r
                                                        ' src="javascript:void(' ];\r
@@ -1443,11 +1420,17 @@ CKEDITOR.plugins.add( 'dialogui' );
                                                if ( elementDefinition.size )\r
                                                        size = elementDefinition.size - ( CKEDITOR.env.ie  ? 7 : 0 );   // "Browse" button is bigger in IE.\r
 \r
+                                               var inputId = _.frameId + '_input';\r
+\r
                                                frameDocument.$.write( [ '<html dir="' + langDir + '" lang="' + langCode + '"><head><title></title></head><body style="margin: 0; overflow: hidden; background: transparent;">',\r
                                                                '<form enctype="multipart/form-data" method="POST" dir="' + langDir + '" lang="' + langCode + '" action="',\r
                                                                CKEDITOR.tools.htmlEncode( elementDefinition.action ),\r
                                                                '">',\r
-                                                               '<input type="file" name="',\r
+                                                               // Replicate the field label inside of iframe.\r
+                                                           '<label id="', _.labelId, '" for="', inputId, '" style="display:none">',\r
+                                                               CKEDITOR.tools.htmlEncode( elementDefinition.label ),\r
+                                                               '</label>',\r
+                                                               '<input id="', inputId, '" aria-labelledby="', _.labelId,'" type="file" name="',\r
                                                                CKEDITOR.tools.htmlEncode( elementDefinition.id || 'cke_upload' ),\r
                                                                '" size="',\r
                                                                CKEDITOR.tools.htmlEncode( size > 0 ? size : "" ),\r