Hi!
IS-IS is not strict on the areas but has some decent rules defined for connecting areas.
OSPF however, has a tough hierarchical that needs to be followed for establishing connectivity between areas. On the brighter side, that same toughness is used to avoid loops in OSPF.
There are no virtual-links in IS-IS, if you can explain the topology then maybe we can share a way around for that as well.