Best practice for linear or non-linear stepper in multistep forms
I am hammering out the guidelines for use of Material design's steppers in a system. The admin using this system can configure a form to some extent. The admin can not decide in which step of a multi step form a field will appear, but they can configure if the field should be mandatory or optional. I'm struggling with figuring out when to use linear versus non-linear steppers.
Non-linear stepper
A non-linear stepper should be used in cases where we do not control which steps contains mandatory fields, eg.
- Step 1 (*contains required fields)
- Step 2 (all fields are optional)
- Step 3 (*contains required fields)
In use cases like this we want to allow the user to quickly jump to the necessary steps to complete the form.
Linear stepper
A linear stepper should be used in cases where the object that will be created depends on the selection done in the first step, eg.
- Create internal
- Create external
It should also be used when a field in the current step depends on a selection made in a previous step.
How do I determine if a linear or non-linear stepper is ideal for my use case?