         
         tabChildren = false;
         tabEnabled = true;
+        tabFocusEnabled = true;
 
         addEventListener(IndexChangeEvent.CARET_CHANGE, caretChangeHandler);
 

        if (dataProvider)
        {
            dataProvider.removeEventListener(CollectionEvent.COLLECTION_CHANGE, resetCollectionChangeHandler);
            if (dataProvider is INavigatable)
                dataProvider.removeEventListener(FlexEvent.NAVIGATION_CHANGE, navigationChangeHandler);
        }
    
        // not really a default handler, we just want it to run after the datagroup
        if (value)
        {
            value.addEventListener(CollectionEvent.COLLECTION_CHANGE, resetCollectionChangeHandler, false, EventPriority.DEFAULT_HANDLER);
            if (value is INavigatable)
                value.addEventListener(FlexEvent.NAVIGATION_CHANGE, navigationChangeHandler);
        }

        super.dataProvider = value;

     */
    private function navigationChangeHandler(event:Event):void
    {
        if (ISelectableList(dataProvider).selectedIndex != selectedIndex)
            selectedIndex = ISelectableList(dataProvider).selectedIndex;
    }

    /**
