HTML5가 도입되면서 HTML4 시절에 사용되던 많은 태그들이 공식적으로 폐기(deprecated)되었습니다. 폐기된 태그란 웹 표준에서 더 이상 권장하지 않으며, 향후 브라우저 지원이 중단될 수 있는 요소를 의미합니다.
대부분의 폐기된 태그는 화면 표시와 관련된 기능을 담당했는데, 이러한 역할은 이제 CSS가 전담하기 때문입니다. 따라서 기존 코드를 유지보수하거나 새로운 프로젝트를 시작할 때 아래 표를 참고하여 대체 방법을 사용하는 것이 좋습니다.
HTML5에서 폐기된 주요 태그 목록
| 태그 | 설명 | 대체 방법 |
|---|---|---|
| <applet> | 폐기됨 - 자바 애플릿(applet)을 지정할 때 사용 | <object> |
| <basefont> | 폐기됨 - 문서 전체의 기본 글꼴을 지정할 때 사용 | CSS font 속성 |
| <center> | 폐기됨 - 텍스트를 가운데 정렬할 때 사용 | text-align: center |
| <dir> | 폐기됨 - 디렉터리 목록을 지정할 때 사용 | <ul> |
| <embed> | 폐기됨 - 문서에 외부 애플리케이션을 삽입할 때 사용 | <object>, <video>, <audio> |
| <font> | 폐기됨 - 텍스트의 글꼴, 크기, 색상을 지정할 때 사용 | font-family, font-size 등 CSS 속성 |
| <isindex> | 폐기됨 - 한 줄 입력 필드를 지정할 때 사용 | <input> |
| <listing> | 폐기됨 - 항목 목록을 표시할 때 사용 | <pre> |
| <menu> | 폐기됨 - 메뉴 목록을 지정할 때 사용 | <ul>, <nav> |
| <plaintext> | 폐기됨 - 일반 텍스트(plaintext)를 그대로 표시할 때 사용 | <pre> |
| <s> | 폐기됨 - 취소선(strikethrough)이 있는 텍스트를 지정할 때 사용 | text-decoration: line-through |
| <strike> | 폐기됨 - 취소선이 있는 텍스트를 지정할 때 사용 | text-decoration: line-through |
| <u> | 폐기됨 - 밑줄 친 텍스트를 지정할 때 사용 | text-decoration: underline |
| <xmp> | 폐기됨 - 미리 서식이 지정된 텍스트를 표시할 때 사용 | <pre> |
폐기된 태그를 대체해야 하는 이유
HTML5의 핵심 설계 원칙 중 하나는 구조(HTML)와 표현(CSS)의 분리입니다. 과거에는 <font>, <center>, <u> 같은 태그가 문서 구조 안에서 직접 스타일을 제어했지만, 이는 코드의 재사용성과 유지보수성을 크게 떨어뜨렸습니다.
현재는 모든 시각적 효과를 CSS로 처리하는 것이 표준입니다. 예를 들어 가운데 정렬이 필요하면 <center> 태그 대신 text-align: center를, 취소선이 필요하면 <strike> 대신 text-decoration: line-through를 사용하면 됩니다.
참고 사항
일부 폐기된 태그(<s>, <u> 등)는 HTML5에서 의미론적(semantically) 용도로 재정의되어 다시 사용되기도 하지만, 순수하게 표현 목적으로만 사용하는 것은 여전히 권장하지 않습니다. 오래된 코드를 다룰 때는 위 표의 대체 방법으로 마이그레이션하는 것이 안전합니다.