     }
 
     //----------------------------------
+    //  hasFocusableChildren
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the hasFocusableChildren property.
+     */
+    private var _hasFocusableChildren:Boolean = false;
+
+    [Bindable("hasFocusableChildrenChange")]
+    [Inspectable(defaultValue="false")]
+
+	/**
+	 *  A flag that indicates whether child objects can receive focus
+	 * 
+	 *  <p>This is similar to the <code>tabChildren</code> property
+     *  used by the Flash Player.
+	 * 
+	 *  <p>This is usually <code>false</code> because most components
+     *  either receive focus themselves or delegate focus to a single
+     *  internal sub-component and appear as if the component has
+     *  received focus.  For example, a TextInput contains a focusable
+     *  child RichEditableText control, but while the RichEditableText
+     *  sub-component actually receives focus, it appears as if the
+     *  TextInput has focus.  TextInput sets <code>hasFocusableChildren</code>
+     *  to <code>false</code> because TextInput is considered the
+     *  component that has focus.  Its internal structure is an
+     *  abstraction.</p>
+     *
+	 *  <p>Usually only navigator components like TabNavigator and
+     *  Accordion have this flag set to <code>true</code> because they
+     *  receive focus on Tab but focus goes to components in the child
+     *  containers on further Tabs.</p>
+	 *  
+     *  @default false
+     *  
+	 *  @langversion 4.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.5
+	 *  @productversion Flex 4
+	 */
+    public function get hasFocusableChildren():Boolean
+    {
+        return _hasFocusableChildren;
+    }
+
+    /**
+     *  @private
+     */
+    public function set hasFocusableChildren(value:Boolean):void
+    {
+        if (value != _hasFocusableChildren)
+        {
+            _hasFocusableChildren = value;
+            dispatchEvent(new Event("hasFocusableChildrenChange"));
+        }
+    }
+
+    //----------------------------------
     //  mouseFocusEnabled
     //----------------------------------
 

        
        // Override  variables in superclasses.
        focusRect = false; // We do our own focus drawing.
        tabEnabled = (this is IFocusManagerComponent);
            // We are tab enabled by default if IFocusManagerComponent
        tabChildren = false;

        // Whether the component can accept user interaction.
        // The default is true. If you set enabled to false for a container,

 *    explicitMinWidth="NaN"
 *    explicitWidth="NaN"
 *    focusEnabled="true|false"
 *    hasFocusableChildren="false|true"
 *    height="0"
 *    id=""
 *    includeInLayout="true|false"
