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', |