Index: /CKEditor/branches/features/aria/_source/plugins/button/plugin.js
===================================================================
--- /CKEditor/branches/features/aria/_source/plugins/button/plugin.js	(revision 4897)
+++ /CKEditor/branches/features/aria/_source/plugins/button/plugin.js	(revision 4898)
@@ -140,5 +140,6 @@
 				' hidefocus="true"' +
 			    ' role="button"' +
-				' aria-labelledby="' + id + '_label"' );
+				' aria-labelledby="' + id + '_label"' +
+				( this.hasArrow ?  ' aria-haspopup="true"' : '' ) );
 
 		// Some browsers don't cancel key events in the keydown but in the
@@ -204,4 +205,8 @@
 				element.setAttribute( 'aria-disabled', true ) :
 				element.removeAttribute( 'aria-disabled' );
+
+			state == CKEDITOR.TRISTATE_ON ?
+				element.setAttribute( 'aria-pressed', true ) :
+				element.removeAttribute( 'aria-pressed' );
 		}
 
Index: /CKEditor/branches/features/aria/_source/plugins/richcombo/plugin.js
===================================================================
--- /CKEditor/branches/features/aria/_source/plugins/richcombo/plugin.js	(revision 4897)
+++ /CKEditor/branches/features/aria/_source/plugins/richcombo/plugin.js	(revision 4898)
@@ -166,5 +166,5 @@
 					'<span id="' + id+ '_label" class=cke_label>', this.label, '</span>' +
 					'<a hidefocus=true title="', this.title, '" tabindex="-1" href="javascript:void(\'', this.label, '\')"' +
-						' role="button" aria-labelledby="', id , '_label" aria-describedby="', id, '_text"' );
+						' role="button" aria-labelledby="', id , '_label" aria-describedby="', id, '_text" aria-haspopup="true"' );
 
 			// Some browsers don't cancel key events in the keydown but in the
