Ticket #7745: 7745_3.patch

File 7745_3.patch, 2.9 KB (added by Frederico Caldeira Knabben, 9 years ago)
  • _source/lang/en.js

     
    3131         * Screenreader titles. Please note that screenreaders are not always capable
    3232         * of reading non-English words. So be careful while translating it.
    3333         */
    34         editorTitle : 'Rich text editor, %1, press ALT 0 for help.',
     34        editorTitle : 'Rich text editor, %1',
     35        editorHelp : 'Press ALT 0 for help',
    3536
    3637        // ARIA descriptions.
    3738        toolbars        : 'Editor toolbars',
  • _source/plugins/wysiwygarea/plugin.js

     
    476476                        var fixForBody = ( editor.config.enterMode != CKEDITOR.ENTER_BR && editor.config.autoParagraph !== false )
    477477                                ? editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' : false;
    478478
    479                         var frameLabel = editor.lang.editorTitle.replace( '%1', editor.name );
     479                        var frameLabel = editor.lang.editorTitle.replace( '%1', editor.name ),
     480                                frameDesc = editor.lang.editorHelp;
    480481
     482                        if ( CKEDITOR.env.ie )
     483                                frameLabel += ', ' + frameDesc;
     484
    481485                        var win = CKEDITOR.document.getWindow();
    482486                        var contentDomReadyHandler;
    483487                        editor.on( 'editingBlockReady', function()
     
    520524                                                        :
    521525                                                                '';
    522526
     527                                                var labelId = CKEDITOR.tools.getNextId();
    523528                                                iframe = CKEDITOR.dom.element.createFromHtml( '<iframe' +
    524529                                                        ' style="width:100%;height:100%"' +
    525530                                                        ' frameBorder="0"' +
    526                                                         ' title="' + frameLabel + '"' +
     531                                                        ' aria-describedby="' + labelId + '"' +
     532                                                        ' title="' + frameLabel + '"' +
    527533                                                        ' src="' + src + '"' +
    528534                                                        ' tabIndex="' + ( CKEDITOR.env.webkit? -1 : editor.tabIndex ) + '"' +
    529535                                                        ' allowTransparency="true"' +
     
    549555                                                if ( document.location.protocol == 'chrome:' )
    550556                                                        CKEDITOR.event.useCapture = false;
    551557
     558                                                mainElement.append( CKEDITOR.dom.element.createFromHtml(
     559                                                        '<span id="' + labelId + '" class="cke_voice_label">' + frameDesc + '</span>'));
     560
    552561                                                mainElement.append( iframe );
    553562
    554563                                                // Webkit: iframe size doesn't auto fit well. (#7360)
     
    11421151                                        }, null, null, 1 );
    11431152                                });
    11441153
    1145                         var titleBackup;
    1146                         // Setting voice label as window title, backup the original one
    1147                         // and restore it before running into use.
    1148                         editor.on( 'contentDom', function()
     1154                        // [IE] JAWS will not recognize the aria label we used on the iframe
     1155                        // unless the frame window title string is used as the voice label,
     1156                        // backup the original one and restore it on output.
     1157                        CKEDITOR.env.ie && editor.on( 'contentDom', function()
    11491158                                {
    11501159                                        var title = editor.document.getElementsByTag( 'title' ).getItem( 0 );
    11511160                                        title.data( 'cke-title', editor.document.$.title );
© 2003 – 2021 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy