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