지난 주에 웹 표준과 웹 접근성을 고려한 UI 구현을 실습하면서, HTML5 태그를 제대로 이해하지 못한 채 사용하고 있다는 것을 깨닫게 되었습니다. 예를 들어, 제목 태그인 <h1>부터 <h6>를 단순히 글씨 크기에 맞춰 사용하는 것이 올바른 사용법이 아니라는 것을 알게 되었습니다. 이번 기회에 HTML5와 semantic tag의 올바른 사용법에 대해 공부하고, 그 내용을 글에 담아보려고 합니다.
HTML은 웹의 기초가 되는 마크업 언어로, 1991년 팀 버너스리에 의해 처음 소개된 이후 여러 버전을 거쳐 발전해왔습니다.
HTML의 시작(1993)
<title>
, <h1>~<h6>
, <p>
, <a>
, <img>
, <br>
등<ul>
, <ol>
, <li>
CERN(유럽 입자 물리 연구소, Conseil Européen pour la Recherche Nucléaire, European Council for Nuclear Research)은 스위스 제네바와 프랑스 국경에 위치한 세계 최대의 입자 물리학 연구소로, 1954년에 설립되었습니다. 이 연구소는 기초과학 연구뿐만 아니라 팀 버너스-리가 월드와이드웹(WWW)을 개발한 곳으로 유명하며, 전 세계 과학 기술 발전에 큰 기여를 해왔습니다.
HTML 2.0(1995)
<form>
, <textarea>
, <select>
, <option>
HTML 3.2(1997)
<table>
, <tr>
, <td>
<map>
, <area>
HTML 4.01(1999)
<iframe>
, <label>
, 다양한 <input>
유형 확장XHTML 1.0(2000): HTML을 XML 기반으로 재정의한 버전으로, 엄격한 문법 규칙을 도입했습니다.
HTML5(2014): 2004년 Apple, Mozilla, Opera 등의 기업들은 WHATWG를 결성해 HTML 표준안을 만들기 시작했고, 이것이 HTML5의 시초가 되었습니다. HTML5는 2014년 W3C에 의해 공식 권고안으로 발표되었습니다. 시맨틱 태그 도입
, 멀티미디어 지원 강화, 캔버스 요소 추가, 로컬 스토리지 기능, 향상된 폼 요소 등의 주요 특징이 있습니다.
<header>
, <nav>
, <section>
, <article>
, <footer>
<canvas>
, <audio>
, <video>
<svg>
<datalist>
, <output>
WHATWG, Web Hypertext Application Technology Working Group
, HTML과 관련된 웹 표준을 개발하고 유지 관리하는 단체로, 브라우저 간 호환성을 높이고 현대적인 웹 기술을 도입하기 위해 노력함. 주요 작업 중 하나로 HTML Living Standard를 지속적으로 업데이트 하는 역할을 함.
HTML5는 웹의 발전과 함께 등장했습니다. HTML5는 웹의 멀티미디어 처리 능력을 강화하고, 모바일 최적화, 보안 및 성능 개선, 웹 표준화를 통해 웹 개발자와 사용자에게 더욱 강력하고 효율적인 도구를 제공하는 목표로 등장했습니다.
초기 HTML은 웹 페이지의 텍스트와 링크 중심의 구조를 지원했으나, 시간이 지나면서 멀티미디어 콘텐츠(비디오, 오디오 등)와 동적인 사용자 인터페이스(UI)에 대한 요구가 증가했습니다. 웹 애플리케이션이 발전하면서 HTML만으로는 이러한 요구를 충족시키기 어려워졌습니다.
과거에는 비디오, 오디오 재생, 애니메이션 등을 구현하려면 Adobe Flash, Java Applet 등 외부 플러그인을 사용해야 했습니다. 그러나 HTML5는 <video>
, <audio>
, <canvas>
등의 새로운 태그를 도입하여 플러그인 없이도 이러한 기능을 구현할 수 있게 했습니다. 이는 웹의 안정성과 보안을 개선하며, 사용자 경험을 향상시키는 데 기여했습니다.
스마트폰과 태블릿의 사용이 급증하면서, 모바일에서 최적화된 웹사이트가 필요해졌습니다. HTML5는 모바일 웹에서도 원활한 사용자 경험을 제공할 수 있도록 설계되었습니다. 특히, 반응형 디자인과 터치스크린 지원을 위한 기능들이 강화되었습니다.
다양한 웹 브라우저와 기기에서 일관된 사용자 경험을 제공하기 위해, HTML5는 웹 표준을 지향하며 브라우저 간 호환성을 개선했습니다. 이는 개발자들이 여러 환경에서 일관된 웹 콘텐츠를 제공할 수 있도록 도왔습니다.
HTML5는 시멘틱 태그(예: <header>
, <footer>
, <article>
, <section>
)를 도입하여 콘텐츠의 구조를 명확히 정의할 수 있게 했습니다. 이는 검색 엔진 최적화(SEO)와 웹 접근성 향상에 기여했으며, 웹 페이지의 의미론적 구조를 보다 명확히 할 수 있게 했습니다.
semantic tag는 브라우저와 개발자 모두에게 콘텐츠의 의미를 명확하게 전달할 수 있는 HTML 요소입니다. 이러한 태그들은 웹 페이지의 구조와 내용을 논리적으로 그룹화하고, 각 부분에 어떤 유형의 정보가 포함될 것인지 쉽게 파악할 수 있도록 도와줍니다. semantic tag를 사용함으로써, 코드의 가독성이 향상되고, 검색 엔진 최적화(SEO)에 도움이 되며, 웹 접근성이 개선됩니다.
<!-- 페이지 제목 -->
<header>
<h1>Main Page Title</h1>
</header>
<!-- 문서 헤더 -->
<header>
<a class="logo" href="">MDN Docs</a>
<nav>
<ul>
<li><a href="/ko/docs/Web">References</a></li>
<li><a href="/ko/docs/Learn_web_development">Learn</a></li>
</ul>
</nav>
</header>
<body>
<h1>웹 개발 가이드</h1>
<h2>HTML 기초</h2>
<h3>시맨틱 태그</h3>
<h2>CSS 스타일링</h2>
<h3>레이아웃 기법</h3>
</body>
메뉴, 목차, 색인 등에 사용
<nav>
<h2>사이트 탐색</h2>
<ul>
<li><a href="/">홈</a></li>
<li><a href="/articles">글 목록</a></li>
</ul>
</nav>
블로그 글
뉴스 기사
포럼 게시물
사용자 댓글
위젯/가젯
위젯? 앱이나 웹에서 사용자가 자주 쓰는 정보를 간편하게 확인하거나 특정 작업을 빠르게 수행할 수 있도록 제공되는 작은 인터페이스 요소. 예를 들어, 날씨 정보나 메모를 표시하는 화면의 작은 창을 말함
가젯? 특정한 기능을 수행하는 작고 휴대 가능한 기기 또는 소프트웨어 도구를 말함. 예를 들어, 디지털 세계에서 생산성 도구, 계산기, clock 등을 말함
제품 리뷰
인터뷰 내용
<article>
<header>
<h2>블로그 글 제목</h2>
<time datetime="2025-01-26 14:00">1월 26일</time>
<p>by Lucy</p>
</header>
<p>본문 내용</p>
<section>
<h3>댓글</h3>
<article>첫 번째 댓글</article>
<article>두 번째 댓글</article>
</section>
</article>
책의 챕터
웹사이트 홈페이지의 섹션(소개, 뉴스, 연락처)
탭 대화 상자의 페이지
논문의 번호 매거진 섹션
<body>
<header>
<h1>Company</h1>
</header>
<section id="introduction">
<h2>소개</h2>
<p>우리 회사/서비스에 대한 간단한 설명</p>
</section>
<section id="news">
<h2>최근 뉴스</h2>
<article>
<h3>최근 뉴스 기사 1</h3>
</article>
<article>
<h3>최근 뉴스 기사 2</h3>
</article>
</section>
</body>
관련성은 있지만 독립적인 정보
사이드바
광고 영역
인용구(Pull Quote)
배경 정보
블로그 링크 모음
<article>
<h2>인어 공주</h2>
<p>디즈니 만화영화 <em>인어 공주</em>는 1989년 처음 개봉했습니다.</p>
<aside>인어 공주는 첫 개봉 당시 8700만불의 흥행을 기록했습니다.</aside>
</article>
저작권 정보
연락처 정보
관련 링크
문서 작성사 정보
사이트맵
이용약관 링크
<body>
<header>
<h1>Blog</h1>
</header>
<article>
<h2>블로그 글 제목</h2>
<p>본문 내용</p>
<footer>
<p>작성일: <time datetime="2025-01-26 14:00">1월 26일</time></p>
<p>작성자: Lucy</p>
</footer>
</article>
<footer>
<p>© 2025 Blog</p>
</footer>
</body>
<!-- header content -->
<main>
<h1>Apples</h1>
<p>The apple is the pomaceous fruit of the apple tree.</p>
<!-- ... -->
</main>
<!-- footer content -->
HTML5와 semantic tag는 웹 기술의 발전과 함께 등장한 중요한 요소입니다. HTML5는 WHATWG 단체에서 표준안 작업을 시작해 2014년 W3C에 의해 공식 권고안으로 발표된 기술로, 시맨틱 태그 도입, 멀티미디어 지원 강화, 캔버스 요소 추가, 로컬 스토리지 기능 등의 주요 특징을 가지고 있습니다.
semantic tag는 HTML5에 새롭게 추가된 요소로, 브라우저와 개발자 모두에게 콘텐츠의 의미를 명확히 전달할 수 있도록 설계되었습니다. 이를 통해 웹페이지의 구조와 내용을 그룹화하고, 각 섹션의 정보를 쉽게 파악할 수 있습니다.
개발자는 코드를 더 효과적으로 관리하고 유지보수 할 수 있으며, 사용자는 콘텐츠에 보다 쉽게 접근할 수 있게 됩니다.
HTML5와 시맨틱 태그는 웹 콘텐츠의 의미와 구조를 명확하게 전달
하기 위해 사용됩니다. HTML5는 웹 페이지에서 멀티미디어 지원을 강화
하고, 시맨틱 태그(<header>, <footer>, <article>, <section> 등)를 도입
하여 검색 엔진 최적화(SEO)와 접근성을 개선
합니다. 이러한 태그는 웹 페이지의 콘텐츠를 논리적으로 그룹화
하고, 코드의 가독성도 향상
시킵니다. HTML5는 또한 플러그인 의존도를 줄여 사용자 경험을 개선
하며, 다양한 기기에서 일관된 웹 콘텐츠 제공을 목표
로 합니다.
왜 HTML5에 집중했는지 깨달았습니다. 글을 당시에 만났다면 지금쯤 시니어 프런트엔드 개발자이지 않았을까 싶네요. 재밌게 읽었습니다!