W3C Access Rich Internet 애플리케이션 사양에 대한 UI 자동화
웹 사이트는 AJAX(비동기 JavaScript 및 XML), DHTML 및 JavaScript와 같은 기술에서 지원하는 동적 콘텐츠 및 고급 UI 컨트롤을 사용하여 유틸리티를 향상합니다. 그러나 보조 기술은 이러한 복잡한 컨트롤과 상호 작용하거나 사용자에게 동적 콘텐츠를 노출할 수 없는 경우가 자주 있습니다. ARIA(Access Rich Internet Applications)는 장애가 있는 사용자가 액세스할 수 있도록 웹 콘텐츠 및 애플리케이션을 개발하기 위한 W3C 기술 사양입니다.
ARIA 사양을 지원하기 위해 Microsoft UI 자동화 사양을 사용하면 개발자가 UI 자동화 AriaRole 및 AriaProperties 특성을 W3C ARIA 역할 및 상태 또는 속성과 연결할 수 있습니다. 이렇게 하면 Microsoft Internet과 같은 사용자 애플리케이션이 기준 접근성 개체 모델을 유지하면서 UI 자동화 컨텍스트에서 ARIA 개체 모델을 지원할 Explorer 있습니다.
이 부록은 두 가지 새로운 UI 자동화 속성을 활용하여 W3C 정보를 Microsoft Active Accessibility 및 UI 자동화 사양에 매핑하는 것을 제안합니다.
이 항목에는 다음과 같은 섹션이 포함되어 있습니다.
- Microsoft Active Accessibility 및 UI 자동화 매핑된 W3C ARIA 역할
- Microsoft 활성 접근성 및 UI 자동화 매핑된 W3C ARIA 상태 및 속성
- 추가 고려 사항
Microsoft Active Accessibility 및 UI 자동화 매핑된 W3C ARIA 역할
W3C ARIA 역할은 Microsoft Active Accessibility 역할 또는 UI 자동화 컨트롤 형식에 매핑할 수 있습니다. UI 자동화 원래 W3C ARIA 역할은 AriaRole 속성에서도 지원될 수 있습니다. 사용자 에이전트는 UI 자동화 LocalizedControlType 속성을 사용하여 W3C ARIA 역할에 대한 지역화된 설명을 제공할 수 있지만 선택 사항입니다. 지역화된 문자열을 지정하지 않으면 시스템에서 기본 LocalizedControlType 문자열을 입력합니다. 사용자 에이전트는 ARIA W3C 표준에 정의된 대로 공백을 구분 기호로 사용하여 AriaRole 속성에서 보조 역할을 제공할 수도 있습니다.
Microsoft 활성 접근성 및 UI 자동화 매핑된 W3C ARIA 상태 및 속성
W3C ARIA 상태 및 속성은 다양한 Microsoft Active Accessibility 및 UI 자동화 속성 및 함수에 매핑됩니다. 대부분의 ARIA 상태 및 속성은 UI 자동화 AriaProperties 속성에서 지원됩니다. 예외는 개체 참조를 사용하는 ARIA 속성(예: ARIA 속성 설명) 및 접근성 개체 모델에서 지원하는 ARIA 속성입니다. 예를 들어 ARIA activedescendent 속성은 접근성 개체 모델에 포커스가 있는 요소로 표현되어야 합니다. ARIA 소유 속성은 지정될 때 접근성 개체 모델에도 반영되어야 합니다.
AriaProperties는 구분 기호가 등호(=) 및 세미콜론(;)(예: "checked=true;disabled=false")인 이름/값 쌍의 컬렉션이 있는 문자열 속성입니다. 이러한 구분 기호 문자 또는 백슬래시가 값에 표시되면 백슬래시(\)가 이스케이프로 사용됩니다. 공급자 코드는 확인을 추가하여 문서 개체 모델에서 원래 ARIA 속성의 유효성을 검사할 수 있지만 필수는 아닙니다.
W3C ARIA 상태 및 속성 | Microsoft Active Accessibility 속성 | UI 자동화 속성 | UI 자동화 AriaProperties 속성 |
---|---|---|---|
activedescendent | STATE_SYSTEM_FOCUSED (accState) | HasKeyboardFocus(포커스를 받도록 지정된 자식 요소의 속성) | 해당 없음 |
원자성(atomic) | 해당 없음 | 해당 없음 | 원자성(atomic) |
busy | STATE_SYSTEM_BUSY (accState) | 해당 없음 | busy |
채널 | 해당 없음 | 해당 없음 | 채널 |
checked | STATE_SYSTEM_CHECKED (accState) | ToggleState(토글 컨트롤 패턴) | checked |
controls | 해당 없음 | ControllerFor | 해당 없음 |
describedby | 해당 없음 | DescribedBy | 해당 없음 |
disabled | STATE_SYSTEM_UNAVAILABLE (accState) | IsEnabled | disabled |
dropeffect | 해당 없음 | 해당 없음 | dropeffect |
확장 | STATE_SYSTEM_COLLAPSED 또는 STATE_SYSTEM_EXPANDED (accState) | ExpandCollapseState(ExpandCollapse 컨트롤 패턴) | 확장 |
flowto | 해당 없음 | FlowsTo | 해당 없음 |
잡아 | 해당 없음 | 해당 없음 | 잡아 |
haspopup | STATE_SYSTEM_HASPOPUP (accState) | 해당 없음 | haspopup |
hidden | STATE_SYSTEM_INVISIBLE (accState) | IsOffscreen | hidden |
잘못됨 | 해당 없음 | IsDataValidForForm | 잘못됨 |
labelledby | 해당 없음 | LabeledBy | 해당 없음 |
Level | accValue | n/a(automation 요소 트리 구조로 나타낸) | 수준 |
live | 해당 없음 | 해당 없음 | live |
여러 줄 | 해당 없음 | 문서 컨트롤 형식 | 여러 줄 |
multiselectable | STATE_SYSTEM_EXTSELECTABLE (accState) | CanSelectMultiple(선택 컨트롤 패턴) | multiselectable |
소유 | n/a(액세스 가능한 개체 트리에 반영되어야 합니다.) | n/a(Automation 요소 트리에 반영되어야 합니다.) | 해당 없음 |
Posinset | n/a(액세스 가능한 개체 트리 구조 또는 childId로 표시됨) | n/a(automation 요소 트리 구조에 표시됨) | posinset |
누르면 | STATE_SYSTEM_PRESSED | ToggleState(토글 컨트롤 패턴) | 누르면 |
readonly | STATE_SYSTEM_READONLY | IsReadOnly | readonly |
관련 | 해당 없음 | 해당 없음 | 관련 |
필수 | 해당 없음 | IsRequiredForForm | 필수 |
secret | STATE_SYSTEM_PROTECTED | IsPassword | secret |
선택 | STATE_SYSTEM_SELECTED | IsSelected(SelectionItem 컨트롤 패턴) | 선택 |
Setsize | 해당 없음 | n/a(자동화 요소 트리 구조의 자식 수) | Setsize |
sort | 해당 없음 | 해당 없음 | sort |
Tabindex | STATE_SYSTEM_FOCUSABLE | IsKeyboardFocusable | Tabindex |
valuemax | 해당 없음 | 최대값(RangeValue 컨트롤 패턴) | valuemax |
valuemin | 해당 없음 | 최소(RangeValue 컨트롤 패턴) | valuemin |
valuenow | IAccessible::get_accValue | 값(RangeValue 컨트롤 패턴) | valuenow |
Valuetext |
IAccessible::get_accValue 참고: valuenow 및 valuetext ARIA 속성이 모두 설정되면 accValue는 ARIA valuetext 속성의 데이터를 보유합니다. |
값(값 컨트롤 패턴) 참고: Valuetext와 valuenow를 모두 지정하면 RangeValue 및 Value 컨트롤 패턴이 UI 자동화 공존할 수 있습니다. |
Valuetext |
기타 고려 사항
UI 자동화 Document 개체에 개체 포함을 지원하는 Text 컨트롤 패턴의 간단한 텍스트 개체 모델도 제공합니다. 이를 통해 사용자 에이전트 및 클라이언트 애플리케이션은 최종 사용자 시나리오에 따라 웹 콘텐츠를 HTML 문서 또는 기존 데스크톱 UI로 처리할 수 있습니다.