Index: /CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js
===================================================================
--- /CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js	(revision 4974)
+++ /CKEditor/branches/features/aria/_source/plugins/dialogui/plugin.js	(revision 4975)
@@ -832,5 +832,5 @@
 				};
 
-				this.fieldset = new CKEDITOR.ui.dialog.uiElement( dialog, elementDefinition, htmlList, 'fieldset', null, null, innerHTML );
+				CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, htmlList, 'fieldset', null, null, innerHTML );
 			}
 
@@ -1388,4 +1388,6 @@
 	CKEDITOR.ui.dialog.fileButton.prototype = new CKEDITOR.ui.dialog.button;
 
+	CKEDITOR.ui.dialog.fieldset.prototype = CKEDITOR.ui.dialog.uiElement.prototype;
+
 	CKEDITOR.dialog.addUIElement( 'text', textBuilder );
 	CKEDITOR.dialog.addUIElement( 'password', textBuilder );
Index: /CKEditor/branches/features/aria/_source/plugins/link/dialogs/link.js
===================================================================
--- /CKEditor/branches/features/aria/_source/plugins/link/dialogs/link.js	(revision 4974)
+++ /CKEditor/branches/features/aria/_source/plugins/link/dialogs/link.js	(revision 4975)
@@ -515,7 +515,7 @@
 						[
 							{
-								type : 'html',
+								type : 'fieldset',
 								id : 'selectAnchorText',
-								html : CKEDITOR.tools.htmlEncode( editor.lang.link.selectAnchor ),
+								label : editor.lang.link.selectAnchor,
 								setup : function( data )
 								{
@@ -524,5 +524,88 @@
 									else
 										this.getElement().hide();
-								}
+								},
+								children :
+								[
+									{
+										type : 'hbox',
+										id : 'selectAnchor',
+										children :
+										[
+											{
+												type : 'select',
+												id : 'anchorName',
+												'default' : '',
+												label : editor.lang.link.anchorName,
+												style : 'width: 100%;',
+												items :
+												[
+													[ '' ]
+												],
+												setup : function( data )
+												{
+													this.clear();
+													this.add( '' );
+													for ( var i = 0 ; i < data.anchors.length ; i++ )
+													{
+														if ( data.anchors[i].name )
+															this.add( data.anchors[i].name );
+													}
+
+													if ( data.anchor )
+														this.setValue( data.anchor.name );
+
+													var linkType = this.getDialog().getContentElement( 'info', 'linkType' );
+													if ( linkType && linkType.getValue() == 'email' )
+														this.focus();
+												},
+												commit : function( data )
+												{
+													if ( !data.anchor )
+														data.anchor = {};
+
+													data.anchor.name = this.getValue();
+												}
+											},
+											{
+												type : 'select',
+												id : 'anchorId',
+												'default' : '',
+												label : editor.lang.link.anchorId,
+												style : 'width: 100%;',
+												items :
+												[
+													[ '' ]
+												],
+												setup : function( data )
+												{
+													this.clear();
+													this.add( '' );
+													for ( var i = 0 ; i < data.anchors.length ; i++ )
+													{
+														if ( data.anchors[i].id )
+															this.add( data.anchors[i].id );
+													}
+
+													if ( data.anchor )
+														this.setValue( data.anchor.id );
+												},
+												commit : function( data )
+												{
+													if ( !data.anchor )
+														data.anchor = {};
+
+													data.anchor.id = this.getValue();
+												}
+											}
+										],
+										setup : function( data )
+										{
+											if ( data.anchors.length > 0 )
+												this.getElement().show();
+											else
+												this.getElement().hide();
+										}
+									}
+								]
 							},
 							{
@@ -530,88 +613,9 @@
 								id : 'noAnchors',
 								style : 'text-align: center;',
-								html : '<div>' + CKEDITOR.tools.htmlEncode( editor.lang.link.noAnchors ) + '</div>',
+								html : '<div tabIndex="-1">' + CKEDITOR.tools.htmlEncode( editor.lang.link.noAnchors ) + '</div>',
+								focus : function(){},
 								setup : function( data )
 								{
 									if ( data.anchors.length < 1 )
-										this.getElement().show();
-									else
-										this.getElement().hide();
-								}
-							},
-							{
-								type : 'hbox',
-								id : 'selectAnchor',
-								children :
-								[
-									{
-										type : 'select',
-										id : 'anchorName',
-										'default' : '',
-										label : editor.lang.link.anchorName,
-										style : 'width: 100%;',
-										items :
-										[
-											[ '' ]
-										],
-										setup : function( data )
-										{
-											this.clear();
-											this.add( '' );
-											for ( var i = 0 ; i < data.anchors.length ; i++ )
-											{
-												if ( data.anchors[i].name )
-													this.add( data.anchors[i].name );
-											}
-
-											if ( data.anchor )
-												this.setValue( data.anchor.name );
-
-											var linkType = this.getDialog().getContentElement( 'info', 'linkType' );
-											if ( linkType && linkType.getValue() == 'email' )
-												this.focus();
-										},
-										commit : function( data )
-										{
-											if ( !data.anchor )
-												data.anchor = {};
-
-											data.anchor.name = this.getValue();
-										}
-									},
-									{
-										type : 'select',
-										id : 'anchorId',
-										'default' : '',
-										label : editor.lang.link.anchorId,
-										style : 'width: 100%;',
-										items :
-										[
-											[ '' ]
-										],
-										setup : function( data )
-										{
-											this.clear();
-											this.add( '' );
-											for ( var i = 0 ; i < data.anchors.length ; i++ )
-											{
-												if ( data.anchors[i].id )
-													this.add( data.anchors[i].id );
-											}
-
-											if ( data.anchor )
-												this.setValue( data.anchor.id );
-										},
-										commit : function( data )
-										{
-											if ( !data.anchor )
-												data.anchor = {};
-
-											data.anchor.id = this.getValue();
-										}
-									}
-								],
-								setup : function( data )
-								{
-									if ( data.anchors.length > 0 )
 										this.getElement().show();
 									else
