이 글은 boostcourse의 '웹 UI 개발'을 수강하고 적는 글입니다.
IR 기법 : Image REplacement 이미지를 볼 수 없는 사용자에게 적절한 대체 텍스트를 제공하는 것
시멘틱 마크업 + CSS로 요소를 화면에서 숨김 -> 스크린 리더가 인식
스크린 리더가 인식하지 못함
1) visibility: hidden;
2) display: none;
3) width:0; height:0; font-size: 0; line-height: 0;
스크린 리더가 인식하지만 레이아웃이나 성능 등에 이슈가 발생할 수 있음
1) opacity: 0;
- 투명해진 것 뿐, 위치를 그대로 잡고 있음 따라서 단독으로 사용 불가능
2) text-indent: -9999px;- 전체 레이어의 크기가 지나치게 크게 잡힘 : 성능 이슈
3) z-index:-1;- position 속성 추가해야 함 : 성능 이슈
BEST
/* 레이아웃에 영향을 끼치지 않도록 */ position: absolute; /* 스크린 리더가 읽을 수 있도록 */ width: 1px; height: 1px; /* 눈에 보이는 부분을 제거 */ clip: rect(0 0 0 0); margin: -1px; overflow: hidden;
HTML
*table-cell을 이용한 2단 구성
.container {
display: table;
table-layout: fixed;
}
.content{
display: table-cell;
}
.aside{
display:table-cell;
}
*float을 이용한 2단 구성
-> clear 꼭 필요
.header {
position:fixed;
top:0; right:0; left:0;
}
.containe {
min-height: 100%;
margin-top: -100px;
}
.footer {
height: 100px;
}