스크린 리더에는 랜드마크 목록을 불러오는 단축키가 있습니다(VoiceOver의 로터, NVDA의 랜드마크 목록 등). `<div>`로만 이루어진 페이지는 이 목록이 텅 비어서, 사용자가 콘텐츠 시작 지점을 찾으려면 처음부터 한 줄씩 읽어 내려가야 합니다. `<header>`(banner), `<nav>`(navigation), `<main>`, `<aside>`(complementary), `<footer>`(contentinfo)를 쓰면 각 태그가 암묵적으로 해당 ARIA 역할을 갖게 되어 이 목록에 자동으로 나타납니다.
`<main>`은 페이지당 하나만 써야 하고, `<nav>`가 여러 개면 `aria-label`로 서로 구별해줘야 합니다("주 메뉴" vs "페이지 하단 메뉴"). `role="main"` 같은 ARIA 역할을 직접 줘도 같은 효과를 내지만, 가능하면 네이티브 태그를 먼저 씁니다.
데모는 같은 레이아웃을 두 가지로 보여줍니다 — 전부 `<div>`인 페이지(랜드마크 목록이 비어 있음)와 시맨틱 태그로 구역화한 페이지(목록이 배너 → 내비게이션 → 메인 → 콘텐츠 정보 순으로 항목을 훑습니다).
언제 쓰나
새 페이지를 짤 때 레이아웃 뼈대를 시맨틱 태그로 시작하세요 — 스타일링과 무관하게 무료로 얻는 접근성입니다. nav가 두 개 이상이면 aria-label을 꼭 붙이세요.