Index: _source/plugins/wysiwygarea/plugin.js
===================================================================
--- _source/plugins/wysiwygarea/plugin.js (revision 3167)
+++ _source/plugins/wysiwygarea/plugin.js (working copy)
@@ -180,6 +180,34 @@
// must be done after setting the "src", to avoid the
// "secure/unsecure" message under HTTPS.
mainElement.append( iframe );
+
+
+ if ( CKEDITOR.env.gecko )
+ {
+ // Accessibility attributes for Firefox.
+ mainElement.setAttributes(
+ {
+ role : 'region',
+ title : 'CKEditor ' + editor.name + '. Type in text.'
+ } );
+ iframe.setAttributes(
+ {
+ role : 'region',
+ title : ' '
+ } );
+ }
+ else if ( CKEDITOR.env.ie )
+ {
+ // Accessibility label for IE.
+ var label = CKEDITOR.document.createElement( 'label' );
+ label.setStyles( {
+ position : 'absolute',
+ 'top' : '-1000000px',
+ left : '-1000000px'
+ } );
+ label.append( CKEDITOR.document.createText( 'CKEditor ' + editor.name ) );
+ label.insertBefore( iframe );
+ }
};
// The script that is appended to the data being loaded. It
Index: _source/plugins/toolbar/plugin.js
===================================================================
--- _source/plugins/toolbar/plugin.js (revision 3167)
+++ _source/plugins/toolbar/plugin.js (working copy)
@@ -13,6 +13,7 @@
var toolbox = function()
{
this.toolbars = [];
+ this.focusCommandExecuted = false;
};
toolbox.prototype.focus = function()
@@ -37,7 +38,10 @@
exec : function( editor )
{
if ( editor.toolbox )
+ {
+ editor.toolbox.focusCommandExecuted = true;
editor.toolbox.focus();
+ }
}
}
};
@@ -155,6 +159,16 @@
itemObj.toolbar = toolbarObj;
itemObj.onkey = itemKeystroke;
+
+ /*
+ * Fix for #3052:
+ * Prevent JAWS from focusing the toolbar after document load.
+ */
+ itemObj.onfocus = function()
+ {
+ if ( !editor.toolbox.focusCommandExecuted )
+ editor.focus();
+ };
}
}
Index: _source/plugins/richcombo/plugin.js
===================================================================
--- _source/plugins/richcombo/plugin.js (revision 3167)
+++ _source/plugins/richcombo/plugin.js (working copy)
@@ -117,7 +117,7 @@
output.push(
'">' +
'', this.label, '' +
- '' +
'' +
'', this.label, '' +
@@ -234,6 +235,14 @@
ev = new CKEDITOR.dom.event( ev );
return ( instance.onkey( instance, ev.getKeystroke() ) !== false );
}
+ },
+
+ focus : function( index, ev )
+ {
+ var instance = CKEDITOR.ui.button._.instances[ index ];
+
+ if ( instance.onfocus )
+ return ( instance.onfocus( instance, new CKEDITOR.dom.event( ev ) ) !== false );
}
};