Index: /CKEditor/branches/versions/3.3.x/_source/plugins/editingblock/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.3.x/_source/plugins/editingblock/plugin.js	(revision 5508)
+++ /CKEditor/branches/versions/3.3.x/_source/plugins/editingblock/plugin.js	(revision 5509)
@@ -96,4 +96,10 @@
 					event.removeListener();
 
+					// Redirect the focus into editor for webkit. (#5713)
+					CKEDITOR.env.webkit && editor.container.on( 'focus', function()
+						{
+							editor.focus();
+						});
+
 					if ( editor.config.startupFocus )
 						editor.focus();
Index: /CKEditor/branches/versions/3.3.x/_source/plugins/sourcearea/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.3.x/_source/plugins/sourcearea/plugin.js	(revision 5508)
+++ /CKEditor/branches/versions/3.3.x/_source/plugins/sourcearea/plugin.js	(revision 5509)
@@ -35,5 +35,5 @@
 								{
 									dir : 'ltr',
-									tabIndex : editor.tabIndex,
+									tabIndex : CKEDITOR.env.webkit ? -1 : editor.tabIndex,
 									'role' : 'textbox',
 									'aria-label' : editor.lang.editorTitle.replace( '%1', editor.name )
Index: /CKEditor/branches/versions/3.3.x/_source/plugins/wysiwygarea/plugin.js
===================================================================
--- /CKEditor/branches/versions/3.3.x/_source/plugins/wysiwygarea/plugin.js	(revision 5508)
+++ /CKEditor/branches/versions/3.3.x/_source/plugins/wysiwygarea/plugin.js	(revision 5509)
@@ -320,5 +320,5 @@
 							// trigger iframe's 'load' event.
   							' src="' + ( CKEDITOR.env.ie ? 'javascript:void(function(){' + encodeURIComponent( srcScript ) + '}())' : '' ) + '"' +
-							' tabIndex="' + editor.tabIndex + '"' +
+							' tabIndex="' + ( CKEDITOR.env.webkit? -1 : editor.tabIndex ) + '"' +
   							' allowTransparency="true"' +
   							'></iframe>' );
@@ -496,5 +496,14 @@
 									doc.getBody().focus();
 								else if ( CKEDITOR.env.webkit )
+								{
+									// Selection will get lost after move focus 
+									// to document element, save it first.
+									var sel = editor.getSelection(),
+											type = sel.getType(),
+											range = ( type != CKEDITOR.SELECTION_NONE ) && sel.getRanges()[ 0 ];
+
 									doc.getDocumentElement().focus();
+									range && range.select();
+								}
 
 								editor.focusManager.focus();
Index: /CKEditor/branches/versions/3.3.x/_source/themes/default/theme.js
===================================================================
--- /CKEditor/branches/versions/3.3.x/_source/themes/default/theme.js	(revision 5508)
+++ /CKEditor/branches/versions/3.3.x/_source/themes/default/theme.js	(revision 5509)
@@ -119,4 +119,5 @@
 					' title="', ( CKEDITOR.env.gecko ? ' ' : '' ), '"' +
 					' lang="', editor.langCode, '"' +
+					( CKEDITOR.env.webkit? ' tabindex="' + tabIndex + '"' : '' ) +
 					' role="application"' +
 					' aria-labelledby="cke_', name, '_arialbl"' +
