Deeb
디비의 DB
Deeb
전체 방문자
오늘
어제
  • 분류 전체보기 (243)
    • Frontend (63)
      • HTML & CSS (27)
      • JavaScript (17)
      • jQuery (8)
      • React (6)
    • Backend (98)
      • Java (19)
      • JDBC (2)
      • Servlet & JSP (13)
      • Spring (17)
      • Project (0)
      • 개발 공부 (11)
      • 문제 풀이 (8)
      • Algorithm (1)
      • DataBase (0)
      • Oracle (18)
      • Error (8)
    • Knou (1)
    • Review (14)
    • TIL (33)
    • 삽질기록 (8)
    • deebtionary (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 삭제
  • 후기
  • 자바
  • Java
  • 다형성
  • 클래스
  • alter
  • css
  • 한빛미디어
  • 방송대
  • 에러
  • CLASS
  • 책
  • js
  • 정의
  • 리액트
  • 2학기
  • DB
  • 방통대
  • DBMS
  • 정처기
  • 추천
  • 서평단
  • HTML
  • 기초
  • 배열
  • GIT
  • 공부
  • For
  • 함수

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Deeb

디비의 DB

[CSS] IR(Image Replacement) 기법, .blind & .screen_out
Frontend/HTML & CSS

[CSS] IR(Image Replacement) 기법, .blind & .screen_out

2022. 4. 12. 21:30

IR(Image Replacement) 기법

이미지를 볼 수 없는 사용자를 고려하여 디자인적으로는 보이지 않지만 스크린리더나 브라우저를 위해 정보를 전달하는 텍스트를 html 곳곳에 숨겨두는 방법이다.

 

모든 곳이 동일하게 했으면 좋겠지만 여러 방법이 있는 이유는 브라우저도 다양하고 스크린리더 종류마다 다르기때문인것같다. 

 

네이버와 다음 두 사이트에서 IR 기법을 어떻게 처리하는지 비교해보았다.

 

1. 다음

.screen_out {
  overflow: hidden;
  position: absolute;
  width: 0;
  height: 0;
  line-height: 0;
  text-indent: -9999px;
}

-> width나 height이 0으로 되면 안 읽는 경우가 있다. 

SEO를 위한거지 스크린 리더를 위한것이 아니다. 

overflow: hidden가 있지만, text-indent를 이용해 글씨를 저 멀리 보낸것이다.

 

네이버라던가 다음에서 overflow:hidden요소가 눈에 보이진 않지만 스크린리더가 읽는다는걸 보여주는걸로 .blind랑 .screen_out의 css를 조작하면 눈에 확 들어오더라구요ㅎㅎ 혹시 참고하실분 있음 참고참고 전 background color 적용하고 position 해제해서 이해했어용

 

2. 네이버

.blind {
    position: absolute;
    clip: rect(0 0 0 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
}

- margin을 넣지 않으면 구 IE에서 스크린 리더가 읽지 못하는 경우가 있기 때문에 margin 값을 선언해주어야한다.

- 1px 쓰는 이유 : 스크린 리더는 width, height 사이즈가 0인 엘리먼트의 콘텐츠를 읽을 수 없으니, 엘리먼트의 사이즈는 최소 1px 이상으로 적용한다. 

- position : absolute가 bfc로 변경시키기 때문에 문제가 발생한다, ifc로 전달되어야하는 정보에 해당 스타일을 적용하게되면 bfc로 변경되어 분리가 일어나게 된다
 
 

 

반응형
저작자표시 변경금지 (새창열림)

'Frontend > HTML & CSS' 카테고리의 다른 글

[CSS] height과 min-height 똑같아 보이는데 무슨 차이지?  (0) 2022.05.26
[CSS] 11 float + 실습 피드백  (0) 2022.04.26
[CSS] reset.css 그리고 common.css  (0) 2022.04.06
[HTML] Tabular data <table>  (0) 2022.04.05
[HTML] 웹표준 맞는지 검사하는 법(validator.w3.org)  (0) 2022.04.05
    'Frontend/HTML & CSS' 카테고리의 다른 글
    • [CSS] height과 min-height 똑같아 보이는데 무슨 차이지?
    • [CSS] 11 float + 실습 피드백
    • [CSS] reset.css 그리고 common.css
    • [HTML] Tabular data <table>
    Deeb
    Deeb

    티스토리툴바