Accessible form validation from scratch