HTML5에는 hidden
콘텐츠를 숨기는 데 사용할 수 있는 새로운 전역 속성 이 있습니다.
<article hidden>
<h2>Article #1</h2>
<p>Lorem ipsum ...</p>
</article>
CSS에는 display:none
콘텐츠를 숨기는 데 사용할 수도있는 규칙이 있습니다.
article { display:none; }
시각적으로 동일합니다. 의미 상 차이점은 무엇입니까? 계산적으로?
둘 중 하나를 사용해야하는 경우 어떤 지침을 고려해야합니까?
TIA.
편집 : @newtron의 답변 (아래)을 기반으로 더 많은 검색을 수행했습니다. 이 hidden
속성은 작년에 열띤 논쟁을 벌였으며 (분명히) HTML5 사양에 거의 포함되지 않았습니다. 일부는 그것이 중복되고 목적이 없다고 주장했습니다. 제가 알 수있는 바에 따르면 최종 평가는 다음과 같습니다. 웹 브라우저만을 대상으로하는 경우 차이가 없습니다. (한 페이지에서는 웹 브라우저 display:none
가 숨겨진 속성을 구현하는 데 사용되었다고 주장하기도했습니다 .) 그러나 접근성을 고려하고 있다면 (예 : 화면 판독기가 내 콘텐츠를 읽을 것으로 예상 할 수 있음) 차이가 있습니다. CSS 규칙 display:none
은 웹 브라우저에서 내 콘텐츠를 숨길 수 있지만 해당하는 aria 규칙 (예 :aria-hidden="false"
했습니다.) 따라서 나는 이제 @newtron의 대답이 정확하다는 데 동의합니다. 도움을 주신 @newtron에게 감사드립니다.
hidden
속성이 존재 하는지조차 몰랐지만 구조 / 표현 분리를 위반하는 것처럼 보이기 때문에 확실히 좋은 질문입니다.