The <ace:dialog> component supports a visible property that can be managed by value binding to a backing bean. Note that the visible property must be managed always, so mixing with client api complicates things and a submission that sets the visible property must be performed.