This is done for one reason : do not submit form with required attribute on input that are actually hidden ; this is not handle correctly by browsers.
This idea here is to add/remove the required attribute on each input if the form is visible or not.