Index: _source/plugins/listblock/plugin.js
===================================================================
--- _source/plugins/listblock/plugin.js	(revision 5206)
+++ _source/plugins/listblock/plugin.js	Fri Mar 19 00:44:26 CST 2010
@@ -195,11 +195,14 @@
 
 						this.element.getDocument().getById( itemId + '_option' ).setAttribute( 'aria-selected', true );
 						this.element.setAttribute( 'aria-activedescendant', itemId + '_option' );
+
+						this.onMark && this.onMark( item );
 					},
 
 					unmark : function( value )
 					{
 						this.element.getDocument().getById( this._.items[ value ] ).removeClass( 'cke_selected' );
+						this.onUnmark && this.onUnmark( this._.items[ value ] );
 					},
 
 					unmarkAll : function()
@@ -211,6 +214,8 @@
 						{
 							doc.getById( items[ value ] ).removeClass( 'cke_selected' );
 						}
+
+						this.onUnmark && this.onUnmark();
 					},
 
 					isMarked : function( value )
Index: _source/plugins/panel/plugin.js
===================================================================
--- _source/plugins/panel/plugin.js	(revision 5206)
+++ _source/plugins/panel/plugin.js	Fri Mar 19 00:44:26 CST 2010
@@ -244,6 +244,16 @@
 
 		this._.onKeyDown = block.onKeyDown && CKEDITOR.tools.bind( block.onKeyDown, block );
 
+		block.onMark = function( item )
+		{
+			holder.setAttribute( 'aria-activedescendant', item.getId() + '_option' );
+		};
+
+		block.onUnmark = function()
+		{
+			holder.removeAttribute( 'aria-activedescendant' );
+		};
+
 		block.show();
 
 		return block;
@@ -303,6 +313,8 @@
 			if ( CKEDITOR.env.webkit )
 				item.getDocument().getWindow().focus();
 			item.focus();
+
+			this.onMark && this.onMark( item );
 		}
 	},
 
