Большинство из нас, работающих с JS, знают, как перехватывать события «ввода» и «отправки» для выполнения «совпадающего ввода», например, когда пользователи создают новые пароли. Проблема в том, что большинство реализаций просто добавляют абзацы в разметку, или требуют собственного механизма сообщения об ошибках, или десятков других обходных путей, которые несовместимы со встроенной проверкой браузера, предоставляемой HTML 5.