hidden
속성의 정의 및 사용법
hidden
속성은
해당 요소가 시각적으로 보이지 않고 스크린 리더에서도 접근할 수 없도록 숨겨진(hidden) 요소임을 나타내는 속성입니다.
이 속성은 요소의 콘텐츠가 사용자에게 표시되어서는 안 됨을 나타낼 때 사용됩니다.
이 속성은 부울 속성(boolean attribute)입니다. 값을 별도로 작성하지 않고 속성만 작성합니다.
이 내용은 중요하므로 지금 당장 읽어야 합니다.
찾아보실 수 있어서 정말 기뻐요! 😃
이 콘텐츠는 현재 이 페이지와 관련이 없으므로 표시되어서는 안 됩니다.
여기는 볼게 없어요. 😥
hidden
속성의 주요 특징
브라우저에서는 hidden
속성이 설정된 요소를 렌더링하지 않습니다. 이렇게 hidden
속성이 설정된 요소는 다음과 같은 특징이 있습니다.
- 화면에서 표시되지 않습니다.
- 화면에서 공간을 차지하지 않습니다.
- 시각적 방식 외에도 스크린 리더 등 다른 모든 표시 방식에서 숨겨집니다.
hidden
속성이 설정된 요소는 브라우저에서 CSS 스타일로 display: none;
을 초깃값으로 적용합니다.
요소에 HTML의 hidden
속성을 사용하지 않고 CSS의 display: none;
을 사용하는 것과의 차이점
요소에 HTML의 hidden
속성을 설정하지 않고 CSS의 display: none;
을 사용해도 브라우저에서는 거의 동일한 방식으로 처리합니다.
화면에서 표시되지 않고, 공간도 차지하지 않고, 스크린 리더에서도 숨겨집니다.
하지만, HTML의 hidden
속성을 사용한다는 것은 CSS의 display: none;
을 사용하는 것과 중요한 차이점이 있습니다.
사용의 목적에 그 차이점이 있습니다.
HTML의 hidden |
해당 요소의 중요한 정보인 콘텐츠가 사용자에게 표시되어서는 안 됨을 HTML로 명시하는 데 사용합니다.
(정보의 중요성) |
---|---|
CSS의 display: none; |
해당 요소를 시각적으로 보이지 않게 하는데 주된 목적으로 사용합니다.
(스타일의 중요성) |
사용법 참고사항
요소에 HTML의 hidden
속성을 설정했더라도 CSS의 display
속성으로 화면에 표시되는 것을 재정의할 수 있습니다.
hidden
속성이 설정된 요소는 브라우저에서 CSS 스타일로 display: none;
이 초깃값으로 적용되어 있는데, 이를 재정의하는 하는 것입니다.
다음의 예시를 통해 살펴보겠습니다.
이 내용은 중요하므로 지금 당장 읽어야 합니다.
찾아보실 수 있어서 정말 기뻐요! 😃
이 콘텐츠는 현재 이 페이지와 관련이 없으므로 표시되어서는 안 됩니다.
여기는 볼게 없어요. 😥
위 예제처럼 display: block;
이나 display: flex;
등으로 초깃값인 display: none;
을 재정의할 수 있습니다.
활용 예제
hidden
속성이 설정된 요소는 브라우저에서 렌더링하지 않는데 불필요하게 해당 요소 자체를 마크업하지 않고 웹페이지를 작성하면 될 것이라고 생각할 수도 있습니다.
하지만, 많은 웹페이지는 자바스크립트를 함께 사용해서 동적인 콘텐츠를 구현합니다.
동적으로 구현되는 웹페이지의 콘텐츠에 hidden
속성은 꽤나 유용하게 사용될 수 있습니다.
예제를 통해 살펴보겠습니다.
해당 예제는 MDN - HTMLElement: hidden property의 내용을 참조해서 재구성한 것임을 미리 밝힙니다.
다음은 사용자가 요청 메시지에 동의한 후 표시되는 '감사합니다' 메시지를 포함하기 위해 숨겨진 블록을 사용하는 예입니다.
HTML에는 두 개의 카드가 포함되어 있습니다. 사용자에게 멋진 콘텐츠를 볼 수 있게 동의하도록 요청하는 환영 카드와 처음에는 hidden
설정으로 숨겨지는 다음 카드가 있습니다.
'동의'버튼을 클릭하면 사용자에게 멋진 콘텐츠를 볼 수 있게 동의하도록 요청하는 환영 카드에 hidden
속성이 설정되어 숨겨지게 하고, hidden
속성이 설정되어 있어 숨겨져 있던 '멋진 콘텐츠' 카드의 hidden
속성을 제거하여 화면에 보여지게 하는 자바스크립트 코드입니다.
실제 적용된 모습을 통해 확인해 볼 수 있습니다.
이 예제처럼 hidden
속성은 자바스크립트와 함께 동적인 콘텐츠에서 많이 사용됩니다.
브라우저 호환성
속성 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
hidden
|
10 | 12 | 4 | 5.1 |
명세서
명세서 사양 | |
---|---|
hidden
|
HTML Standard #the-hidden-attribute |