display: none 과 visibility: hidden 둘 다 콘텐츠를 숨길 수 있지만, 스크린 리더로도 읽을 수 없기 때문에 접근성에 문제가 있습니다.
화면에는 보이지 않으며, 스크린 리더가 읽는 데에는 문제가 없는 clip 속성을 사용해 보자. clip 속성을 사용한다고 무조건 스크린 리더가 읽을 수 있는 것은 아닙니다.
스크린 리더는 width, height 사이즈가 0인 엘리먼트의 콘텐츠를 읽을 수 없으니, 엘리먼트의 사이즈는 최소 1px 이상으로 적용해야 합니다.
/* 접근성에 문제가 있음 */
.blind {
display: none; /* 화면에 보이지 않고, 스크린 리더도 읽어주지 않음 */
}
.blind {
visibility: hidden; /* 화면에 보이지 않고, 스크린 리더도 읽어주지 않음 */
}
/* 접근성에 문제 없음 */
.blind {
position: absolute;
width: 1px;
height: 1px;
clip: rect(0 0 0 0);
overflow: hidden;
}
'CSS' 카테고리의 다른 글
CSS 변수 사용 방법 (0) | 2021.04.18 |
---|---|
CSS 미디어 쿼리 디바이스별 해상도 분기점 (0) | 2021.04.18 |
CSS 선택자 자식 요소 개수 확인하기 (0) | 2021.03.24 |
CSS 선택자 :nth-child() n번째 부터 n번째 까지 (0) | 2021.03.10 |
Android Chrome 더보기 관련 스크롤 위치 이슈 (0) | 2021.03.08 |
개의 댓글