      *  @private
      *  Method for supporting Form Accessibility.
      */
+    private static function joinWithSpace(s1:String,s2:String):String
+    {
+		// Single space treated as null so developers can override default name elements with " ".
+		if (s1 == " ")
+			s1 = "";
+		if (s2 == " ")
+			s2 = "";
+        if (s1 && s2)
+            s1 += " " +s2;
+        else if (s2)
+            s1 = s2;
+        // else we have non-empty s1 and empty s2, so do nothing.
+        return s1;
+    }
+    
+    /**
+     *  @private
+     *  Method for supporting Form Accessibility.
+     */
     private static function updateFormItemString(formItem:FormItem):String
     {
         var formName:String = "";
+        var resourceManager:IResourceManager = ResourceManager.getInstance();
         
         const itemLabel:Label = formItem.itemLabel;
         const accProp:AccessibilityProperties = (itemLabel ? itemLabel.accessibilityProperties : null);
         if (accProp && accProp.silent)
+            // We already calculated this label's name below, so just return it.
+            // FIXME gosmith: Caching this will cause problems if
+            // formItem, item label, or form header changes dynamically.
             return accProp.name;
 
         var form:UIComponent = UIComponent(formItem.parent);

     */
    override public function get_accName(childID:uint):String
    {
        var accName:String = getFormName(master);

        if (childID == 0 && 
            master.accessibilityProperties && 
            master.accessibilityProperties.name != null && 
            master.accessibilityProperties.name != "")
        {
            accName += master.accessibilityProperties.name + " ";
        }

        accName += getName(childID) + getStatusName();
        
        return (accName != null && accName != "") ? accName : null;
    }
    
    /**
     *  @private
     *  Method to return an array of childIDs.

        
        if (!UIComponent(master).enabled)
        {
            accState &= ~AccConst.STATE_SYSTEM_FOCUSABLE;
            accState |= AccConst.STATE_SYSTEM_UNAVAILABLE;
        }
        else
