Changeset 4913


Ignore:
Timestamp:
01/12/2010 10:35:14 AM (5 years ago)
Author:
garry.yao
Message:

Enable ARIA support for sourcearea editing blocks.

Location:
CKEditor/branches/features/aria/_source
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/features/aria/_source/lang/en.js

    r4912 r4913  
    3333         */
    3434        editorTitle             : 'Rich text editor, %1',
    35         editorVoiceLabel : 'Press ALT+F10 moves to toolbar, ALT+F11 moves to elementspath bar.',
     35        editorWysiwygModeVoiceLabel : 'Wysiwyg mode, press ALT+F10 moves to toolbar, ALT+F11 moves to elementspath bar.SHIFT+F10 opens contextmenu.',
     36        editorSourceModeVoiceLabel : 'Source mode, press ALT+F10 moves to toolbar.',
    3637
    3738        // Toolbar buttons without dialogs.
  • CKEditor/branches/features/aria/_source/plugins/sourcearea/plugin.js

    r4858 r4913  
    1 /*
     1/*
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
    33For licensing, see LICENSE.html or http://ckeditor.com/license
     
    1717                var sourcearea = CKEDITOR.plugins.sourcearea;
    1818
     19                var sourceareaLabel = editor.lang.editorTitle.replace( '%1', editor.name ),
     20                         sourceareaDescriptiveLabel = editor.lang.editorSourceModeVoiceLabel;
     21
    1922                editor.on( 'editingBlockReady', function()
    2023                        {
     
    2932                                                                holderElement.setStyle( 'position', 'relative' );
    3033
     34                                                        // Accessibility label for iframe document.
     35                                                        var labelId = editor.name + '_editing_textarea_label',
     36                                                                 descriptionId = editor.name + '_editing_textarea_desc';
     37
    3138                                                        // Create the source area <textarea>.
    3239                                                        editor.textarea = textarea = new CKEDITOR.dom.element( 'textarea' );
     
    3441                                                                {
    3542                                                                        dir : 'ltr',
    36                                                                         tabIndex : -1
     43                                                                        tabIndex : -1,
     44                                                                        'role' : 'textbox',
     45                                                                        'aria-labelledby' : labelId,
     46                                                                        'aria-describedby' : descriptionId
    3747                                                                });
    3848                                                        textarea.addClass( 'cke_source' );
     
    8898                                                        // <textarea> to it.
    8999                                                        holderElement.setHtml( '' );
     100
     101                                                        var label = CKEDITOR.dom.element.createFromHtml(
     102                                                                '<div style="display:none">' +
     103                                                                        '<span id="' + labelId + '">' +
     104                                                                                CKEDITOR.tools.htmlEncode( sourceareaLabel ) +
     105                                                                        '</span>' +
     106                                                                        '<span id="' + descriptionId + '">' +
     107                                                                                CKEDITOR.tools.htmlEncode( sourceareaDescriptiveLabel ) +
     108                                                                        '</span>' +
     109                                                                '</div>'
     110                                                                , CKEDITOR.document );
     111
    90112                                                        holderElement.append( textarea );
    91113                                                        textarea.setStyles( styles );
     114                                                        label.insertBefore( textarea );
    92115
    93116                                                        textarea.on( 'blur', function()
  • CKEditor/branches/features/aria/_source/plugins/wysiwygarea/plugin.js

    r4912 r4913  
    243243
    244244                        var frameLabel = editor.lang.editorTitle.replace( '%1', editor.name ),
    245                                  frameDescriptiveLabel = editor.lang.editorVoiceLabel;
     245                                 frameDescriptiveLabel = editor.lang.editorWysiwygModeVoiceLabel;
    246246
    247247                        editor.on( 'editingBlockReady', function()
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy