Skip to content
Technical

SVG 접근성: 벡터 그래픽을 포용적으로 만드는 방법

모든 사람을 위해 작동하는 접근성 있는 SVG 그래픽을 만드세요. ARIA, 스크린 리더, 포커스 관리, 포용적 디자인에 대한 완전 가이드.

Robin Monteiro2026년 1월 23일2026년 10월 10일6 분
Use this article with an AI assistant:
.md
SVG 접근성: 벡터 그래픽을 포용적으로 만드는 방법
R
Robin Monteiro

Founder of VectoSolve

Self-taught developer, founder and sole developer of VectoSolve since 2024. He builds the conversion engine and the cutting, embroidery and 3D printing exports.

How this article was made: drafted with AI assistance, then edited and fact-checked before publication. About the author

Image vectorizationCutting machine filesEmbroidery filesSVG
Free previewNo signupFull-quality output

Key Takeaways

  • 전 세계 10억 명 이상이 보조 기술에 의존합니다 — 접근성 있는 SVG는 윤리적이자 법적 의무입니다
  • 장식용 SVG에는 aria-hidden="true"을, 정보 전달용에는 role="img"과 <title>/<desc>를 사용하세요
  • WCAG 2.1은 그래픽과 UI 컴포넌트에 3:1, SVG 내 텍스트에 4.5:1 대비를 요구합니다
  • prefers-reduced-motion을 항상 존중하여 요청하는 사용자의 SVG 애니메이션을 비활성화하세요
  • 실제 스크린 리더(NVDA, VoiceOver, TalkBack)로 테스트하세요 — 자동화 도구는 접근성 문제의 ~30%만 감지합니다

SVG 접근성이 중요한 이유

전 세계 10억 명 이상이 장애를 갖고 살아갑니다. SVG 그래픽을 접근성 있게 만들면 모든 사람이 콘텐츠를 이해하고 상호작용할 수 있습니다. 또한 법적 요건인 경우가 많습니다.

모든 사용자를 위해 SVG 그래픽을 접근성 있게 만드는 완전 가이드
SVG 접근성: 스크린 리더 사용자를 포함한 모든 사람을 위해 벡터 그래픽이 작동하도록 보장

접근성 기초

보조 기술 이해하기

사람들이 SVG에 접근하는 방법:

  • 스크린 리더 (NVDA, JAWS, VoiceOver)
  • 키보드 내비게이션
  • 스위치 장치
  • 화면 돋보기
  • 음성 제어

이미지에 대한 WCAG 가이드라인

핵심 요구사항:

WCAG 2.1 요구사항:
- 비텍스트 콘텐츠에는 대안이 필요
- 색상만으로 정보를 전달하지 않음
- 충분한 색상 대비
- 손실 없이 크기 조절 가능
- 포커스 가능한 요소는 키보드로 접근 가능

SVG 접근성 패턴

장식용 SVG

순수하게 시각적인 요소의 경우:

html
<svg aria-hidden="true" focusable="false">
  <!-- 장식용 그래픽 -->
</svg>

사용 시기:

  • 배경 패턴
  • 시각적 장식
  • 텍스트와 함께하는 중복 아이콘
  • 순수하게 미적인 요소

정보 전달 SVG

의미 있는 그래픽의 경우:

html
<svg role="img" aria-labelledby="chart-title">
  <title id="chart-title">매출 성장 2025</title>
  <!-- 차트 콘텐츠 -->
</svg>

사용 시기:

  • 차트와 그래프
  • 다이어그램
  • 인포그래픽
  • 독립형 아이콘

복잡한 SVG

상세 정보의 경우:

html
<svg role="img" aria-labelledby="title desc">
  <title id="title">조직도</title>
  <desc id="desc">
    CEO가 최상단에 있는 계층 구조,
    세 명의 VP가 보고하며 각각 팀을 보유.
  </desc>
  <!-- 복잡한 다이어그램 -->
</svg>

Pro Tip: 복잡한 데이터 시각화(차트, 지도)의 경우, SVG와 함께 항상 숨겨진 <table> 대안을 제공하세요. 스크린 리더는 SVG 경로 데이터보다 테이블을 훨씬 효과적으로 파싱합니다.


A Full Year of Conversions for $49

Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime

Get the Annual Deal

SVG용 ARIA 속성

필수 속성

html
<!-- 역할 정의 -->
role="img"           <!-- 정적 이미지 -->
role="graphics-document"  <!-- 복잡한 인터랙티브 -->

<!-- 라벨 -->
aria-label="..."     <!-- 간단한 설명 -->
aria-labelledby="..." <!-- 제목 요소 참조 -->
aria-describedby="..." <!-- 상세 설명 -->

<!-- 상태 -->
aria-hidden="true"   <!-- AT에서 숨기기 -->
focusable="false"    <!-- 포커스 방지 -->

Title과 Desc 요소

네이티브 SVG 접근성:

html
<svg role="img" aria-labelledby="icon-title icon-desc">
  <title id="icon-title">경고</title>
  <desc id="icon-desc">
    주의를 나타내는 느낌표가 있는 노란 삼각형
  </desc>
  <path d="..."/>
</svg>
"

접근성은 마지막에 추가하는 기능이 아닙니다 — 모든 것을 더 좋게 만드는 디자인 제약입니다. 접근성 있는 SVG는 잘 구조화된 SVG입니다.

— Leonie Watson, 접근성 엔지니어 & W3C 자문위원회

인터랙티브 SVG 접근성

포커스 가능한 요소

인터랙티브 부분을 접근성 있게 만들기:

html
<svg>
  <a href="/section-1" tabindex="0">
    <rect x="0" y="0" width="100" height="50"/>
    <text>섹션 1</text>
  </a>
</svg>

포커스 인디케이터

가시적 포커스 상태:

css
svg a:focus,
svg [tabindex]:focus {
  outline: 2px solid #0066cc;
  outline-offset: 2px;
}

키보드 내비게이션

키보드 접근 보장:

javascript
svgElement.addEventListener('keydown', (e) => {
  if (e.key === 'Enter' || e.key === ' ') {
    // 요소 활성화
  }
});

색상 접근성

대비 요구사항

WCAG 대비율:

최소 요구사항:
텍스트: 4.5:1 (일반), 3:1 (큰 텍스트)
그래픽: 배경 대비 3:1
UI 컴포넌트: 3:1

대비 테스트

검증 도구:

  • 브라우저 DevTools
  • 대비 체커
  • 접근성 감사

색상 독립성

색상에만 의존하지 않기:

html
<!-- 나쁜 예: 색상만 -->
<circle fill="red"/>  <!-- 에러 -->
<circle fill="green"/>  <!-- 성공 -->

<!-- 좋은 예: 패턴 + 색상 -->
<circle fill="red">
  <title>에러</title>
</circle>
<use href="#checkmark" fill="green">
  <title>성공</title>
</use>
웹 애플리케이션용 적절한 접근성 속성이 있는 SVG 아이콘
접근성 있는 아이콘 패턴: 장식용 vs. 정보 전달 SVG 사용

Free SVG Tools for Crafters

Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG

Check Your SVG Free

아이콘 접근성

아이콘 버튼

html
<button aria-label="대화상자 닫기">
  <svg aria-hidden="true" focusable="false">
    <path d="..."/>
  </svg>
</button>

텍스트 포함 아이콘

html
<button>
  <svg aria-hidden="true"><!-- 아이콘 --></svg>
  문서 저장
</button>

독립형 아이콘

html
<svg role="img" aria-label="알림: 읽지 않은 메시지 3개">
  <circle cx="12" cy="12" r="10" fill="#ff0000"/>
  <text x="12" y="16" text-anchor="middle">3</text>
</svg>

애니메이션 접근성

사용자 설정 존중

css
@media (prefers-reduced-motion: reduce) {
  svg * {
    animation: none !important;
    transition: none !important;
  }
}

일시정지 컨트롤

html
<button id="toggle-animation">
  애니메이션 일시정지
</button>

<svg class="animated-svg">
  <!-- 애니메이션 콘텐츠 -->
</svg>

WCAG 2.1 성공 기준 2.3.1은 1초에 3번 이상 깜박이는 것이 없어야 한다고 요구합니다. SVG 애니메이션에 빠른 색상 변화나 스트로보 효과가 포함된 경우, 일시정지 컨트롤을 제공하고 prefers-reduced-motion을 존중하세요.


SVG 접근성 테스트

수동 테스트

체크리스트:

  1. 키보드만으로 내비게이션
  2. 스크린 리더로 테스트
  3. 200% 줌에서 확인
  4. 색상 대비 검증
  5. 사용자와 함께 테스트

자동 테스트

도구:

  • axe DevTools
  • WAVE
  • Lighthouse
  • Pa11y

스크린 리더 테스트

테스트 대상:

  • NVDA (Windows, 무료)
  • VoiceOver (Mac/iOS, 내장)
  • TalkBack (Android, 내장)
  • JAWS (Windows, 상용)

A Full Year of Conversions for $49

Starter Annual: 25 conversions every month, $49 for the whole year. That is about $4.08 a month · Cancel anytime

Get the Annual Deal

일반 패턴 레퍼런스

로고

html
<a href="/">
  <svg role="img" aria-label="회사명 - 홈">
    <title>회사 로고</title>
    <!-- 로고 경로 -->
  </svg>
</a>

데이터 시각화

html
<svg role="img" aria-labelledby="chart-title">
  <title id="chart-title">월별 매출 2025</title>
  <desc>1월 ₩1,500만에서 12월 ₩6,750만으로
        매출이 증가하는 막대 차트</desc>

  <!-- 대체 테이블 제공 -->
</svg>
<table class="sr-only">
  <!-- 접근성 있는 데이터 테이블 -->
</table>

아이콘 시스템

html
<svg class="icon" aria-hidden="true" focusable="false">
  <use href="#icon-search"/>
</svg>
<span class="icon-label">검색</span>

VectoSolve와 접근성

접근성을 위한 깔끔한 출력

VectoSolve는 깔끔한 SVG를 생산합니다:

  • 접근성 속성 추가가 용이
  • 수정에 적합한 구조
  • 접근성 있는 구현 준비 완료

변환 후 접근성

벡터화 후:

  1. 적절한 role 추가
  2. title/desc 요소 포함
  3. ARIA 속성 설정
  4. 보조 기술로 테스트

결론

접근성 있는 SVG는 모든 사람에게 혜택을 줍니다 — 더 시맨틱하고, 더 잘 구조화되며, 유지보수가 쉽습니다. 이러한 패턴을 따르고 정기적으로 테스트하면 벡터 그래픽이 진정으로 포용적임을 보장할 수 있습니다.

접근성 있는 SVG 만들기


WCAG 요구사항SVG 구현영향
텍스트 대안 (1.1.1)<title>과 <desc> 요소스크린 리더가 이미지 목적을 안내
색상 대비 (1.4.11)UI 그래픽에 최소 3:1저시력 사용자에게 가시적
키보드 접근 (2.1.1)focusable=true + tabindex인터랙티브 SVG가 키보드로 도달 가능
동작 감소 (2.3.3)prefers-reduced-motion 미디어 쿼리전정 장애를 위해 애니메이션 중지

Free SVG Tools for Crafters

Design Checker · Color Separator · Mat Preview · Offset Generator · Text to SVG

Check Your SVG Free

출처 및 참고 자료

Tags:
접근성
SVG
ARIA
스크린 리더
포용적 디자인
Share:

Try VectoSolve Now

Convert your images to high-quality SVG vectors with AI

AI-Powered Vectorization

Ready to vectorize your images?

Convert your PNG, JPG, and other images to high-quality, scalable SVG vectors in seconds.