Ticket #7745: 7745.patch

File 7745.patch, 2.9 KB (added by Garry Yao, 9 years ago)
  • _source/plugins/wysiwygarea/plugin.js

    IDEA additional info:
    Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
    <+>UTF-8
     
    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.editor,
     480                                frameDesc = editor.lang.editorTitle.replace( '%1', editor.name );
    480481
    481482                        var win = CKEDITOR.document.getWindow();
    482483                        var contentDomReadyHandler;
     
    520521                                                        :
    521522                                                                '';
    522523
     524                                                var labelId = CKEDITOR.tools.getNextId();
    523525                                                iframe = CKEDITOR.dom.element.createFromHtml( '<iframe' +
    524526                                                        ' style="width:100%;height:100%"' +
    525527                                                        ' frameBorder="0"' +
    526                                                         ' title="' + frameLabel + '"' +
     528                                                        ' aria-describedby="' + labelId + '"' +
     529                                                        ' aria-label="'+ frameLabel +'"' +
     530                                                        ' title="' + frameLabel + '"' +
     531                                                        ' role="textbox"' +
    527532                                                        ' src="' + src + '"' +
    528533                                                        ' tabIndex="' + ( CKEDITOR.env.webkit? -1 : editor.tabIndex ) + '"' +
    529534                                                        ' allowTransparency="true"' +
     
    549554                                                if ( document.location.protocol == 'chrome:' )
    550555                                                        CKEDITOR.event.useCapture = false;
    551556
     557                                                mainElement.append( CKEDITOR.dom.element.createFromHtml(
     558                                                        '<span role="label" id="' + labelId + '" class="cke_voice_label">' +
     559                                                        frameDesc + '</span>'));
     560
    552561                                                mainElement.append( iframe );
    553562
    554563                                                // Webkit: iframe size doesn't auto fit well. (#7360)
     
    10071016                                                                                '<html dir="' + config.contentsLangDirection + '"' +
    10081017                                                                                        ' lang="' + ( config.contentsLanguage || editor.langCode ) + '">' +
    10091018                                                                                '<head>' +
    1010                                                                                         '<title>' + frameLabel + '</title>' +
     1019                                                                                        '<title></title>' +
    10111020                                                                                        baseTag +
    10121021                                                                                        headExtra +
    10131022                                                                                '</head>' +
     
    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 );
    1152                                         editor.document.$.title = frameLabel;
     1161                                        editor.document.$.title = [ frameLabel, frameDesc ].join( ' ' );
    11531162                                });
    11541163
    11551164                        editor.on( 'readOnly', function()
© 2003 – 2021 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy