Changeset 4900


Ignore:
Timestamp:
01/07/10 19:17:52 (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