HTML 구조 — head 와 body 의 역할
HTML 구조 — head 와 body 의 역할
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ block vs inline 차이
- ▸✅ form · input · label 의 올바른 연결
- ▸✅ img alt 텍스트 작성 4원칙
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
HTML 페이지의 *해부도*
핵심 한 줄
모든 HTML 페이지는 + 두 부분으로 나뉩니다. head 는 눈에 안 보이는 메타 정보, body 는 실제 보이는 내용.
head — 페이지의 뒷면
여기 들어가는 것:
- ▸메타 정보: 인코딩·뷰포트·설명·OG (소셜 공유)
- ▸외부 파일 연결: CSS·JS·폰트·아이콘
- ▸검색엔진 최적화 (SEO): title·description·canonical 등
사용자에게 직접 보이진 않지만 검색 엔진·SNS·접근성 도구가 이 정보를 읽습니다.
body — 페이지의 앞면
사용자가 실제로 보는 내용이 다 들어갑니다. 시맨틱 태그 (header·main·article·section·aside·footer) 로 의미를 구조화하는 게 표준.
자주 빠뜨리는 필수 5가지
1. <!DOCTYPE html> — HTML5 선언. 안 쓰면 옛 모드 동작
2. <html lang="ko"> — 언어 명시. 스크린리더·번역에 영향
3. <meta charset="UTF-8"> — 한글 깨짐 100% 방지
4. <meta viewport> — 모바일 반응형 필수
5. <title> — SEO 1순위 + 브라우저 탭
OG 태그 — SNS 공유 미리보기
링크 공유 시 카카오톡·페이스북 에 보이는 미리보기는 OG (Open Graph) 태그로 결정:
마케팅에 중요. 미리보기 없으면 클릭률 ↓.
한 번 정리
head = 눈에 안 보이는 메타, body = 실제 내용. 둘 다 빠뜨리지 않고 시맨틱하게 작성하는 게 좋은 HTML.
접근성 (a11y) · 시맨틱 HTML · SEO 의 관계
시맨틱 태그가 실제로 무엇을 바꾸나
1. 스크린리더 — 눈 없이 웹을 듣는 사람
NVDA·VoiceOver 가 "링크: 소개" 라고 자동 안내. div 클릭은 읽어주지 않음.
2. 키보드 사용자 — 마우스 못 쓰는 사람
- ▸
<a>,<button>는 Tab 으로 포커스 + Enter 로 활성화 기본 - ▸
<div onclick>은 Tab 포커스 X.tabindex="0"+role="button"+ 키보드 이벤트 직접 처리 필요
3. SEO — 구글 봇이 의미를 이해
구글이 어디가 본문인지 자동 판별. SEO 점수 상승.
ARIA 4가지 핵심 속성
role — 의미 부여
가능하면 시맨틱 태그 (<button>) 가 우선. ARIA 는 대안 없을 때만.
aria-label — 눈에 안 보이는 라벨
시각적 텍스트가 없는 버튼 의 의미를 알려줌. 아이콘 버튼·검색 박스에 필수.
aria-hidden — 스크린리더에서 감추기
텍스트 정보가 중복 이면 아이콘 자체는 가려줍니다.
aria-describedby — 추가 설명 연결
포커스 시 힌트도 함께 읽어줌.
alt 텍스트 — 원칙 4가지
규칙:
1. 이미지의 의미를 텍스트로 옮긴다
2. 장식용이면 alt="" (생략 X)
3. "이미지", "사진" 같은 단어 금지 (스크린리더가 이미 "이미지" 라고 안내)
4. 짧고 명확하게
tabindex — 포커스 순서
양수 tabindex 는 안티패턴. DOM 순서를 따르세요.
빠른 점검 도구
- ▸Lighthouse (Chrome DevTools) — Accessibility 점수
- ▸axe DevTools 확장 — 자동 진단
- ▸스크린리더 직접 사용 — Mac VoiceOver (Cmd+F5), Windows NVDA
🤖 AI 에게 이렇게 요청해보세요
- ▸"이 div 기반 버튼을 시맨틱 button 태그로 바꿔주고 키보드 접근성 추가해줘"
- ▸"이 모든 아이콘 버튼에 aria-label 을 추가해줘"
- ▸"이 페이지의 alt 텍스트를 의미 중심으로 다시 써줘"