Changeset 4900


Ignore:
Timestamp:
01/07/2010 07:17:52 PM (5 years ago)
Author:
garry.yao
Message:

ARIA-enabling list panel which affect directly on all combo lists.

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

Legend:

Unmodified
Added
Removed
  • CKEditor/branches/features/aria/_source/plugins/floatpanel/plugin.js

    r4858 r4900  
    257257                                                                }
    258258
    259                                                                 iframe.$.contentWindow.focus();
     259                                                                block.element.focus();
    260260                                                                // We need this get fired manually because of unfired focus() function.
    261261                                                                this.allowBlur( true );
  • CKEditor/branches/features/aria/_source/plugins/listblock/plugin.js

    r4858 r4900  
    1 /*
     1/*
    22Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
    33For licensing, see LICENSE.html or http://ckeditor.com/license
     
    2424                                        this.base( blockHolder );
    2525
     26                                        this.element.setAttribute( 'role', 'listbox' );
     27
    2628                                        this.multiSelect = !!multiSelect;
    2729
     
    8284                                                        pendingHtml.push( '<ul class=cke_panel_list>' );
    8385                                                        this._.started = 1;
     86                                                        this._.size = this._.size || 0;
    8487                                                }
    8588
     
    8891                                                pendingHtml.push(
    8992                                                        '<li id=', id, ' class=cke_panel_listItem>' +
    90                                                                 '<a _cke_focus=1 hidefocus=true' +
     93                                                                '<a id="', id, '_option" _cke_focus=1 hidefocus=true' +
    9194                                                                        ' title="', title || value, '"' +
    9295                                                                        ' href="javascript:void(\'', value, '\')"' +
    93                                                                         ' onclick="CKEDITOR.tools.callFunction(', this._.getClick(), ',\'', value, '\'); return false;">',
     96                                                                        ' onclick="CKEDITOR.tools.callFunction(', this._.getClick(), ',\'', value, '\'); return false;"',
     97                                                                        ' role="option"' +
     98                                                                        ' aria-posinset="' + ++this._.size + '">',
    9499                                                                        html || value,
    95100                                                                '</a>' +
     
    112117                                                this._.close();
    113118                                                this.element.appendHtml( this._.pendingHtml.join( '' ) );
     119
     120                                                var items = this._.items,
     121                                                        doc = this.element.getDocument();
     122                                                for ( var value in items )
     123                                                        doc.getById( items[ value ] + '_option' ).setAttribute( 'aria-setsize', this._.size );
     124                                                delete this._.size;
     125
    114126                                                this._.pendingHtml = [];
    115127                                        },
     
    174186                                                        this.unmarkAll();
    175187
    176                                                 this.element.getDocument().getById( this._.items[ value ] ).addClass( 'cke_selected' );
     188                                                var itemId = this._.items[ value ],
     189                                                        item = this.element.getDocument().getById( itemId );
     190                                                item.addClass( 'cke_selected' );
     191
     192                                                this.element.getDocument().getById( itemId + '_option' ).setAttribute( 'aria-selected', true );
     193                                                this.element.setAttribute( 'aria-activedescendant', itemId + '_option' );
    177194                                        },
    178195
  • CKEditor/branches/features/aria/_source/plugins/panel/plugin.js

    r4896 r4900  
    248248                                        attributes :
    249249                                        {
     250                                                'tabIndex' : -1,
    250251                                                'class' : 'cke_panel_block'
    251252                                        },
Note: See TracChangeset for help on using the changeset viewer.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy