<div>
태그의 정의 및 사용법
<div>
태그는
레이아웃을 만들거나 콘텐츠를 나누는(division) 컨테이너로 사용하는 태그입니다.
<div>
태그는 자체적으로 특별한 의미가 전혀 없습니다.
자체적으로는 특별한 의미가 전혀 없지만,
단순 텍스트나 텍스트에 관련된 마크업 등 구문 콘텐츠에 스타일이나 속성의 범위를 적용하기 위해서는 <span>
태그를 사용하세요.
<div>
태그는 적당하지 않습니다.
활용 예제
<div>
태그는 웹사이트를 제작할 때 가장 많아 사용하는 태그들 가운데 하나입니다. <div>
태그의 다양한 활용 예제입니다.
속성을 활용하기 위한 컨테이너
다음의 예제는 lang
속성으로 콘텐츠의 일부분을 영어 영역으로 나누기 위해 <div>
태그를 활용한 예제입니다.
lang
속성은 HTML 태그에 언어 정보를 제공하는데 사용됩니다.
이 속성을 사용하면 스크린 리더 및 보조 기술을 사용하는 사용자가 콘텐츠를 더 잘 이해할 수 있습니다.
스타일을 활용하기 위한 컨테이너
<div>
태그는 스타일을 지정하기 위한 영역으로 활용됩니다.
웹사이트 제작에 있어서 스타일을 지정하기 위해 <div>
태그를 활용하는 예는 수없이 많습니다. 그 중에서 몇 가지를 소개하겠습니다.
콘텐츠의 박스 스타일을 위한 컨테이너
다음은 <div>
태그로 콘텐츠의 박스 스타일을 위한 컨테이너로 활용한 예제입니다.
아름다운 박스 스타일을 만들었군요!
오직 시각적 스타일을 위한 장식용 컨텐이너
다음은 <div>
태그로 오직 스타일을 위한 시각적 장식용 컨테이너로 활용한 예제입니다.
aria-hidden="true"
는 스크린 리더 및 보조 기술을 사용하는 것으로, aria-hidden
속성의 값이 true
로 설정되면 해당 요소와 그 안에 포함된 콘텐츠는 접근성 기술을 통해 감지되지 않습니다. 위 예제에서는 <div>
태그가 오직 시각적 장식으로만 활용되었기 때문에 웹접근성 향상을 위해 사용되었습니다.
role
속성으로 <div>
태그에 구조의 역할이나 의미 부여
role
속성은
HTML 요소(Element)의 확장 개념으로 좀 더 명확한 HTML 요소의 구조와 의미를 부여하는 역할을 하는 속성입니다.
<div>
태그에 role
속성을 사용해서 구조나 의미를 부여할 수 있습니다.
웹 페이지의 구성과 구조를 식별하는 역할
글로벌 헤더나 글로벌 푸터, 사이트바, 메뉴 네비게이션 등은 웹 페이지를 이해하고 탐색하는 데 도움을 주며, 스크린 리더 및 다른 보조 기술을 사용하는 사용자에게 페이지의 레이아웃 및 구조를 전달하는 데 중요한 역할을 합니다. HTML에서 이를 "랜드마크(landmark)"라고 합니다.
다음은 랜드마크 역할을 하는 일부 요소들을 발췌했습니다.
<header>
|
웹 페이지 상단에 있는 전체적인 글로벌 헤더 부분을 나타내기 위해 사용됩니다. |
---|---|
<footer> | 웹 페이지 맨 하단에 있는 저작권 정보, 개인정보처리방침에 대한 링크 등을 내용을 포함한 글로벌 푸터 부분을 나타내기 위해 사용합니다. |
<main> | HTML 문서의 주요 내용(dominant contents)을 나타냅니다. |
<aside> | 주로 사이드바 혹은 문서의 내용과 관련된 추가 정보를 제공하는 작은 영역으로 표현됩니다. |
<nav> | 다른 웹 페이지로 연결하거나, 현재 웹 페이지의 콘텐츠 내부로 연결되는 탐색(Navigation)을 위한 링크(links)가 있는 영역을 나타냅니다. 일반적인 예로는 메뉴, 목차, 색인 등이 있습니다. |
이러한 요소들은 <div>
태그에 role
속성을 사용해서 동일하게 활용할 수 있습니다.
일러두기!
브라우저 호환성 문제로 랜드마크 역할을 하는 요소를 사용할 수 없는 경우를 제외하고 role
속성을 사용한 <div>
태그의 구조나 의미 부여는 권장하지 않습니다.
다음은 <div>
태그에 role
속성을 사용해서 랜드마크 역할을 부여하는 예제들입니다.
글로벌 헤더 역할
글로벌 푸터 역할
메인(dominant contents) 역할
aside 역할
네비게이션 역할
<div>
태그에 <button>
태그의 의미를 부여하기
다음은 <div>
태그에 role
속성을 사용해서 <button>
태그의 의미를 부여하는 예제입니다.
주의하세요!
role="button"
은 <div>
태그를 스크린 리더 및 다른 보조 기술에 대한 버튼으로 식별합니다. 하지만, 사용자에게 버튼의 컨트롤 기능은 제공하지는 않습니다. 버튼의 컨트롤 기능을 추가하려면 tabindex
속성과 자바스크립트, CSS가 추가로 필요합니다.
<div>
태그에 role
속성을 사용해서 태그의 의미를 부여할 수 있는 것은 다양합니다. 그렇지만, 무분별하게 사용하기 보다는 role
속성을 사용해서 향상된 웹 콘텐츠의 접근성 제공하는데 초점을 맞추어 사용해야 합니다.
브라우저 호환성
태그 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
<div>
|
1 | 12 | 1 | 1 |
명세서
명세서 사양 | |
---|---|
<div>
|
HTML Standard #the-div-element |