한컴테크를 통해 한컴의 기술을 공유합니다. 한컴의 프로그래밍, 프레임워크, 라이브러리 및 도구 등 다양한 기술을 만나보세요. 한컴 개발자들의 다양한 지식을 회사라는 울타리를 넘어 여러분과 공유합니다. 한컴이 제공하는 기술블로그에서 새로운 아이디어와 도전을 마주하고, 개발자가 꿈꾸는 미래를 실현하세요.

한컴테크

소프트웨어 접근성과 한컴오피스


요약

접근성의 개념과 OS별 접근성 프레임워크를 이해하고, 한컴오피스의 현황 및 개선 방향까지 살펴보며, 모든 사용자에게 평등한 디지털 경험을 제공하는 방안을 제시합니다.

접근성이란?


접근성은 모든 사람이 제품, 서비스, 환경을 동등하게 이용할 수 있도록 하는 개념입니다. 이는 경사로, 엘리베이터, 점자 표지판 등 물리적 접근성에서 시작해, 디지털 환경(웹 접근성, 소프트웨어 접근성, 전자 문서 접근성 등)에서의 제품 설계, 서비스 제공, 정보 전달 방식까지 다양한 영역으로 확장되었습니다.

접근성의 핵심은 다양한 능력을 갖춘 사람들이 장벽 없이 독립적으로 참여할 수 있게 하는 것입니다.

출처 – App accessibility: Commonly overlooked accessibility practices for mobile apps | medium

접근성의 대상은 장애인뿐만 아니라 고령자, 비장애인 등 모든 사용자를 포함합니다. 음성 안내나 시각 보조 도구가 필요한 전맹 혹은 저시력 시각 장애인, 자막이나 시각적 알림이 필요한 청각 장애인, 손쉽게 조작할 수 있어야 하는 뇌 병변 및 지체 장애인, 일시적인 장애를 겪고 있는 경우나 일반 사용자까지도 고려 대상입니다.

웹 접근성


웹 접근성(정보통신접근성)은 앞서 설명한 접근성의 개념을 웹 콘텐츠에 적용한 것입니다. 「지능정보화기본법」에 따라 장애인이나 고령자들이 웹 사이트에서 제공하는 정보를 비장애인과 동등하게 접근하고 이용할 수 있도록 보장하는 것을 의미하며, 웹 접근성 준수는 법적 의무 사항입니다. 국내의 웹 접근성 관련 법규와 지침들은 어떤 것들이 있는지 살펴보겠습니다.

출처 – What is web accessibility? | Figma

국내 법률 및 정책

한국에서는 2008년부터 정보통신 관련 조항이 포함된 「장애인차별금지법(장차법)」이 시행되어 웹 접근성 준수가 의무화되었고, 제21조, 제23조 등에서 해당 내용을 확인할 수 있습니다. 이는 공공기관과 민간 기업의 웹 사이트, 모바일 앱, 키오스크 등에 적용됩니다.

이 외에도 정보통신 및 의사소통을 위해 제공되어야 하는 항목을 담고 있는 「장애인차별금지법 시행령 제14조」, 장애인과 고령자의 정보 접근 보장을 다루는 「지능정보화기본법 제46조」와 「지능 정보화 기본법 시행령 제34조」등의 조항과 관련되어 있습니다.

국제 표준 및 지침

국제적으로는 W3C의 웹 콘텐츠 접근성 지침(WCAG)이 가장 널리 사용됩니다. WCAG는 인식의 용이성, 운용의 용이성, 이해의 용이성, 견고성의 4가지 원칙을 제시합니다. 현재 WCAG 2.0(2008), 2.1(2018), 2.2(2023) 버전이 있습니다.

국내에서는 WCAG를 기반으로 한국형 웹 콘텐츠 접근성 지침(KWCAG)을 개발했으며, KWCAG 2.1은 13개 지침, 24개 검사 항목으로 구성되고 국가 표준(KS X 3253)으로 제정되어 있습니다.

OS 별 접근성 프레임워크 및 API


접근성은 웹 환경에서만 준수되어야 하는 항목은 아닙니다. 이에 따라 운영 체제(OS) 별로 소프트웨어와 하드웨어 사이에서 접근성 기능이 동작할 수 있도록 자체적인 프레임워크와 API를 제공하고 있습니다. 각 OS는 이러한 프레임워크 또는 API를 통해 보조 기술과 응용 프로그램 간의 통신을 지원합니다. 어떤 흐름으로 접근성 기능이 동작하는지 알아보겠습니다.

출처 – Build accessible apps | Android Developers

Windows 접근성 프레임워크

Windows는 Microsoft UI Automation(UIA)을 주요 접근성 프레임워크로 사용합니다. 이 프레임워크는 UI 요소의 속성(이름, 역할, 상태), 패턴(호출, 확장, 선택 등), 이벤트(포커스 변경 등)를 정의합니다. 이전에는 MSAA(Microsoft Active Accessibility)가 사용되었으나 현재는 UIA로 대체되고 있으며, UIA는 Windows Vista 이후 모든 버전에서 제공됩니다.

다음은 UIA 프레임워크의 접근성 기능 흐름도입니다.

UIA 프레임워크는 Narrator(스크린리더)가 UI 요소의 속성 정보를 요청하면 UI Automation이 중개자 역할을 하여 UI 요소에 속성을 질의하고 응답을 받아 Narrator에 전달하며, UI 요소의 상태 변경 시에는 이벤트가 발생하여 UI Automation을 통해 Narrator로 전달되는 방식으로 작동합니다.

macOS 및 iOS 접근성 프레임워크

Apple 기기는 NSAccessibilityUIAccessibility 프레임워크를 사용합니다. VoiceOver, 확대 기능, 색상 필터 등의 내장 접근성 기능은 이 API를 통해 앱과 통합됩니다. 접근성 속성(레이블, 값, 힌트) 과 액션(활성화, 증가, 감소)을 정의하여 보조 기술과의 상호작용을 지원합니다.

다음은 NSAccessibility 프레임워크의 접근성 기능 흐름도입니다.

NSAccessibility 프레임워크는 VoiceOver가 UI 요소에 속성을 요청하면 NSAccessibility가 중개자 역할을 하여 UI 요소로부터 응답을 받고 다시 VoiceOver에 전달하며, 상태 변경 시에는 UI 요소가 NSAccessibilityPostNotification()을 통해 알림을 발생시켜 VoiceOver가 이를 사용자에게 전달하는 방식으로 작동합니다.

Android 접근성 프레임워크

Android는 Android Accessibility Framework를 제공합니다. 이는 TalkBack, Voice Access, Switch Access 등의 보조 기술과 앱 간 통신을 지원합니다. AccessibilityNodeInfo와 AccessibilityEvent 클래스를 통해 UI 요소의 속성과 상태 변화를 보조 기술에 전달합니다.

다음은 Android Accessibility Framework 프레임워크의 접근성 기능 흐름도입니다.

Android Accessibility Framework는 TalkBack이 앱 UI 요소의 정보를 요청하면 Accessibility 서비스가 중개자 역할을 하여 UI 요소로부터 접근성 정보를 수집하여 TalkBack에 전달하고, UI 요소의 상태 변경 시에는 이벤트가 발생하여 Accessibility 서비스를 통해 TalkBack으로 전달되는 방식으로 작동합니다.

웹 접근성 API

웹에서는 WAI-ARIA가 중요한 역할을 합니다. ARIA는 HTML을 확장하여 웹 콘텐츠의 접근성을 높이는 기술입니다. 역할(role), 상태(state), 속성(property)을 정의하여 동적 콘텐츠, 복잡한 UI의 접근성을 개선합니다. HTML5의 시맨틱 태그(header, nav, main 등), 접근성 속성도 웹 접근성을 지원합니다.

다음은 WAI-ARIA의 접근성 기능 흐름도입니다.

웹 개발자가 HTML 요소에 ARIA 역할, 속성, 상태를 적용하면 브라우저가 이를 접근성 트리로 변환하여 스크린리더에 전달하고, 상태 변경 시 이벤트가 발생하여 사용자에게 알려주는 접근성 정보의 흐름을 보여줍니다.

스크린리더와 오피스 소프트웨어


앞서 프레임워크 흐름도 예시를 통해 소개한 Narrator, VoiceOver, TalkBack과 같은 스크린리더는 화면의 텍스트와 이미지를 음성으로 변환하고, 문서 구조와 탐색 정보를 제공하여 시각 장애인이 디지털 콘텐츠를 이용할 수 있게 하는 보조 기술입니다.

오피스 소프트웨어에서는 다양한 접근성 기능을 제공하지만 주로 시각적인 정보로 이루어져 있는 전자 문서를 다루기 때문에, 스크린리더와의 연동성이 중요하게 여겨집니다.

국내·외에서 주로 사용되는 스크린리더에는 어떤 것들이 있을지 알아보고, 스크린리더와의 연동에서 발생할 수 있는 문제점을 살펴보겠습니다.

출처 – What Is a Screen Reader: A Guide to Making Digital Content Accessible | AudioEye

국내 스크린리더

센스리더는 국내에서 가장 널리 사용되는 스크린리더입니다. (주)엑스비전테크놀로지에서 개발했으며 한글 환경에 최적화되어 있습니다. 한국어 발음과 문법에 맞는 음성을 제공하고, 한컴오피스와 MS Office를 부분적으로 지원합니다.

해외 스크린리더

JAWS(Job Access With Speech)세계에서 가장 널리 사용되는 상용 스크린리더입니다. Freedom Scientific에서 개발했으며, Windows에서 동작합니다. MS Office와의 호환성이 우수하고 스크립트로 확장 가능하지만, 한글 지원은 제한적이고 비용이 높습니다.

NVDA(NonVisual Desktop Access)인기 있는 오픈소스 무료 스크린리더입니다. 다양한 언어를 지원하고 플러그인으로 확장할 수 있습니다. Microsoft Office와 호환성이 좋지만, 한글 문서 지원은 제한적입니다.

내레이터(Narrator)Windows에 내장된 스크린리더로, Windows 10 이후 크게 개선되었습니다. Microsoft Office와 호환성이 좋고 별도 설치가 필요 없지만, 전문 스크린리더보다는 기능이 제한적입니다.

VoiceOverApple 기기에 내장된 스크린리더입니다. macOS, iOS, iPadOS에서 일관된 경험을 제공합니다. 제스처 기반 인터페이스가 직관적이고 Apple 앱과 잘 통합되지만, 한글 지원과 서드파티 앱 호환성은 제한적입니다.

TalkBackAndroid 운영체제의 공식 스크린리더로, 시각 장애인이나 시력이 약한 사용자가 스마트폰이나 태블릿을 사용할 수 있도록 도와주는 접근성 서비스입니다. 개발자가 적절한 접근성 속성을 제공한다면 추가적인 개발 작업 없이도 호환되는 앱을 만들 수 있습니다.

스크린리더와 오피스 소프트웨어 연동

각 스크린리더마다 지원하는 기능과 해석 방식이 다르고 오피스 소프트웨어에서 다루는 전자 문서들이 복잡한 문서 구조와 다양한 콘텐츠 유형을 가지고 있기 때문에, 이를 정확히 전달하는 데 어려움이 있습니다. 특히 한글과 같은 비영어권 언어에서는 추가적인 호환성 문제가 발생하기도 합니다.

스크린리더와 오피스 소프트웨어 간에 발생할 수 있는 주요 문제는 다음과 같습니다.

  • 문서 구조 인식: 제목, 목차, 표 구조 등을 정확히 인식하지 못함
  • 멀티미디어 접근성: 이미지, 차트 등에 대체 텍스트가 부족함
  • 인터페이스 일관성: 메뉴, 대화상자, 단축키 등의 일관성 부족
  • 포맷 변환: 문서 변환 시 접근성 속성 손실

이러한 문제 해결을 위해 오피스 소프트웨어는 명확한 문서 구조, 대체 텍스트 제공, 일관된 인터페이스, 포맷 변환 시 접근성 유지 기능이 필요합니다. 주요 오피스 소프트웨어들은 이러한 문제점들을 해결하기 위해 다양한 접근성 기능을 개발해 왔습니다.

한컴오피스의 접근성 지원 기능


한컴오피스에서 지원하는 접근성 기능들에 대해서도 살펴보겠습니다.

출처 – 한컴독스 | HANCOM

스크린리더 지원

스크린리더와 같은 접근성 프로그램의 호환을 위해 신규 프레임 작업을 진행하였습니다.

또한, 센스리더와 같은 국내 스크린리더 업체와의 협업을 통해 HncAA(Hnc Active Accessibility)라는 이름의 접근성 인터페이스를 제공하여, 이를 이용해 문서 내부의 요소를 읽을 수 있도록 접근성을 지원하고 있습니다.

키보드 지원

마우스를 사용할 수 없는 사용자를 위해 키보드 기능과 단축키를 통해 기능을 쉽게 실행하는 것으로 접근성을 지원합니다.

마우스를 사용할 수 없는 경우이거나 메뉴를 보기 어려운 사용자는 단축키를 이용하면 기능을 바로 실행할 수 있으며, 마우스에 특화된 기능인 표나 그림을 키보드를 통해 입력할 수 있으며 외에도 다양한 키보드 기능들을 지원합니다.

시각 조정 지원

시각 조정을 통해 접근성을 지원합니다.

시력이 좋지 않은 사용자를 위해 편집 창의 내용 또는 기본 도구 상자 영역을 더 크게 볼 수 있도록 확대/축소 기능을 제공하며 고대비 색상으로 문서를 볼 수 있도록 지원하고 있습니다.

점자 변환 지원

시각 장애인의 인쇄물 접근성 향상을 위한 점자 변환 기능을 지원합니다.

시각 장애인을 위한 전문 도서나 교재가 부족했던 요구를 반영해 편집 문서를 점자 문서로 변환하는 기능을 한컴오피스 2010부터 제공했습니다.

입력기 지원

화면 판독기나 필기체 인식 프로그램과 같은 다양한 입력기를 통해 접근성을 지원합니다.

화면 판독기를 사용하여 읽은 내용을 본문에 입력하거나 글씨를 직접 써서 본문에 입력할 수 있습니다.

Conclusion


접근성의 핵심은 모든 사용자가 동등하게 제품을 이용할 수 있도록 하는 것입니다.

한컴오피스는 다양한 사용자가 일상적으로 사용하는 소프트웨어인 만큼, 누구나 쉽고 편리하게 이용할 수 있도록 접근성을 중요한 가치로 두고 있습니다.

앞으로도 사용자 경험을 향상시키기 위해 피드백을 적극 수렴하고, 작은 불편함까지도 세심하게 개선해 나갈 예정입니다.

References


접근성 개념 및 표준
법률 및 정책
기술 프레임워크 및 스크린리더
오피스 소프트웨어 접근성
접근성 통계 및 연구
Scroll to Top