
웹 접근성, 선택이 아닌 필수
"웹의 힘은 그 보편성에 있다. 장애에 구애받지 않고 모든 사람이 접근할 수 있는 것이 웹의 필수적인 요소다." - 팀 버너스 리 (웹의 창시자)
웹 접근성(Web Accessibility, A11y)은 장애를 가진 사용자, 고령자, 혹은 일시적인 불편을 겪는 모든 사용자가 웹 사이트의 기능을 동등하게 사용할 수 있도록 보장하는 것입니다. 모든 웹사이트가 지향해야 할 가장 중요한 가치 중 하나가 바로 이 접근성입니다.
1. 시멘틱(Semantic) 태그의 중요성
웹 표준의 기본은 의미에 맞는 태그를 사용하는 것입니다. 단순히 <div>로만 도배된 사이트는 스크린 리더(시각 장애인용 화면 낭독 프로그램)가 구조를 파악하기 어렵습니다.
올바른 시멘틱 구조는 다음과 같습니다:
<header>: 사이트의 네비게이션과 로고<main>: 본문 콘텐츠의 핵심 영역<article>: 독립적인 블로그 포스트나 카드<footer>: 저작권 정보 및 관련 링크
이렇게 구조를 잡으면 스크린 리더 사용자가 "본문으로 건너뛰기" 등의 기능을 사용하여 효율적으로 탐색할 수 있습니다.
2. ARIA (Accessible Rich Internet Applications)
HTML 태그만으로 부족한 상호작용 요소는 ARIA 속성을 통해 보완했습니다.
적용 사례: 언어 변환기
오른쪽 상단의 언어 변환 버튼은 아이콘으로만 되어 있어 시각적으로는 알 수 있지만, 스크린 리더에게는 의미가 전달되지 않을 수 있습니다. 이를 위해 aria-label을 추가했습니다.
<Button variant="ghost" size="icon" aria-label="언어 변경">
<Languages className="h-5 w-5" />
</Button>
이렇게 하면 스크린 리더는 "언어 변경 버튼"이라고 명확하게 읽어줍니다.
3. 키보드 접근성 (Keyboard Accessibility)
마우스를 사용할 수 없는 사용자는 키보드의 Tab 키로만 웹 서핑을 합니다. ConverterGo의 모든 기능은 키보드만으로도 완벽하게 작동합니다.
- 포커스 인디케이터:
Tab을 눌렀을 때 현재 어디에 위치해 있는지 파란색 테두리(Focus Ring)로 명확하게 표시합니다. - 논리적인 순서: 시각적인 배치와 상관없이, HTML DOM 순서를 논리적으로 배치하여 탭 순서가 꼬이지 않도록 했습니다.
4. 색상 대비 (Color Contrast)
저시력자나 색약 사용자를 위해 텍스트와 배경의 명도 대비를 WCAG 2.1 AA 기준(4.5:1 이상)으로 맞췄습니다.
특히 라이트 모드와 다크 모드 모두에서 텍스트가 명확하게 보이도록 검증된 색상 팔레트만을 사용하는 것이 중요합니다. 예를 들어, 경고 메시지는 단순히 빨간색으로만 표시하는 것이 아니라 아이콘을 함께 배치하여 색상을 구분하지 못하는 사용자도 인지할 수 있도록 해야 합니다.
