This article summarizes everything and gives reasoning but it boils down to:
autocomplete to input fieldstype value for input fields<button> or <a>, not <div> or <span><button> inside <form> tags<label> and <input> tags, avoid placeholder<label> tags:focus state to UIonChange instead of onKeyup