Index: /CKEditor/branches/versions/3.2.x/_source/plugins/a11ycompat/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/a11ycompat/plugin.js	(revision 5106)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/a11ycompat/plugin.js	(revision 5107)
@@ -23,6 +23,5 @@
 	{
 		return {
-				'dialog' :	 env.gecko && env.version >= 10900,
-				'region' : env.gecko && env.version >= 10900
+				'dialog' :	 env.gecko && env.version >= 10900
 			}[ role ];
 	}
@@ -72,15 +71,4 @@
 			fieldset.insertBefore( element );
 			fieldset.append( element );
-		}
-		// The only reliable substitution of aria-label on an iframe
-		// is to use the content window title of that frame.
-		else if ( element.is( 'iframe' ) )
-		{
-			doc = element.$.contentWindow.document;
-			var title = doc.title;
-
-			// Backup the title and restore it before running into use.
-			title && editor.on( 'beforeModeUnload', function() { doc.title = title; } );
-			doc.title = allInOne;
 		}
 	}
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/htmldataprocessor/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/htmldataprocessor/plugin.js	(revision 5106)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/htmldataprocessor/plugin.js	(revision 5107)
@@ -186,4 +186,9 @@
 					if ( !element.attributes.type )
 						element.attributes.type = 'text/css';
+				},
+
+				title : function( element )
+				{
+					element.children[ 0 ].value = element.attributes[ '_cke_title' ];
 				}
 			},
Index: /CKEditor/branches/versions/3.2.x/_source/plugins/wysiwygarea/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.2.x/_source/plugins/wysiwygarea/plugin.js	(revision 5106)
+++ /CKEditor/branches/versions/3.2.x/_source/plugins/wysiwygarea/plugin.js	(revision 5107)
@@ -242,4 +242,6 @@
 				? editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' : false;
 
+			var frameLabel = editor.lang.editorTitle.replace( '%1', editor.name );
+
 			editor.on( 'editingBlockReady', function()
 				{
@@ -251,5 +253,4 @@
 						fireMode;
 
-					var frameLabel = editor.lang.editorTitle.replace( '%1', editor.name );
 
 					// Support for custom document.domain in IE.
@@ -276,5 +277,5 @@
   							' tabIndex="-1"' +
   							' allowTransparency="true"' +
-							' role="region"' +
+							' role="editbox"' +
 							' aria-multiline="true"' +
 							' aria-label="' + frameLabel + '"' +
@@ -723,4 +724,15 @@
 				});
 
+			var titleBackup;
+			// Setting voice label as window title, backup the original one
+			// and restore it before running into use.
+			editor.on( 'contentDom', function ()
+				{
+					var title = editor.document.getElementsByTag( 'title' ).getItem( 0 );
+					title.setAttribute( '_cke_title', editor.document.$.title );
+					editor.document.$.title = frameLabel;
+				});
+
+
 			// Create an invisible element to grab focus.
 			if( CKEDITOR.env.ie )
