선

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

· 2025-12-27 (토) 10:07:58 · 756 · 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 조회 757
CSS 25-12-17 조회 522
CSS 25-12-07 조회 656
CSS 25-11-20 조회 579
CSS 25-11-15 조회 660
기타 25-09-21 조회 721
CSS 25-09-09 조회 1,068
CSS 25-09-05 조회 1,063
CSS 25-08-16 조회 1,116
기타 25-07-23 조회 963
CSS 25-07-17 조회 1,292
CSS 25-06-27 조회 1,194
CSS 25-06-12 조회 1,127
CSS 25-06-09 조회 1,174
CSS 25-06-07 조회 982
25-01-30 조회 1,150
HTML 25-01-23 조회 1,414
CSS 24-10-21 조회 1,321
23-12-10 조회 1,805
HTML 24-02-12 조회 1,252
CSS 24-02-11 조회 1,560
CSS 24-01-28 조회 1,499
HTML 23-11-05 조회 2,233
기타 23-10-21 조회 1,492
CSS 23-09-04 조회 2,070
HTML 23-07-13 조회 1,902
CSS 23-06-14 조회 1,799
23-05-04 조회 4,202
23-05-03 조회 5,953
23-06-01 조회 2,225