Dein Ansatz ist schon ok, aber du weisst leider nie wie der Browser arbeitet. Ich konnte es jetzt leider nicht testen, aber kann es sein dass im Safari kein click Event getriggert wird, wenn man ein Label anklickt und dessen "Ziel" (das input) nicht sichtbar ist?
Teste das mal aus.
Falls dem...