퍼블리싱 로그/웹접근성

sr-only 클래스 사용법

DDODDO_LAB 2026. 3. 5. 10:18
반응형

웹 접근성을 위한 숨김 텍스트 처리 방법

웹 퍼블리싱을 하다 보면 화면에는 보이지 않지만 스크린리더에는 읽히도록 해야 하는 텍스트가 필요할 때가 있다.

대표적인 예가 바로 다음과 같은 경우다.

  • 아이콘 버튼 설명
  • 추가 설명 텍스트
  • 접근성 보조 문구
  • 스킵 네비게이션

이럴 때 사용하는 것이 바로 sr-only 클래스다.

 

sr-only란 무엇인가?

sr-only는 screen reader only의 약자다.

즉,

 

화면에서는 보이지 않지만
스크린리더에서는 읽히는 텍스트

 

 

를 만들기 위한 CSS 패턴이다.

예를 들어 이런 버튼이 있다고 하자.

<!-- HTML -->

<button>
  <span class="icon-search"></span>
</button>

 

이 경우 스크린리더는 버튼의 의미를 알 수 없다.

그래서 보조 텍스트를 추가해야 한다.

<!-- HTML -->

<button>
  <span class="icon-search"></span>
  <span class="sr-only">검색</span>
</button>

 

이렇게 하면

  • 화면에는 아이콘만 보이고
  • 스크린리더는 검색 버튼으로 읽는다.

sr-only CSS 코드

웹 접근성에서 많이 사용하는 기본 코드다.

/* 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;
}

 

이 코드는

  • 화면에서 보이지 않게 하고
  • 스크린리더에는 읽히도록 유지한다.

sr-only 사용 예시

1. 아이콘 버튼 접근성

<!-- HTML -->

<button class="btn_search">
  <span class="icon-search"></span>
  <span class="sr-only">검색</span>
</button>

 

아이콘만 있는 버튼은
스크린리더에서 의미를 알 수 없기 때문에
보조 텍스트를 반드시 제공해야 한다.

 

2. 추가 설명 제공

<!-- HTML -->

<p>
  회원가입
  <span class="sr-only">필수 입력 항목</span>
</p>

 

화면에는 보이지 않지만
스크린리더 사용자에게 추가 정보를 제공할 수 있다.

 

3. 스킵 네비게이션

웹 접근성에서 중요한 패턴이다.

<!-- HTML -->

<a href="#content" class="sr-only focusable">
  본문 바로가기
</a>

 

키보드 사용자는
페이지 시작 시 바로 콘텐츠로 이동할 수 있다.


sr-only 사용 시 주의할 점

1. display:none 사용하면 안 된다

/* CSS */

display:none;

 

이렇게 하면

  • 화면에서도 안 보이고
  • 스크린리더에서도 읽히지 않는다.

접근성 기능이 사라진다.

 

2. visibility:hidden도 사용하지 않는다

이 역시 스크린리더에서 읽히지 않는다.

접근성 텍스트는 반드시
sr-only 패턴을 사용해야 한다.

 

3. 의미 없는 텍스트는 넣지 않는다

다음처럼 의미 없는 텍스트는 좋지 않다.

<!-- HTML -->

<span class="sr-only">버튼</span>

 

대신

 

<!-- HTML -->

<span class="sr-only">검색</span>

 

처럼 명확한 역할을 설명해야 한다.


sr-only 대신 aria-label을 써도 될까?

아이콘 버튼 같은 경우
aria-label을 사용하는 방법도 있다.

 

<!-- HTML -->

<button aria-label="검색">
  <span class="icon-search"></span>
</button>

 

차이는 다음과 같다.

방법 특징
aria-label 속성으로 설명 제공
sr-only 실제 텍스트 존재

 

둘 다 접근성에 사용할 수 있지만
텍스트가 있는 것이 더 안정적인 경우가 많다.

 


정리

sr-only는

화면에는 보이지 않지만
스크린리더에게 정보를 전달하기 위한 CSS 패턴이다.

 

주로 다음 상황에서 사용한다.

  • 아이콘 버튼 설명
  • 접근성 보조 텍스트
  • 스킵 네비게이션
  • 추가 설명 제공

웹 접근성을 고려한 퍼블리싱에서는
자주 사용하는 필수 패턴 중 하나다.

 

반응형

'퍼블리싱 로그 > 웹접근성' 카테고리의 다른 글

커스텀 Input 컴포넌트의 라벨 연결 오류 와 해  (0) 2025.06.12
IR(Image Replacement)  (0) 2024.03.11
버튼 / TAB aria 속성  (0) 2024.03.06
웹 접근성 키보드 포커스 처리  (0) 2024.03.05
탭 UL 접근성  (0) 2024.02.27