더 중요한 건 요즘 유틸성 class 명을 사용하는 사람들이 많은데, 데이터를 담는 거라느 부분에서 도움이 안 될 수 있습니다.
예를 들어 title 정보를 담았다면
h1, h2, h3 를 쓰더라도 class 는 title 이라고 하면 더 명시적이고 좋습니다.
근데 <div class="ts-12 tc-red"> 이런식으로 class 명을 만드는 건 좋은 방향이 아닙니다. title 이랴고 주고 css 로 해결하는 방향이 앞으로 더 오래 남을 수 있는 웹 페이지가 될 수 있습니다.
구조가 비교적 단순한 정보전달 목적의 웹페이지라면 시맨틱 태그와 클래스를 적용하는 것이 자연스럽습니다. 다만 모든 HTML/CSS 사용자가 웹 페이지만을 작성하지는 않습니다. 웹 애플리케이션같이 시각 요소를 위한 마크업 사용이 불가피하고 구조가 복잡한 경우에 일반적인 클래스명을 사용하면 이름이 충돌하게 됩니다. 앵귤러의 뷰 캡슐화 같은 기능이 그래서 필요한 거구요
html5 가 나온이유가 그전애 html 을 태그와 상관없이 사용했기 때문이죠. html 은 마크업랭귀지 이기 때문에 데이터를 담는 그릇이라고 보고 다루는 게 중요하다고 생각해요. 그리고 type 은 typescript (ts) 등을 다른 타입을 쓸때는 꼭 명시해야하니 생략을 너무 강조할 필요 없을 듯.