2026, 새로운 도약을 시작합니다.

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

퍼블리싱을 하다 보면 디자인상 텍스트가 없어야 하지만, 검색 엔진 최적화(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에서 해주시기 바랍니다.
번호 분류 제목 글쓴이 날짜 조회
1282 CSS 2주 전 조회 93
1281 CSS 3주 전 조회 81
1280 CSS 1개월 전 조회 81
1279 CSS 1개월 전 조회 190
1278 CSS 1개월 전 조회 189
1277 기타 3개월 전 조회 284
1276 CSS 4개월 전 조회 494
1275 CSS 4개월 전 조회 500
1274 CSS 4개월 전 조회 681
1273 기타 5개월 전 조회 580
1272 CSS 5개월 전 조회 710
1271 CSS 6개월 전 조회 772
1270 CSS 7개월 전 조회 645
1269 CSS 7개월 전 조회 715
1268 CSS 7개월 전 조회 577
1267 11개월 전 조회 759
1266 HTML 11개월 전 조회 1,032
1265 CSS 1년 전 조회 901
1264 2년 전 조회 1,382
1263 HTML 1년 전 조회 829
1262 CSS 1년 전 조회 1,127
1261 CSS 1년 전 조회 1,074
1260 HTML 2년 전 조회 1,598
1259 기타 2년 전 조회 875
1258 CSS 2년 전 조회 1,640
1257 HTML 2년 전 조회 1,513
1256 CSS 2년 전 조회 1,343
1255 2년 전 조회 3,695
1254 2년 전 조회 5,156
1253 2년 전 조회 1,703
🐛 버그신고