이미지 대체 텍스트 제공을 위한 CSS 기법
//투명도 0과 동일
visibility: hidden;
//엘리먼트가 아예 없어진 것으로 인식
display: none;
// 엘리먼트의 크기가 0이 되어 스크린 리더 인식 불가
width: 0;
height: 0;
font-size: 0;
line-height: 0;
🤷 why?
화면에 보이지 않지만, 스크린 리더가 읽을 수 없다.
text-indent: -9999px;
text-indent를 활용하여 텍스트를 화면 바깥으로 밀어내 보이지 않게하는 방식
❗️단점
display: block;
overflow: hidden;
width: 0px;
height: 0px;
텍스트를 span으로 감싸고 width/height 값을 0으로 지정하여 숨기는 방식
❗️단점
position: relative;
z-index: -1;
텍스트를 span으로 감싸고 z-index 값을 음수 값으로 주어, 뒤쪽에 배치되게 순서를 변경해 화면에 보이지 않도록 하는 기법
❗️단점
html
<span class="blind">숨길 텍스트</span>
css
.blind {
position: absolute; //레이아웃 간섭 X
width: 1px; //스크린 리더 인식 가능하도록
height: 1px;
overflow: hidden; //눈에 보이지 않도록
clip: rect(0,0,0,0);
margin: -1px;
}
🤷 why?
공통 클래스 처리로
두 가지가 가능한 효과적인 방식