검색 엔진과 스크린 리더를 위한 숨김 텍스트

· 2개월 전 · 255 · 1

퍼블리싱을 하다 보면 디자인상 텍스트가 없어야 하지만, 검색 엔진 최적화(SEO)나 시각 장애인을 위한 스크린 리더에는 해당 정보를 알려줘야 하는 경우가 많습니다. 이때 흔히 사용하는 display: none이나 visibility: hidden은 치명적인 실수가 될 수 있습니다.

 

잘못된 숨김 처리 (안티 패턴)

/* 1. 스크린 리더조차 읽지 못함 */
.hidden { display: none; }

/* 2. 공간은 차지하는데 내용은 안 보임 */
.invisible { visibility: hidden; }

/* 3. 검색 엔진이 스팸으로 오인할 가능성 있음 */
.text-indent { text-indent: -9999px; }

문제점: display: none은 브라우저의 렌더링 트리에서 제외되므로 보조공학기기(스크린 리더)가 인지할 수 없습니다. 또한 과도한 text-indent는 성능 저하 및 SEO 패널티 위험이 있습니다.

 

올바른 숨김 처리 (IR 기법 / SR-Only)
SIR 및 글로벌 표준에서 권장하는 '시각적으로만 숨기는' CSS 클래스입니다.

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

 

예를들어서

쇼핑몰이나 게시판의 "닫기" 버튼이 텍스트 없이 X 아이콘만 있을 때 사용합니다.

<button type="button" class="btn-close">
    <i class="fa fa-times" aria-hidden="true"></i>
    <span class="sr-only">팝업 닫기</span>
</button>

 

 

|

댓글 1개

도움이 됐습니다 : )

댓글을 작성하시려면 로그인이 필요합니다.

퍼블리셔팁

퍼블리싱과 관련된 유용한 정보를 공유하세요. 질문은 상단의 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
CSS 2개월 전 조회 256
CSS 2개월 전 조회 232
CSS 2개월 전 조회 225
CSS 3개월 전 조회 315
CSS 3개월 전 조회 320
기타 5개월 전 조회 434
CSS 5개월 전 조회 644
CSS 5개월 전 조회 660
CSS 6개월 전 조회 799
기타 7개월 전 조회 699
CSS 7개월 전 조회 857
CSS 8개월 전 조회 909
CSS 8개월 전 조회 805
CSS 8개월 전 조회 859
CSS 8개월 전 조회 686
1년 전 조회 866
HTML 1년 전 조회 1,149
CSS 1년 전 조회 1,029
2년 전 조회 1,519
HTML 2년 전 조회 974
CSS 2년 전 조회 1,283
CSS 2년 전 조회 1,220
HTML 2년 전 조회 1,747
기타 2년 전 조회 1,010
CSS 2년 전 조회 1,795
HTML 2년 전 조회 1,632
CSS 2년 전 조회 1,482
2년 전 조회 3,865
2년 전 조회 5,383
2년 전 조회 1,857