Index: /CKEditor/branches/features/aria/_source/lang/en.js
===================================================================
--- /CKEditor/branches/features/aria/_source/lang/en.js	(revision 4902)
+++ /CKEditor/branches/features/aria/_source/lang/en.js	(revision 4903)
@@ -593,4 +593,6 @@
 		textColorTitle : 'Text Color',
 		bgColorTitle : 'Background Color',
+		panelTitle : 'Colors',
+		panelVoiceLabel : 'Select a color',
 		auto : 'Automatic',
 		more : 'More Colors...'
Index: /CKEditor/branches/features/aria/_source/plugins/colorbutton/plugin.js
===================================================================
--- /CKEditor/branches/features/aria/_source/plugins/colorbutton/plugin.js	(revision 4902)
+++ /CKEditor/branches/features/aria/_source/plugins/colorbutton/plugin.js	(revision 4903)
@@ -32,10 +32,10 @@
 					panel :
 					{
-						css : editor.skin.editor.css
+						css : editor.skin.editor.css,
+						aria : { role : 'listbox', 'aria-label' : lang.panelTitle, 'aria-describedby' : lang.panelVoiceLabel }
 					},
 
-					onBlock : function( panel, blockName )
+					onBlock : function( panel, block )
 					{
-						var block = panel.addBlock( blockName );
 						block.autoSize = true;
 						block.element.addClass( 'cke_colorblock' );
@@ -56,5 +56,6 @@
 		{
 			var output = [],
-				colors = config.colorButton_colors.split( ',' );
+				colors = config.colorButton_colors.split( ',' ),
+				total = colors.length + ( config.colorButton_enableMore ? 2 : 1 );
 
 			var clickFn = CKEDITOR.tools.addFunction( function( color, type )
@@ -99,5 +100,6 @@
 					' title="', lang.auto, '"' +
 					' onclick="CKEDITOR.tools.callFunction(', clickFn, ',null,\'', type, '\');return false;"' +
-					' href="javascript:void(\'', lang.auto, '\')">' +
+					' href="javascript:void(\'', lang.auto, '\')"' +
+					' role="option" aria-posinset="1" aria-setsize="', total, '">' +
 					'<table cellspacing=0 cellpadding=0 width="100%">' +
 						'<tr>' +
@@ -126,5 +128,6 @@
 							' title="', colorLabel, '"' +
 							' onclick="CKEDITOR.tools.callFunction(', clickFn, ',\'#', colorCode, '\',\'', type, '\'); return false;"' +
-							' href="javascript:void(\'', colorLabel, '\')">' +
+							' href="javascript:void(\'', colorLabel, '\')"' +
+							' role="option" aria-posinset="', ( i + 2 ), '" aria-setsize="', total, '">' +
 							'<span class="cke_colorbox" style="background-color:#', colorCode, '"></span>' +
 						'</a>' +
@@ -142,5 +145,6 @@
 								' title="', lang.more, '"' +
 								' onclick="CKEDITOR.tools.callFunction(', clickFn, ',\'?\',\'', type, '\');return false;"' +
-								' href="javascript:void(\'', lang.more, '\')">',
+								' href="javascript:void(\'', lang.more, '\')"',
+								' role="option" aria-posinset="', total, '" aria-setsize="', total, '">', 
 								lang.more,
 							'</a>' +
Index: /CKEditor/branches/features/aria/_source/plugins/menu/plugin.js
===================================================================
--- /CKEditor/branches/features/aria/_source/plugins/menu/plugin.js	(revision 4902)
+++ /CKEditor/branches/features/aria/_source/plugins/menu/plugin.js	(revision 4903)
@@ -296,6 +296,4 @@
 
 			var htmlLabel = this.label;
-			if ( state == CKEDITOR.TRISTATE_DISABLED )
-				htmlLabel = this.editor.lang.common.unavailable.replace( '%1', htmlLabel );
 
 			if ( this.className )
Index: /CKEditor/branches/features/aria/_source/plugins/panel/plugin.js
===================================================================
--- /CKEditor/branches/features/aria/_source/plugins/panel/plugin.js	(revision 4902)
+++ /CKEditor/branches/features/aria/_source/plugins/panel/plugin.js	(revision 4903)
@@ -199,5 +199,6 @@
 	addBlock : function( name, block )
 	{
-		block = this._.blocks[ name ] = block || new CKEDITOR.ui.panel.block( this.getHolderElement() );
+		block = this._.blocks[ name ] = block instanceof CKEDITOR.ui.panel.block ?  block
+				: new CKEDITOR.ui.panel.block( this.getHolderElement(), block );
 
 		if ( !this._.currentBlock )
Index: /CKEditor/branches/features/aria/_source/plugins/panelbutton/plugin.js
===================================================================
--- /CKEditor/branches/features/aria/_source/plugins/panelbutton/plugin.js	(revision 4902)
+++ /CKEditor/branches/features/aria/_source/plugins/panelbutton/plugin.js	(revision 4903)
@@ -1,3 +1,3 @@
-﻿/*
+/*
 Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
@@ -58,4 +58,9 @@
 							|| CKEDITOR.document;
 
+			panelDefinition.block =
+			{
+				aria : panelDefinition.aria
+			};
+
 			this.hasArrow = true;
 
@@ -89,6 +94,8 @@
 
 				var panelDefinition = this._.panelDefinition || {},
+					 panelBlockDefinition = this._.panelDefinition.block,
 					panelParentElement = panelDefinition.parent || CKEDITOR.document.getBody(),
 					panel = this._.panel = new CKEDITOR.ui.floatPanel( editor, panelParentElement, panelDefinition ),
+					block = panel.addBlock( _.id, panelBlockDefinition ),
 					me = this;
 
@@ -127,7 +134,7 @@
 
 				if ( this.onBlock )
-					this.onBlock( panel, _.id );
+					this.onBlock( panel, block );
 
-				panel.getBlock( _.id ).onHide = function()
+				block.onHide = function()
 						{
 								_.on = 0;
