Situation: TaskB depends on TaskA
Usually it's not possible to move TaskB before TaskA.
Except if you move TaskB before the start of the project. In that case you get the question whether this is allowed and if you click yes, TaskB's bar is still drawn at the same place, but the pointer from TaskA to TaskB points to where you have moved TaskB to.
If you then click on the bar of TaskB, the "virtual" bar where the pointer points to gets highlighted and you can move the "virtual" bar.