Index: /CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js
===================================================================
--- /CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js	(revision 4919)
+++ /CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js	(revision 4920)
@@ -131,9 +131,8 @@
 					var html = [];
 					if ( elementDefinition.labelLayout != 'horizontal' )
-						html.push( '<div class="cke_dialog_ui_labeled_label" id="',
-								_.labelId,
-								'" >',
+						html.push( '<label class="cke_dialog_ui_labeled_label" id="',
+								_.labelId, '" for="' + _.inputId + '">',
 								elementDefinition.label,
-								'</div>',
+								'</label>',
 								'<div class="cke_dialog_ui_labeled_content">',
 								contentHtml.call( this, dialog, elementDefinition ),
@@ -149,6 +148,8 @@
 								{
 									type : 'html',
-									html : '<span class="cke_dialog_ui_labeled_label" ' +
-										'id="' + _.labelId + '">' +  CKEDITOR.tools.htmlEncode( elementDefinition.label ) +
+									html : '<label class="cke_dialog_ui_labeled_label"' +
+										' id="' + _.labelId + '"' +
+										' for="' + _.inputId + '">' +
+										   CKEDITOR.tools.htmlEncode( elementDefinition.label ) +
 										'</span>'
 								},
@@ -548,4 +549,5 @@
 					this.validate = elementDefinition.validate;
 
+				_.inputId = CKEDITOR.tools.getNextNumber() + '_select';
 				/** @ignore */
 				var innerHTML = function()
@@ -557,5 +559,5 @@
 						html = [],
 						innerHTML = [],
-						attributes = { 'class' : 'cke_dialog_ui_input_select', 'aria-labelledby' : this._.labelId };
+						attributes = { 'id' : _.inputId, 'class' : 'cke_dialog_ui_input_select', 'aria-labelledby' : this._.labelId };
 
 					// Add multiple and size attributes from element definition.
