По умолчанию при переключении между вкладками отправляется родительская tabPanel. Вы можете изменить это поведение, используя атрибут switchType tabPanel для ajax или client. Я могу придумать два способа предотвратить отправку вашей формы при переходе с одной вкладки на другую:
Изменить атрибут switchType на клиент
Включите форму для каждой вкладки
Я не вижу, где определена ваша форма, но я предполагаю, что все богатство: tabPanel находится внутри формы. Я вижу, что на вашей странице description.xhtml не определено ни одной формы. Вы можете попробовать удалить имеющуюся форму, а затем добавить форму для каждой вкладки, то есть в description.xhtml:
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:advanced="http://java.sun.com/jsf/composite/advanced">
<a4j:form>
<h:panelGroup id="description">
// ...
<h:outputLabel value="Name"/>
<h:inputText id="name"
value="#{testTree.selected.name.text}"
rendered="#{description.editing}"/>
// ...
<advanced:button text="Reset" //Just a little upgraded a4j:commandButton
icon="images/clear.png"
action="#{description.resetEditing()}"
execute="@this"
render="description"
rendered="#{description.editing}"/>
<advanced:button text="Save"
icon="images/save2.png"
action="#{description.commitEditing()}"
execute="description" // #name and a few more fields
render="description"
rendered="#{description.editing}"/>
</h:panelGroup>
</a4j:form>
</ui:composition>
Я бы также установил атрибут switchType tabPanel в ajax, чтобы обновлялось только содержимое tabPanel.