프로그래밍 기술/소프트웨어 접근성, UI 자동화

[S/W 접근성] 컨트롤 패턴 종류

언제나휴일 2016. 4. 19. 13:57
반응형

5. 컨트롤 패턴

 

 UI 자동화 기술에서는 컨트롤을 사용할 수 있는 기능에 따라 컨트롤 패턴을 정의하여 패턴마다 메서드, 속성, 이벤트 등을 제공하고 있습니다.

 

 UI 자동화 평가 도구나 클리이언트 응용에서는 자동화 요소가 어떠한 컨트롤 패턴인지 확인하여 해당 컨트롤 패턴에서 제공하는 메서드를 이용하여 컨트롤의 기능을 프로그램 방식으로 제어하거나 속성이나 이벤트로 컨트롤의 상태를 확인할 수 있습니다.

 

5.1 컨트롤 패턴 종류

 

 UI 자동화 기술에서는 컨트롤을 사용할 수 있는 독립적인 기능들을 컨트롤 패턴으로 정의하였습니다. 서로 다른 컨트롤이 같은 기능을 제공하는 경우도 있기 때문에 컨트롤과 컨트롤 패턴은 1:1 매핑 관계가 아닙니다. 하나의 컨트롤이 여러 컨트롤 패턴에 해당할 수도 있고 컨트롤 상태에 따라 같은 종류의 컨트롤이지만 컨트롤 패턴은 다를 수 있습니다.

 

 예를 들어 편집 창의 내용이 많아 자동으로 스크롤 바가 생기면 해당 편집 창은 스크롤 패턴에 해당합니다. 하지만 편집 창의 내용이 적어 스크롤 바가 생기지 않으면 스크롤 패턴에 해당하지 않습니다. 이처럼 컨트롤은 상태에 따라 특정 컨트롤 패턴일 수도 있고 그렇지 않을 수도 있습니다. 이러한 특징을 동적 컨트롤 패턴이라 부릅니다.

 

 여러분이 사용자 정의 컨트롤을 제작할 때 특정 컨트롤 패턴을 지원하기를 원한다면 각 컨트롤 패턴의 기능을 약속한 인터페이스를 기반으로 구현해야 합니다.

 

 예를 들어 여러분이 정의하는 컨트롤이 스크롤 기능을 지원한다면 IScrollProvider 인터페이스를 기반으로 구현하면 UI 자동화 평가 도구나 UI 자동화 기술 클라이언트 응용에서는 해당 컨트롤이 스크롤 패턴에 해당함을 인지할 수 있고 프로그램 방식으로 해당 컨트롤을 제어할 수 있게 됩니다.

 

 

컨트롤 패턴

설명

DockPattern

도킹 컨테이너에 도킹할 수 있는 컨트롤

ExpandCollapsePattern

확장하거나 축소할 수 있는 컨트롤

GridPattern

표 기능을 지원하는 컨트롤

GridItemPattern

표 안에 있는 컨트롤

InvokePattern

버튼처럼 호출할 수 있는 컨트롤

MultipleViewPattern

같은 정보를 여러 표현으로 전환할 수 있는 컨트롤

RangeValuePattern

특정 범위의 값을 지정할 수 있는 컨트롤

ScrollPattern

스크롤할 수 있는 컨트롤

ScrollItemPattern

스크롤할 수 있는 컨트롤의 항목 컨트롤

SelectionPattern

항목을 선택할 수 있는 컨트롤

SelectionItemPattern

항목을 선택할 수 있는 컨트롤의 항목 컨트롤

TablePattern

테이블 컨트롤

TableItemPattern

테이블 컨트롤의 항목 컨트롤

TextPattern

텍스트 정보를 갖을 수 있는 컨트롤

TogglePattern

상태를 전환할 수 있는 컨트롤

TransformPattern

크기 조정, 이동, 회전할 수 있는 컨트롤

ValuePattern

값을 가져오거나 설정할 수 있는 컨트롤

WindowPattern

창 컨트롤

[5.1] 컨트롤 패턴 종류

 

컨트롤

지원 패턴

상태에 따라 지원하는 패턴

Button

없음

Invoke, Toggle, ExpandCollapse

Calendar

Grid, Table

Selection, Scroll

CheckBox

Toggle

없음

ComboBox

ExpandCollapse

Selection, Value

DataGrid

Grid

Scroll, Selection, Table

DataItem

SelectionItem

ExpandCollapse, GridItem, ScrollItem,

Table, Toggle, Value

Ducument

Text

Scroll, Value

Edit

없음

Text, RangeValue, Value

Group

없음

ExpandCollapse

Header

없음

Transform

HeaderItem

없음

Transform, Invoke

HyperLink

Invoke

Value

Image

없음

GridItem, TableItem

List

없음

Grid, MultipleView, Scroll, Selection

ListItem

SelectionItem

ExpandCollapse, GridItem, Invoke,

ScrollItem, Toggle, Value

Menu

없음

없음

MenuBar

없음

ExpandCollapse, Dock, Tansform

MenuItem

없음

ExpandCollapse, Invoke, SelectionItem,

Toggle

Pane

없음

Dock, Scroll, Transform

ProgressBar

없음

RangeValue, Value

RadioButton

SlectionItem

없음

ScrollBar

없음

RangeValue

Separator

없음

없음

Slider

없음

RangeValue, Selection, Value

Spinner

없음

RangeValue, Selection, Value

SplitButton

Invoke, ExpandCollapse

없음

StatusBar

없음

Grid

Tab

Selection

Scroll

TabItem

SelectionItem

없음

Table

Grid, GridItem, Table,

TableItem

없음

Text

없음

GridItem, TableItem, Text

Thumb

Transform

없음

TitleBar

없음

없음

ToolBar

없음

Dock, ExpandCollapse, Transform

ToolTip

없음

Text, Window

Tree

없음

Scroll, Selection

TreeItem

ExpandCollapse

Invoke, ScrollItem, SelectionItem,

Toggle

Window

Transform, Window

Dock

[ 5.2] 컨트롤 별 지원 패턴

 

반응형