Changeset 4896


Ignore:
Timestamp:
01/07/10 08:16:17 (6 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 – 2015 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy