그래픽 접근성 API 매핑

W3C 권고안

이 버전:
https://www.w3.org/TR/2018/REC-graphics-aam-1.0-20181002/
최신 공개 버전:
https://www.w3.org/TR/graphics-aam-1.0/
최신 편집자 초안:
https://w3c.github.io/graphics-aam/
구현 보고서:
https://w3c.github.io/test-results/graphics-aam/
이전 버전:
https://www.w3.org/TR/2018/PR-graphics-aam-1.0-20180626/
편집자:
(Igalia, S.L.)
(W3C)
이전 편집자:
(IBM Corporation) (2016년 9월까지)
(Knowbility) (2017년 8월까지)
저자:
(IBM Corporation)
(Knowbility)
(W3C)

게시 이후 보고된 오류나 문제는 정오표를 확인하십시오.

번역도 참조하십시오.


초록

Graphics Accessibility API Mappings는 사용자 에이전트WAI-ARIA Graphics Module [GRAPHICS-ARIA-1.0] 마크업을 플랫폼 접근성 API에 매핑하는 방법을 정의합니다. 이는 사용자 에이전트의 접근성을 담당하는 사용자 에이전트 개발자가 [SVG] 또는 [HTML52]용으로 만들어진 그래픽과 같은 그래픽의 접근성을 지원할 수 있도록 하기 위한 것입니다.

사용자 에이전트에서 이 명세를 구현하면 작성자는 공통 그래픽 의미론을 보조 기술에 전달하여 더 접근성 높은 그래픽을 만들 수 있습니다. 이 명세는 WAI-ARIA Graphics Module [GRAPHICS-ARIA-1.0]에 정의된 역할에 대한 Accessibility API Mapping 지침을 제공합니다.

Graphics Accessibility API Mappings는 WAI-ARIA 개요에 설명된 WAI-ARIA 제품군의 일부입니다.

이 문서의 상태

이 절은 이 문서가 발행된 시점의 상태를 설명합니다. 다른 문서가 이 문서를 대체할 수 있습니다. 현재 W3C 발행물 목록과 이 기술 보고서의 최신 개정판은 W3C 기술 보고서 색인 https://www.w3.org/TR/ 에서 확인할 수 있습니다.

이 문서는 W3C 권고안인 Graphics-AAM 1.0이며, Accessible Rich Internet Applications Working Group에서 작성했습니다. 워킹 그룹은 이 명세가 구현 가능함을 입증하기 위해 Graphics-ARIA 1.0 구현 보고서를 작성했습니다. Graphics-AAM 1.0의 변경 내역은 부록에서 확인할 수 있습니다.

의견을 남기려면 W3C graphics-aam GitHub 저장소에 이슈를 제출하십시오. 이것이 가능하지 않다면 public-aria@w3.org (의견 아카이브)로 이메일을 보내십시오. Graphics-AAM 1.0 권고안에 대해 받은 의견은 이 버전의 명세 변경으로 이어질 수 없지만, 정오표 또는 Graphics-ARIA의 향후 버전에서 다루어질 수 있습니다. 워킹 그룹은 의견에 대해 공식적인 답변을 하지 않을 수도 있지만, 워킹 그룹이 수행하는 향후 작업에서 이 문서에 대해 받은 의견을 다룰 수 있습니다. 진행 중인 문서 업데이트는 공개적으로 볼 수 있는 편집자 초안에서 확인할 수 있습니다.

이 문서는 Accessible Rich Internet Applications Working Group이 권고안으로 발행했습니다.

이 문서에 대한 의견을 환영합니다. 의견은 public-aria@w3.org (아카이브)로 보내 주십시오.

워킹 그룹의 구현 보고서를 참조하십시오.

이 문서는 W3C 회원, 소프트웨어 개발자, 그리고 다른 W3C 그룹 및 관심 있는 당사자들의 검토를 받았으며, Director에 의해 W3C 권고안으로 승인되었습니다. 이 문서는 안정적인 문서이며 참조 자료로 사용하거나 다른 문서에서 인용할 수 있습니다. 권고안을 만드는 W3C의 역할은 명세에 대한 주의를 환기하고 널리 배포되도록 촉진하는 것입니다. 이는 웹의 기능성과 상호 운용성을 향상합니다.

이 문서는 W3C 특허 정책에 따라 운영되는 그룹에 의해 작성되었습니다. W3C는 그룹의 산출물과 관련하여 이루어진 모든 특허 공개의 공개 목록을 유지합니다. 해당 페이지에는 특허를 공개하기 위한 지침도 포함되어 있습니다. 개인이 필수 청구항을 포함한다고 믿는 특허에 대한 실제 지식을 가지고 있는 경우, 그 개인은 Essential Claim(s)W3C 특허 정책 6절에 따라 공개해야 합니다.

이 문서는 2018년 2월 1일 W3C 프로세스 문서의 적용을 받습니다.

1. 소개

이 절은 비규범적입니다.

Graphics Accessibility API Mappings 명세는 WAI-ARIA Graphics Module [GRAPHICS-ARIA-1.0]의 역할에 대한 역할 매핑을 제공합니다.

웹 문서와 애플리케이션에서 핵심 의미 정보는 Document Object Model(DOM) 안에 캡슐화됩니다. 보조 기술은 이 정보를 사용자 에이전트로부터 얻으며, 사용자 에이전트는 요소와 속성을 플랫폼 Accessibility API에 매핑합니다.

WAI-ARIA 1.0에서 정의한 원래의 요소 의미론 제품군은 그래픽을 상호작용이나 의미 있는 의미 구조가 없는 개별 임베디드 이미지로만 고려했습니다. 따라서 레이블이 붙은 다이어그램이나 데이터 차트와 같은 복잡한 그래픽 또는 상호작용형 그래픽을 전달하기에는 충분하지 않았습니다. WAI-ARIA Graphics Module은 그래픽의 구조를 전달할 수 있는 세 가지 역할의 핵심 집합을 정의합니다. 이 명세는 사용자 에이전트가 이러한 역할을 현재 사용 중인 접근성 API에 어떻게 노출해야 하는지를 정의하여, 의미 정보가 이러한 API를 사용하는 보조 기술에서 사용할 수 있도록 합니다.

WAI-ARIA 소개는 WAI-ARIA 개요를 참조하십시오. 이는 WAI-ARIA 명세를 정의하고 지원하는 리소스 집합의 일부이며, 다음 문서를 포함합니다.

2. 적합성

이 명세의 주요 내용은 규범적이며, 적합성 주장에 영향을 미치는 요구 사항을 정의합니다. 소개 자료, 부록, "비규범적"으로 표시된 절과 그 하위 절, 다이어그램, 예제, 그리고 참고 사항은 정보 제공용 (비규범적)입니다. 비규범적 자료는 지침 해석을 돕기 위한 조언 정보를 제공하지만 적합성 주장에 영향을 미치는 요구 사항을 만들지는 않습니다.

규범 절은 이 명세에 적합한 구현을 위해 사용자 에이전트가 따라야 하는 요구 사항을 제공합니다. 이 문서에서 MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, RECOMMENDED, MAY, 그리고 OPTIONAL 키워드는 요구 수준을 나타내기 위해 RFC에서 사용하는 키워드 [RFC2119]에 설명된 대로 해석해야 합니다. RFC-2119 키워드는 대문자로 표시되며 class="rfc2119"가 있는 요소 안에 포함됩니다. 위에 표시된 키워드가 사용되었지만 이 형식을 공유하지 않는 경우, RFC 2119 의미에서 공식 정보를 전달하지 않으며 단지 설명적, 즉 정보 제공용입니다. 가능한 한 이 명세에서는 그러한 사용을 피했습니다.

규범 절은 이 명세에 적합한 구현을 위해 작성자, 사용자 에이전트 및 보조 기술이 MUST 따라야 하는 요구 사항을 제공합니다.

비규범적(정보 제공용) 절은 명세를 이해하는 데 유용한 정보를 제공합니다. 이러한 절에는 권장 관행의 예가 포함될 수 있지만, 이 명세에 적합하기 위해 그러한 권장 사항을 따를 필요는 없습니다.

3. 중요 용어

일부 용어는 해당 위치에서 정의되지만, 다음 정의는 이 문서 전반에서 사용됩니다.

접근성 API

운영 체제와 기타 플랫폼은 객체이벤트에 대한 정보를 보조 기술에 노출하는 인터페이스 집합을 제공합니다. 보조 기술은 이러한 인터페이스를 사용하여 해당 위젯에 대한 정보를 얻고 상호작용합니다. 접근성 API의 예로는 Microsoft Active Accessibility [MSAA], Microsoft User Interface Automation [UI-AUTOMATION], MSAA와 함께 사용하는 UIA Express [UIA-EXPRESS], Mac OS X Accessibility Protocol [AXAPI], Linux/Unix Accessibility Toolkit [ATK] 및 Assistive Technology Service Provider Interface [AT-SPI], 그리고 IAccessible2 [IAccessible2]가 있습니다.

보조 기술

다음과 같은 하드웨어 및/또는 소프트웨어입니다.

  • 웹 콘텐츠를 가져오고 렌더링하기 위해 사용자 에이전트가 제공하는 서비스에 의존합니다
  • API를 사용하여 사용자 에이전트 또는 웹 콘텐츠 자체와 함께 작동하며,
  • 장애가 있는 사용자가 웹 콘텐츠와 상호작용할 수 있도록 사용자 에이전트가 제공하는 것 이상의 서비스를 제공합니다

이 정의는 다른 문서에서 사용되는 정의와 다를 수 있습니다.

이 문서의 맥락에서 중요한 보조 기술의 예는 다음과 같습니다.

  • 렌더링된 텍스트와 이미지의 시각적 가독성을 확대하고 개선하는 데 사용되는 화면 확대기;
  • 합성 음성이나 갱신 가능한 점자 디스플레이를 통해 정보를 전달하는 데 가장 자주 사용되는 화면 판독기;
  • 텍스트를 합성 음성으로 변환하는 데 사용되는 텍스트 음성 변환 소프트웨어;
  • 음성 제어와 받아쓰기를 가능하게 하는 데 사용되는 음성 인식 소프트웨어;
  • 키보드를 시뮬레이션하는 데 사용되는 대체 입력 기술(헤드 포인터, 화면 키보드, 단일 스위치, sip/puff 장치 포함);
  • 마우스 포인팅과 클릭을 시뮬레이션하는 데 사용되는 대체 포인팅 장치.
속성

이 명세에서 attribute는 마크업 언어에서 사용되는 의미 그대로 사용됩니다. 속성은 요소가 나타내는 객체상태속성에 대한 정보를 제공하기 위해 요소에 추가되는 구조적 기능입니다.

클래스

유사한 특성을 공유하는 인스턴스 객체의 집합입니다.

요소

이 명세에서 element는 마크업 언어에서 사용되는 의미 그대로 사용됩니다. 요소는 객체에 대한 데이터 프로필을 포함하는 마크업 언어의 구조적 요소입니다.

이벤트

계산 시스템에서 상태의 불연속적인 변화를 다른 객체에 전달하는 데 사용되는 프로그래밍 메시지입니다. 웹 페이지에 대한 사용자 입력은 일반적으로 상호작용을 설명하고 문서 객체 상태의 변경을 알릴 수 있는 추상 이벤트를 통해 매개됩니다. 일부 프로그래밍 언어에서는 이벤트가 더 일반적으로 알림으로 알려져 있습니다.

정보 제공용

정보 제공 목적으로 제공되며 적합성에 필요하지 않은 콘텐츠입니다. 적합성에 필요한 콘텐츠는 규범적이라고 합니다.

규범적

적합성에 필요합니다. 이와 달리 정보 제공용 또는 "비규범적"으로 식별된 콘텐츠는 적합성에 필요하지 않습니다.

객체

사용자 인터페이스의 맥락에서, 마크업 언어에서 하나 이상의 요소로 표현되고 사용자 에이전트에 의해 렌더링되는, 지각 가능한 사용자 경험의 항목입니다.

프로그래밍의 맥락에서는 유사한 객체의 일반적 특성을 정의하는 하나 이상의 클래스와 인터페이스의 인스턴스화입니다. 접근성 API의 객체는 하나 이상의 DOM 객체를 나타낼 수 있습니다. 접근성 API에는 DOM 인터페이스와 구별되는 정의된 인터페이스가 있습니다.
프로퍼티

주어진 객체의 본질에 필수적인 속성, 또는 객체와 연결된 데이터 값을 나타내는 속성입니다. 프로퍼티의 변경은 객체의 의미나 표현에 중대한 영향을 줄 수 있습니다. 예를 들어 aria-multiline과 같은 특정 프로퍼티는 상태보다 덜 자주 변경될 가능성이 있지만, 변경 빈도의 차이가 규칙은 아니라는 점에 유의하십시오. aria-activedescendant, aria-valuenow, 그리고 aria-valuetext와 같은 몇몇 프로퍼티는 자주 변경될 것으로 예상됩니다. 상태와 프로퍼티의 구분에 대한 설명을 참조하십시오.

역할

유형의 주요 지표입니다. 의미론적 연관은 도구가 해당 유형의 다른 객체에 대한 사용자 기대와 일관된 방식으로 객체와의 상호작용을 제시하고 지원할 수 있게 합니다.

의미론

사람이 이해하는 어떤 것의 의미로, 컴퓨터가 객체의 표현을 처리할 수 있는 방식으로 정의됩니다. 이러한 표현에는 요소속성 등이 있으며, 다양한 사람이 그 객체에 대해 상호 일관된 이해에 도달할 수 있도록 객체를 신뢰성 있게 표현합니다.

상태

상태는 사용자 동작이나 자동화된 프로세스에 응답하여 변경될 수 있는 객체의 특성을 표현하는 동적 프로퍼티입니다. 상태는 객체의 본질에 영향을 주지 않지만, 객체와 연결된 데이터 또는 사용자 상호작용 가능성을 나타냅니다. 상태와 프로퍼티의 구분에 대한 설명을 참조하십시오.

사용자 에이전트

웹 콘텐츠를 가져오고 렌더링하며 최종 사용자 상호작용을 용이하게 하는 모든 소프트웨어입니다. 이 정의는 다른 문서에서 사용되는 정의와 다를 수 있습니다.

위젯

사용자가 상호작용할 수 있는 개별 사용자 인터페이스 객체입니다. 위젯은 하나의 값이나 동작을 가진 단순 객체(예: 체크 박스와 메뉴 항목)부터 관리되는 여러 하위 객체를 포함하는 복잡한 객체(예: 트리와 그리드)까지 다양합니다.

4. WAI-ARIA를 Accessibility API에 매핑하기

4.1 WAI-ARIA 의미론을 노출하기 위한 일반 규칙

이 절은 [CORE-AAM-1.1]의 WAI-ARIA 의미론을 노출하기 위한 일반 규칙MUST 준수해야 합니다.

5. 네이티브 마크업 의미론과 WAI-ARIA 간의 충돌

사용자 에이전트는 [CORE-AAM-1.1]의 네이티브 마크업 의미론과 WAI-ARIA 간의 충돌MUST 준수해야 합니다.

6. 접근성 API 속성에 직접 매핑되지 않는 속성 노출하기

사용자 에이전트는 [CORE-AAM-1.1]의 접근성 API 속성에 직접 매핑되지 않는 속성 노출하기MUST 준수해야 합니다.

7. 역할 매핑

플랫폼 접근성 API는 전통적으로 해당 플랫폼의 보조 기술이 예상하는 미리 정의된 역할의 유한한 집합을 가지고 있으며, 하나 또는 두 개의 역할만 노출될 수 있습니다. 이와 대조적으로 WAI-ARIA는 공백으로 구분된 유효한 역할 토큰의 순서 있는 집합으로 여러 역할을 지정할 수 있습니다. 추가 역할은 첫 번째 선택 글꼴 유형이 지원되지 않을 경우를 대비해 여러 글꼴을 지정하는 개념과 유사한 대체 역할입니다.

7.1 일반 규칙

사용자 에이전트는 [CORE-AAM-1.1]의 역할 매핑 접근성 API 계산 요구 사항인 일반 규칙MUST 준수해야 합니다.

7.2 역할 매핑 표

이 절은 그래픽의 역할이 네이티브 호스트 언어 의미론과 WAI-ARIA 역할이 적용되는 경우에 따라 플랫폼 접근성 API에 어떻게 매핑되는지를 정의합니다. 이 절은 Core Accessibility API Mappings 명세를 직접 참조합니다.

WAI-ARIA 역할을 접근성 API에 매핑하는 방식을 설명하는 표.
WAI-ARIA 역할 MSAA + IAccessible2 역할 + 기타 IAccessible2 기능 UIA 컨트롤 유형 + 기타 기능 ATK/AT-SPI 역할 AXAPI
graphics-document

ROLE_SYSTEM_DOCUMENT + STATE_SYSTEM_READONLY

IAccessible2: 객체 속성 xml-roles:graphics-document.

컨트롤 유형: 'Document'.

ROLE_DOCUMENT_FRAME 및 객체 속성 xml-roles:graphics-document를 노출합니다.

AXRole: AXGroup
AXSubrole: AXDocument
AXRoleDescription: 'document'
graphics-object ROLE_SYSTEM_GROUPING +

IAccessible2: 객체 속성 xml-roles:graphics-object.

컨트롤 유형: 'Group'.

ROLE_PANEL 및 객체 속성 xml-roles:graphics-object를 노출합니다.

AXRole: AXGroup
AXSubrole: <nil>
AXRoleDescription: 'group'
graphics-symbol ROLE_SYSTEM_GRAPHIC

IAccessible2: 객체 속성 xml-roles:graphics-symbol.

컨트롤 유형: 'Image'.

ROLE_IMAGE 및 객체 속성 xml-roles:graphics-symbol를 노출합니다.

AXRole: AXImage
AXSubrole: <nil>
AXRoleDescription: 'image'

A. 변경 로그

Graphics Accessibility API Mappings 1.0의 전체 커밋 내역을 확인할 수 있습니다.

A.1 첫 공개 워킹 드래프트 이후의 실질적 변경 사항

B. 감사의 말

이 절은 비규범적입니다.

다음 사람들은 이 문서의 개발에 기여했습니다.

B.1 발행 당시 SVG 접근성 태스크포스에서 활동한 참여자

B.2 발행 당시 ARIA WG에서 활동한 참여자

B.3 지원 기금 제공자

이 발행물은 미국 교육부, National Institute on Disability, Independent Living, and Rehabilitation Research(NIDILRR)의 미국 연방 기금으로 부분적으로 지원되었으며, 처음에는 계약 번호 ED-OSE-10-C-0067에 따라, 현재는 계약 번호 HHSP23301500054C에 따라 지원되었습니다. 이 발행물의 내용은 반드시 미국 교육부의 견해나 정책을 반영하는 것은 아니며, 상표명, 상업 제품 또는 조직의 언급이 미국 정부의 보증을 의미하지도 않습니다.

C. 참고 문헌

C.1 규범 참고 문헌

[CORE-AAM-1.1]
Core Accessibility API Mappings 1.1. Joanmarie Diggs; Joseph Scheuhammer; Richard Schwerdtfeger; Michael Cooper; Andi Snow-Weaver; Aaron Leventhal. W3C. 2017년 12월 14일. W3C 권고안. URL: https://www.w3.org/TR/core-aam-1.1/
[GRAPHICS-ARIA-1.0]
WAI-ARIA Graphics Module. Amelia Bellamy-Royds; Joanmarie Diggs; Michael Cooper. W3C. 2018년 6월 26일. W3C 제안 권고안. URL: https://www.w3.org/TR/graphics-aria-1.0/
[RFC2119]
요구 수준을 나타내기 위해 RFC에서 사용하는 핵심 단어. S. Bradner. IETF. 1997년 3월. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119

C.2 정보 참고 문헌

[ACCNAME-AAM-1.1]
Accessible Name and Description: Computation and API Mappings 1.1. Joseph Scheuhammer; James Craig; Andi Snow-Weaver; Aaron Leventhal. W3C. 2016년 3월 17일. W3C 워킹 드래프트. URL: https://www.w3.org/TR/accname-aam-1.1/
[AT-SPI]
Assistive Technology Service Provider Interface. The GNOME Project. URL: https://developer.gnome.org/libatspi/stable/
[ATK]
ATK - Accessibility Toolkit. The GNOME Project. URL: https://developer.gnome.org/atk/stable/
[AXAPI]
macOS용 NSAccessibility Protocol. Apple, Inc. URL: https://developer.apple.com/documentation/appkit/nsaccessibility
[HTML52]
HTML 5.2. Steve Faulkner; Arron Eicholz; Travis Leithead; Alex Danilo; Sangwhan Moon. W3C. 2017년 12월 14일. W3C 권고안. URL: https://www.w3.org/TR/html52/
[IAccessible2]
IAccessible2. Linux Foundation. URL: https://www.linuxfoundation.org/collaborate/workgroups/accessibility/iaccessible2
[MSAA]
Microsoft Active Accessibility (MSAA) 2.0. Microsoft Corporation. URL: https://msdn.microsoft.com/en-us/library/ms697707.aspx
[SVG]
Scalable Vector Graphics (SVG) 1.0 Specification. Jon Ferraiolo. W3C. 2001년 9월 4일. W3C 권고안. URL: https://www.w3.org/TR/SVG/
[SVG-AAM-1.0]
SVG Accessibility API Mappings. Amelia Bellamy-Royds; Ian Pouncey. W3C. 2018년 5월 10일. W3C 워킹 드래프트. URL: https://www.w3.org/TR/svg-aam-1.0/
[UI-AUTOMATION]
UI Automation. Microsoft Corporation. URL: https://msdn.microsoft.com/en-us/library/ee684009%28v=vs.85%29.aspx
[UIA-EXPRESS]
The IAccessibleEx Interface. Microsoft Corporation. URL: https://msdn.microsoft.com/en-us/library/windows/desktop/dd561898%28v=vs.85%29.aspx
[WAI-ARIA-1.0]
Accessible Rich Internet Applications (WAI-ARIA) 1.0. James Craig; Michael Cooper et al. W3C. 2014년 3월 20일. W3C 권고안. URL: https://www.w3.org/TR/wai-aria/
[WAI-ARIA-1.1]
Accessible Rich Internet Applications (WAI-ARIA) 1.1. Joanmarie Diggs; Shane McCarron; Michael Cooper; Richard Schwerdtfeger; James Craig. W3C. 2017년 12월 14일. W3C 권고안. URL: https://www.w3.org/TR/wai-aria-1.1/
[WAI-ARIA-PRACTICES-1.1]
WAI-ARIA Authoring Practices 1.1. Matthew King; James Nurthen; Zoë Bijl; Michael Cooper; Joseph Scheuhammer; Lisa Pappas; Richard Schwerdtfeger. W3C. 2018년 7월 26일. W3C 노트. URL: https://www.w3.org/TR/wai-aria-practices-1.1/
[WCAG21]
Web Content Accessibility Guidelines (WCAG) 2.1. Andrew Kirkpatrick; Joshue O Connor; Alastair Campbell; Michael Cooper. W3C. 2018년 6월 5일. W3C 권고안. URL: https://www.w3.org/TR/WCAG21/