잘못 사용되는 마크업

a 요소는 anchor로써 웹에서 다른 자원을 참조한다는 의미를 갖고 있음.
다른 자원을 참조하지 않으면서도 a 요소를 사용하는 것은 적절하지 않고
또한 시각장애인은 이를 링크라고 오인한다.

다른 자원을 참조한다는 의미를 지니지 않으면서 화면상의 인터페이스만을 조작하고자 하는 목적을 지니고 있을 때에는 button 요소를 사용한다.(링크도 아니고 폼 전송도 아닌 경우 사용)
button 요소는 외관상 input type="submit" 요소와 동일한 모양을 하고 있음.
input 요소와 다른점은 button 요소는 시작 태그와 닫기 태그가 존재하고 내부에 다른 콘텐츠(텍스트, 이미지)를 담을 수 있어 풍부한 표현을 지원하며 form 을 전송하지 않는다.
button 요소의 type="button" 속성을 정확하게 명시해 주지 않으면 form을 전송하도록 기능하는 웹 브라우저도 있으므로 반드시 명시할 것.

인쇄, 뒤로 버튼은 다른 자원을 참조하기 위한 링크가 아니므로 a 요소를 사용하면 의미에 맞지 않습니다.
인쇄를 하거나 히스토리 기능을 하는 뒤로가기 버튼은 button 요소를 사용하여 마크업 해야 합니다.
button 요소는 다른 자원을 참조하지도 않고 form을 전송하지도 않는 경우 즉,  단순한 사용자 인터페이스 조작의 의미를 가질 때 사용합니다.

form에 action 값이 비어 있고 input 요소를 사용해야 할 검색 버튼을 a 요소로 마크업 한것은 이 form이 HTML로 수행 가능한 submit 기능을 자바스크립트에 전적으로 의존해서 수행하고 있다는 것을 보여줍니다.

- 출처
웹 접근성 연구소