Changeset 4896


Ignore:
Timestamp:
01/07/2010 08:16:17 AM (5 years ago)
Author:
garry.yao
Message:

Decorating editor chrome and toolbar items with appropriate ARIA attributes.

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

Legend:

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

    r4858 r4896  
    1 /* 
     1/* 
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
     
    9393                validateNumberFailed    : 'This value is not a number.', 
    9494                confirmNewPage  : 'Any unsaved changes to this content will be lost. Are you sure you want to load new page?', 
    95                 confirmCancel   : 'Some of the options have been changed. Are you sure to close the dialog?', 
    96  
    97                 // Put the voice-only part of the label in the span. 
    98                 unavailable             : '%1<span class="cke_accessibility">, unavailable</span>' 
     95                confirmCancel   : 'Some of the options have been changed. Are you sure to close the dialog?' 
    9996        }, 
    10097 
     
    533530        { 
    534531                label : 'Styles', 
    535                 voiceLabel : 'Styles', 
    536532                panelVoiceLabel : 'Select a style', 
    537533                panelTitle1 : 'Block Styles', 
     
    543539        { 
    544540                label : 'Format', 
    545                 voiceLabel : 'Format', 
    546541                panelTitle : 'Paragraph Format', 
    547542                panelVoiceLabel : 'Select a paragraph format', 
  • CKEditor/branches/features/aria/_source/plugins/button/plugin.js

    r4858 r4896  
    1 /* 
     1/* 
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
     
    138138                                ' title="', this.title, '"' + 
    139139                                ' tabindex="-1"' + 
    140                                 ' hidefocus="true"' ); 
     140                                ' hidefocus="true"' + 
     141                            ' role="button"' + 
     142                                ' aria-labelledby="' + id + '_label"' ); 
    141143 
    142144                // Some browsers don't cancel key events in the keydown but in the 
     
    171173                output.push( 
    172174                                        '></span>' + 
    173                                         '<span class="cke_label">', this.label, '</span>' ); 
     175                                        '<span id="', id, '_label" class="cke_label">', this.label, '</span>' ); 
    174176 
    175177                if ( this.hasArrow ) 
     
    199201                { 
    200202                        element.setState( state ); 
    201  
    202                         var htmlTitle = this.title, 
    203                                 unavailable = this._.editor.lang.common.unavailable, 
    204                                 labelElement = element.getChild( 1 ); 
    205  
    206                         if ( state == CKEDITOR.TRISTATE_DISABLED ) 
    207                                 htmlTitle = unavailable.replace( '%1', this.title ); 
    208  
    209                         labelElement.setHtml( htmlTitle ); 
     203                        state == CKEDITOR.TRISTATE_DISABLED ? 
     204                                element.setAttribute( 'aria-disabled', true ) : 
     205                                element.removeAttribute( 'aria-disabled' ); 
    210206                } 
    211207 
  • CKEditor/branches/features/aria/_source/plugins/panel/plugin.js

    r4858 r4896  
    156156                                                '</head>' + 
    157157                                                '<body class="cke_' + dir + ' cke_panel_frame ' + CKEDITOR.env.cssClass + '" style="margin:0;padding:0"' + 
    158                                                 ' onload="( window.CKEDITOR || window.parent.CKEDITOR ).tools.callFunction(' + onLoad + ');">' + 
    159                                                 '</body>' + 
     158                                                ' onload="( window.CKEDITOR || window.parent.CKEDITOR ).tools.callFunction(' + onLoad + ');"' + 
     159                                                ' role="application"></body>' + 
    160160                                                // It looks strange, but for FF2, the styles must go 
    161161                                                // after <body>, so it (body) becames immediatelly 
  • CKEditor/branches/features/aria/_source/plugins/richcombo/plugin.js

    r4858 r4896  
    1 /* 
     1/* 
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. 
    33For licensing, see LICENSE.html or http://ckeditor.com/license 
     
    164164                        output.push( 
    165165                                '>' + 
    166                                         '<span class=cke_label>', this.label, '</span>' + 
    167                                         '<a hidefocus=true title="', this.title, '" tabindex="-1" href="javascript:void(\'', this.label, '\')"' ); 
     166                                        '<span id="' + id+ '_label" class=cke_label>', this.label, '</span>' + 
     167                                        '<a hidefocus=true title="', this.title, '" tabindex="-1" href="javascript:void(\'', this.label, '\')"' + 
     168                                                ' role="button" aria-labelledby="', id ,'_label"' ); 
    168169 
    169170                        // Some browsers don't cancel key events in the keydown but in the 
     
    188189                                        ' onclick="CKEDITOR.tools.callFunction(', clickFn, ', this); return false;">' + 
    189190                                                '<span>' + 
    190                                                         '<span class="cke_accessibility">' + ( this.voiceLabel ? this.voiceLabel + ' ' : '' ) + '</span>' + 
    191191                                                        '<span id="' + id + '_text" class="cke_text cke_inline_label">' + this.label + '</span>' + 
    192192                                                '</span>' + 
     
    282282                        this._.value = value; 
    283283 
    284                         var textElement = this.document.getById( 'cke_' + this.id + '_text' ); 
     284                        var element = this.document.getById( 'cke_' + this.id ) 
     285                                                                .getElementsByTag( 'a' ).getItem( 0 ), 
     286                                 textElement = this.document.getById( 'cke_' + this.id + '_text' ); 
    285287 
    286288                        if ( !( value || text ) ) 
     
    292294                                textElement.removeClass( 'cke_inline_label' ); 
    293295                        textElement.setHtml( typeof text != 'undefined' ? text : value ); 
     296 
     297                        // Update link 'tilte' to represent the currectly selected combo value. 
     298                        element.setAttribute( 'title', typeof text != 'undefined' ? text : value ); 
    294299                }, 
    295300 
  • CKEditor/branches/features/aria/_source/themes/default/theme.js

    r4858 r4896  
    120120                                        ' lang="', editor.langCode, '"' + 
    121121                                        ' tabindex="' + tabIndex + '"' + 
     122                                        ' role="application"' + 
    122123                                        ( style ? ' style="' + style + '"' : '' ) + 
    123124                                        '>' + 
     
    168169                                                '" dir="', editor.lang.dir, '"' + 
    169170                                                ' lang="', editor.langCode, '"' + 
     171                                                ' role="application"' + 
    170172                                                '>' + 
    171173                                                '<table class="cke_dialog', ' ' + CKEDITOR.env.cssClass, 
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy