form refactoring: add aria, nesting fieldset, some validation optimisation