Scenarios: First time the page loads, ckeditor loads in readonly mode with content editable as false. Once the data is fetched from the DB and text area is populated with the data text, the CKEitor button remains disabled as expected, however text data editing area still allows the user to edit the data in chrome even as the component is coded to be readonly & disabled. This works properly in mozilla and IE. Code for making readonly in java from ADF screen. script.append("if(typeof (CKEDITOR.instances.ckeditor) != 'undefined')" + "{CKEDITOR.instances.ckeditor.setReadOnly();" + "CKEDITOR.instances.ckeditor.contentEditable=false;" + "document.getElementsByName(\"ckeditor\")[0].readOnly=true;}"); script.append( "CKEDITOR.instances.ckeditor.setReadOnly();"); -------------- CKEditor Usage -------------- We used the ckeditor in follwoing way. 1. Used ckeditor tag in JSF followed by the javascript as shown. createUpdateEditor('ckeditor', false); 2. Method createUpdateEditor as shown below: function createUpdateEditor(editor, taskflow){ try{ if (CKEDITOR.instances[editor]) { CKEDITOR.remove(CKEDITOR.instances[editor]); } var ip = window.location.hostname+':'+window.location.port; var basepath = null; if(taskflow == false){ basepath = "com.ofss.fc.ui.view"; }else{ basepath = "/workflow/com.ofss.fc.workflow.ui.common.approval/"; } var editorInsatnce = CKEDITOR.replace(editor, {"filebrowserImageBrowseUrl":"http:\/\/"+ip+"\/"+basepath+"\/ckfinder\/ckfinder.html?type=Images", "filebrowserBrowseUrl":"http:\/\/"+ip+"\/"+basepath+"\/ckfinder\/ckfinder.html", "filebrowserFlashBrowseUrl":"http:\/\/"+ip+"\/"+basepath+"\/ckfinder\/ckfinder.html?type=Flash", "filebrowserUploadUrl":"\/"+basepath+"\/ckfinder\/core\/connector\/java\/connector.java?command=QuickUpload&type=Files", "filebrowserImageUploadUrl":"\/"+basepath+"\/ckfinder\/core\/connector\/java\/connector.java?command=QuickUpload&type=Images", "filebrowserFlashUploadUrl":"\/"+basepath+"\/ckfinder\/core\/connector\/java\/connector.java?command=QuickUpload&type=Flash"}); CKFinder.setupCKEditor(editorInsatnce, 'ckfinder/'); } catch(e){ alert("instance is not ready"); } CKEDITOR.appendTo(editor, {"filebrowserImageBrowseUrl":"http:\/\/"+ip+"\/"+basepath+"\/ckfinder\/ckfinder.html?type=Images", "filebrowserBrowseUrl":"http:\/\/"+ip+"\/"+basepath+"\/ckfinder\/ckfinder.html", "filebrowserFlashBrowseUrl":"http:\/\/"+ip+"\/"+basepath+"\/ckfinder\/ckfinder.html?type=Flash", "filebrowserUploadUrl":"\/"+basepath+"\/ckfinder\/core\/connector\/java\/connector.java?command=QuickUpload&type=Files", "filebrowserImageUploadUrl":"\/"+basepath+"\/ckfinder\/core\/connector\/java\/connector.java?command=QuickUpload&type=Images", "filebrowserFlashUploadUrl":"\/"+basepath+"\/ckfinder\/core\/connector\/java\/connector.java?command=QuickUpload&type=Flash"}); }