refactor to HTML5InputWidget base