Index: CKEditor/trunk/_source/plugins/specialchar/dialogs/specialchar.js
===================================================================
--- CKEditor/trunk/_source/plugins/specialchar/dialogs/specialchar.js	(revision 5356)
+++ CKEditor/trunk/_source/plugins/specialchar/dialogs/specialchar.js	(revision 5504)
@@ -263,5 +263,6 @@
 				chars = this.definition.chars;
 
-			var html = [ '<table role="listbox" aria-labelledby="specialchar_table_label"' +
+			var charsTableLabel =  'specialchar_table_label' + CKEDITOR.tools.getNextNumber();
+			var html = [ '<table role="listbox" aria-labelledby="' + charsTableLabel + '"' +
 						 			' style="width: 320px; height: 100%; border-collapse: separate;"' +
 						 			' align="center" cellspacing="2" cellpadding="2" border="0">' ];
@@ -290,4 +291,6 @@
 						charDesc = charDesc || character;
 
+						var charLabelId =  'cke_specialchar_label_' + i + '_' + CKEDITOR.tools.getNextNumber();
+
 						html.push(
 							'<td class="cke_dark_background" style="cursor: default" role="presentation">' +
@@ -295,5 +298,5 @@
 							' aria-posinset="' + ( i +1 ) + '"',
 							' aria-setsize="' + size + '"',
-							' aria-labelledby="cke_specialchar_label_' + i + '"',
+							' aria-labelledby="' + charLabelId + '"',
 							' style="cursor: inherit; display: block; height: 1.25em; margin-top: 0.25em; text-align: center;" title="', CKEDITOR.tools.htmlEncode( charDesc ), '"' +
 							' onkeydown="CKEDITOR.tools.callFunction( ' + onKeydown + ', event, this )"' +
@@ -303,5 +306,5 @@
 							character +
 							'</span>' +
-							'<span class="cke_voice_label" id="cke_specialchar_label_' + i + '">' +
+							'<span class="cke_voice_label" id="' + charLabelId + '">' +
 							charDesc +
 							'</span></a>');
@@ -315,5 +318,5 @@
 			}
 
-			html.push( '</tbody></table>', '<span id="specialchar_table_label" class="cke_voice_label">' + lang.options +'</span>' );
+			html.push( '</tbody></table>', '<span id="' + charsTableLabel + '" class="cke_voice_label">' + lang.options +'</span>' );
 
 			this.getContentElement( 'info', 'charContainer' ).getElement().setHtml( html.join( '' ) );
