         role = AccConst.ROLE_SYSTEM_GROUPING;
     }
 
+	//--------------------------------------------------------------------------
+	//
+	//  Variables
+	//
+	//--------------------------------------------------------------------------
+	
+	/**
+	 *  @private
+	 *  A Sprite which gets added to the Panel for the sole purpose
+	 *  of holding the PanelAccImpl.
+	 *  We have to make sure that the size of this Sprite is the same
+	 *  as the size of the Panel so that the MSAA Location is correct.
+	 */
+	mx_internal var accImplSprite:Sprite;
+	
+	/**
+	 *  @private
+	 *  If the titleDisplay keeps an acc impl, it shows up as an accessible
+	 *  object, in addition to the accImplSprite.
+	 *  To prevent this, we remove the acc impl from the titleDisplay
+	 *  and park it here.
+	 */
+	private var titleDisplayAccImpl:AccessibilityImplementation;
+	
+	//--------------------------------------------------------------------------
+	//
+	//  Overridden properties: AccImpl
+	//
+	//--------------------------------------------------------------------------
+	
+	//----------------------------------
+	//  eventsToHandle
+	//----------------------------------
+	
+	/**
+	 *  @private
+	 *  Array of events that we should listen for from the master component.
+	 */
+	override protected function get eventsToHandle():Array
+	{
+		return super.eventsToHandle.concat([ ResizeEvent.RESIZE,
+											 SkinPartEvent.PART_ADDED,
+											 SkinPartEvent.PART_REMOVED ]);
+	}
+	
     //--------------------------------------------------------------------------
     //
     //  Overridden methods: AccessibilityImplementation

    /**
     *  @private
     *  Creates Panel's AccessibilityImplementation object.
	 *  This method is called from Panel's
	 *  partAdded() method, not its initializeAccessibility() method,
	 *  because the PanelAccImpl needs to be attached
	 *  to the Panel's titleBar.
	 *  The partRemoved() method removes the acc impl from the titleDisplay.
     */
    mx_internal static function createAccessibilityImplementation(
                                component:UIComponent):void
    {
        // The AccessibilityImplementation is placed on the
        // Panel's titleBar, not on the Panel itself.
        // If it were placed on the Panel itself,
        // the AccessibilityImplementations of the Panel's children
        // would be ignored.
        var titleDisplay:UIComponent = Panel(component).titleDisplay;
        if (titleDisplay)
        {
            titleDisplay.accessibilityImplementation =
				new PanelAccImpl(component);
            
			if (Panel(component).tabIndex > 0 && titleDisplay.tabIndex == -1)
                titleDisplay.tabIndex = Panel(component).tabIndex;
        }
    }

    //--------------------------------------------------------------------------
    //
    //  Constructor

 *
 *  <p>When a Spark Panel is created,
 *  the <code>accessibilityImplementation</code> property
 *  of a special child Sprite is set to an instance of this class.
 *  The Flash Player then uses this class to allow MSAA clients
 *  such as screen readers to see and manipulate the Panel.
 *  See the mx.accessibility.AccImpl and
