선

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

· 2025-12-27 (토) 10:07:58 · 775 · 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개

도움이 됐습니다 : )

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

퍼블리셔팁

1,282건

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

+
분류 제목 글쓴이 날짜 조회
CSS 25-12-27 조회 776
CSS 25-12-17 조회 555
CSS 25-12-07 조회 679
CSS 25-11-20 조회 608
CSS 25-11-15 조회 685
기타 25-09-21 조회 814
CSS 25-09-09 조회 1,076
CSS 25-09-05 조회 1,072
CSS 25-08-16 조회 1,122
기타 25-07-23 조회 976
CSS 25-07-17 조회 1,298
CSS 25-06-27 조회 1,221
CSS 25-06-12 조회 1,155
CSS 25-06-09 조회 1,191
CSS 25-06-07 조회 999
25-01-30 조회 1,165
HTML 25-01-23 조회 1,427
CSS 24-10-21 조회 1,333
23-12-10 조회 1,826
HTML 24-02-12 조회 1,263
CSS 24-02-11 조회 1,573
CSS 24-01-28 조회 1,515
HTML 23-11-05 조회 2,257
기타 23-10-21 조회 1,499
CSS 23-09-04 조회 2,093
HTML 23-07-13 조회 1,919
CSS 23-06-14 조회 1,813
23-05-04 조회 4,221
23-05-03 조회 5,973
23-06-01 조회 2,237