
이번 글은 Frontend / Markup Structure 영역에서 HTML 태그를 “왜 이 태그로 써야 하는가”에 초점을 맞춰 정리한다.
HTML은 단순히 화면을 그리는 용도가 아니라, 문서의 구조와 의미를 정의하는 언어다. 그래서 “보이기만 하면 된다”가 아니라 용도에 맞는 태그 선택이 매우 중요하다.
<!DOCTYPE html>은 이 문서가 HTML5 표준으로 작성되었음을 브라우저에 알리는 선언문이다.
이 선언이 없으면 브라우저는
으로 문서를 읽게 되고, 그 결과 HTML / CSS / JavaScript가 의도와 다르게 동작하는 문제가 발생할 수 있다.
따라서 HTML 문서의 첫 줄에는 항상 이 선언이 있어야 한다.
<head>는 사용자가 눈으로 직접 보지는 않지만, 브라우저·검색엔진·스크린 리더가 읽는 정보를 담는 영역이다.
여기에는 다음과 같은 정보들이 들어간다.
<title>은 브라우저 상단 탭에 표시되는 제목이다.
즉, 단순한 장식이 아니라 SEO와 직결되는 요소다.
charset은 이 문서의 문자를 어떤 방식으로 해석할지 지정한다.
<meta charset="UTF-8">
여기서 자주 헷갈리는 포인트:
lang="ko" → 문서의 언어 정보 (검색엔진 / 스크린 리더)UTF-8 → 문자 인코딩 방식둘은 역할이 완전히 다르기 때문에 서로 독립적으로 이해해야 한다.
viewport는 화면에 보여지는 영역을 제어하는 메타 정보다.
모바일 환경에서는
가 대부분 같지만, input 클릭 시 키보드가 올라오는 경우처럼 둘이 어긋나는 상황도 발생한다.
이때도 레이아웃이 깨지지 않도록 기준을 잡아주는 역할을 한다.
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Open Graph는 Meta(구 Facebook)에서 만든 프로토콜로, 웹페이지를 SNS에 공유했을 때 보여지는 정보를 정의한다.
카카오톡, 페이스북, 디스코드 등에서 링크를 붙여넣었을 때
가 자동으로 표시되는 이유가 바로 이것이다.
<head>
<meta property="og:title" content="Korea IT Academy 12월 국비 과정">
<meta property="og:description" content="심화 HTML / CSS 및 기초 JavaScript 과정">
<meta property="og:image" content="https://showcases.yalco.kr/html-css-scoop/03-01.png">
</head>
이렇게 작성하면, 공유 시 이미지 + 굵은 제목 + 설명 텍스트가 함께 노출된다.
파비콘은 브라우저 탭 제목 옆에 표시되는 작은 아이콘이다.
<link rel="shortcut icon" href="./상대경로.png" type="image/x-icon">
작은 요소지만 사이트 식별성과 완성도를 크게 높여준다.
div와 span만으로도 웹페이지를 만드는 것은 가능하다.
하지만 전부 div로만 구성되면
를 코드만 보고 파악하기가 매우 어렵다.
이 문제를 해결하기 위해 등장한 개념이 시맨틱 태그다.
기능적으로는 div와 동일하지만, 역할에 따라 이름이 붙은 div라고 이해하면 된다.
페이지 또는 구획의 상단 영역.
전체 페이지뿐 아니라, 섹션 내부에서도 사용 가능하다.
링크 이동을 담당하는 영역.
페이지 또는 구획의 하단 영역.
페이지에서 가장 중요한 메인 컨텐츠 영역.
메인 컨텐츠와 간접적으로 연관된 영역.
주제나 성격에 따라 컨텐츠를 묶는 구획.
더 세부 단위가 필요해지면 그때 div를 사용한다.
독립적으로 재사용 가능한 컨텐츠.
이미지와 설명을 하나의 의미 단위로 묶을 때 사용한다.
<figure>: 이미지 묶음<figcaption>: 이미지 설명