I prototyped form controls in data tables. Each body row contains input and select controls labelled by text in a sticky column header.
Create navigation within and between steps of a prototype registration form. Use semantic HTML instead of classes for CSS. Patterns for back links and branching.
Our registration form wizard used a mix of inaccessible default browser error messages and ambiguous custom form validation messages in red text.