IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
|
|
|
|
| 476 | 476 | var fixForBody = ( editor.config.enterMode != CKEDITOR.ENTER_BR && editor.config.autoParagraph !== false ) |
| 477 | 477 | ? editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' : false; |
| 478 | 478 | |
| 479 | | var frameLabel = editor.lang.editorTitle.replace( '%1', editor.name ); |
| | 479 | // ARIA related markups. |
| | 480 | var ariaLabel = editor.lang.editor, |
| | 481 | ariaDesc = editor.lang.editorTitle.replace( '%1', editor.name ), |
| | 482 | labelId = CKEDITOR.tools.getNextId(); |
| 480 | 483 | |
| | 484 | var voiceRegionHtml = '<div role="region" ' + |
| | 485 | 'id="' + labelId + '" ' + |
| | 486 | 'style="width:0;height:0;"" ' + |
| | 487 | 'aria-relevant="text" ' + |
| | 488 | 'aria-live="assertive"></div>'; |
| | 489 | |
| | 490 | // Speak out the specified text through the live region. |
| | 491 | function updateVoiceRegion( text ) |
| | 492 | { |
| | 493 | var labelEl = CKEDITOR.document.getById( labelId ); |
| | 494 | setTimeout( function() { labelEl.setText( text ); }, 0 ); |
| | 495 | } |
| | 496 | |
| 481 | 497 | var win = CKEDITOR.document.getWindow(); |
| 482 | 498 | var contentDomReadyHandler; |
| 483 | 499 | editor.on( 'editingBlockReady', function() |
| … |
… |
|
| 523 | 539 | iframe = CKEDITOR.dom.element.createFromHtml( '<iframe' + |
| 524 | 540 | ' style="width:100%;height:100%"' + |
| 525 | 541 | ' frameBorder="0"' + |
| 526 | | ' title="' + frameLabel + '"' + |
| | 542 | ' aria-label="'+ ariaLabel +'"' + |
| | 543 | ' role="textbox"' + |
| 527 | 544 | ' src="' + src + '"' + |
| 528 | 545 | ' tabIndex="' + ( CKEDITOR.env.webkit? -1 : editor.tabIndex ) + '"' + |
| 529 | 546 | ' allowTransparency="true"' + |
| … |
… |
|
| 549 | 566 | if ( document.location.protocol == 'chrome:' ) |
| 550 | 567 | CKEDITOR.event.useCapture = false; |
| 551 | 568 | |
| | 569 | mainElement.append( CKEDITOR.dom.element.createFromHtml( voiceRegionHtml ) ); |
| 552 | 570 | mainElement.append( iframe ); |
| 553 | 571 | |
| 554 | 572 | // Webkit: iframe size doesn't auto fit well. (#7360) |
| … |
… |
|
| 733 | 751 | } |
| 734 | 752 | |
| 735 | 753 | editor.focusManager.focus(); |
| | 754 | |
| | 755 | // IE doesn't accept any more description on iframe, |
| | 756 | // we cheat it by sending via live region right |
| | 757 | // after focus is received, so it should be spoken |
| | 758 | // right after the presentation has completed. |
| | 759 | updateVoiceRegion( ariaDesc ); |
| 736 | 760 | }); |
| 737 | 761 | |
| 738 | 762 | var keystrokeHandler = editor.keystrokeHandler; |
| … |
… |
|
| 1007 | 1031 | '<html dir="' + config.contentsLangDirection + '"' + |
| 1008 | 1032 | ' lang="' + ( config.contentsLanguage || editor.langCode ) + '">' + |
| 1009 | 1033 | '<head>' + |
| 1010 | | '<title>' + frameLabel + '</title>' + |
| | 1034 | '<title></title>' + |
| 1011 | 1035 | baseTag + |
| 1012 | 1036 | headExtra + |
| 1013 | 1037 | '</head>' + |
| … |
… |
|
| 1142 | 1166 | }, null, null, 1 ); |
| 1143 | 1167 | }); |
| 1144 | 1168 | |
| 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() |
| | 1169 | // [IE] JAWS will not recognize the aria label we used on the iframe |
| | 1170 | // unless the frame window title string is used as the voice label, |
| | 1171 | // backup the original one and restore it on output. |
| | 1172 | CKEDITOR.env.ie && editor.on( 'contentDom', function() |
| 1149 | 1173 | { |
| 1150 | 1174 | var title = editor.document.getElementsByTag( 'title' ).getItem( 0 ); |
| 1151 | 1175 | title.data( 'cke-title', editor.document.$.title ); |
| 1152 | | editor.document.$.title = frameLabel; |
| | 1176 | editor.document.$.title = ariaLabel; |
| 1153 | 1177 | }); |
| 1154 | 1178 | |
| 1155 | 1179 | editor.on( 'readOnly', function() |
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
|
|
|
|
| 31 | 31 | * Screenreader titles. Please note that screenreaders are not always capable |
| 32 | 32 | * of reading non-English words. So be careful while translating it. |
| 33 | 33 | */ |
| 34 | | editorTitle : 'Rich text editor, %1, press ALT 0 for help.', |
| | 34 | editorTitle : '%1, press ALT 0 for help.', |
| 35 | 35 | |
| 36 | 36 | // ARIA descriptions. |
| 37 | 37 | toolbars : 'Editor toolbars', |