패키지 | flash.accessibility |
클래스 | public class AccessibilityProperties |
상속 | AccessibilityProperties Object |
하위 클래스 | UIComponentAccImpl, UIComponentAccProps |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
AccessibilityProperties 객체는 모든 표시 객체에 연결할 수 있으나, Flash Player에서는 특정 유형의 객체에 대한 AccessibilityProperties 객체만 읽습니다. 이 유형에는 SWF 파일(DisplayObject.root
로 표시됨), 컨테이너 객체( DisplayObjectContainer
및 하위 클래스), 버튼( SimpleButton
및 하위 클래스) 및 텍스트( TextField
및 하위 클래스)가 포함됩니다.
액세스 가능성 도구에서는 탐색의 기본 수단으로 객체의 이름을 제공하기 때문에 이러한 객체에서 가장 중요한 속성은 name
입니다. AccessibilityProperties.name
과 DisplayObject.name
은 별개로 서로 연관이 없으므로 혼동하지 마십시오. AccessibilityProperties.name
속성은 액세스 가능성 도구에서 음성으로 읽히는 이름이고, DisplayObject.name
은 기본적으로 ActionScript 코드에서만 볼 수 있는 변수 이름입니다.
Flash Professional에서 AccessibilityProperties
객체의 속성은 제작 중 [액세스 가능성] 패널에서 설정한 해당 값을 재정의합니다.
Flash Player가 액세스 가능성 도구를 지원하는 환경에서 실행되고 있는지 확인하려면 Capabilities.hasAccessibility
속성을 사용합니다. AccessibilityProperties 객체를 수정하는 경우, 변경 사항이 적용되도록 하려면 Accessibility.updateProperties()
메서드를 호출해야 합니다.
관련 API 요소
flash.display.DisplayObject.accessibilityProperties
flash.display.InteractiveObject.tabIndex
flash.system.Capabilities.hasAccessibility
속성 | 정의 주체 | ||
---|---|---|---|
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
description : String
액세스 가능한 프리젠테이션에서 이 표시 객체의 설명을 제공합니다. | AccessibilityProperties | ||
forceSimple : Boolean
true일 경우, Flash Player는 액세스 가능한 프리젠테이션에서 이 표시 객체에 속하는 자식 객체를 제외합니다. | AccessibilityProperties | ||
name : String
액세스 가능한 프리젠테이션에서 이 표시 객체의 이름을 제공합니다. | AccessibilityProperties | ||
noAutoLabeling : Boolean
true일 경우, Flash Player의 기본 자동 레이블 지정 시스템이 비활성화됩니다. | AccessibilityProperties | ||
shortcut : String
이 표시 객체와 연결된 키보드 단축키를 나타냅니다. | AccessibilityProperties | ||
silent : Boolean
true일 경우, 이 표시 객체는 액세스 가능한 프리젠테이션에서 제외됩니다. | AccessibilityProperties |
메서드 | 정의 주체 | ||
---|---|---|---|
새 AccessibilityProperties 객체를 만듭니다. | AccessibilityProperties | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
description | 속성 |
public var description:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
액세스 가능한 프리젠테이션에서 이 표시 객체의 설명을 제공합니다. 객체에 대해 표시할 정보가 많은 경우, 간결한 이름을 선택하고 대부분의 내용은 description
속성에 넣는 것이 좋습니다. 모든 SWF 파일, 컨테이너, 버튼 및 텍스트에 적용됩니다. 기본값은 빈 문자열입니다.
Flash Professional에서 이 속성은 [액세스 가능성] 패널의 [설명] 필드에 해당합니다.
forceSimple | 속성 |
public var forceSimple:Boolean
런타임 버전: | AIR 1.0, Flash Player 9 |
true
일 경우, Flash Player는 액세스 가능한 프리젠테이션에서 이 표시 객체에 속하는 자식 객체를 제외합니다. 기본값은 false
입니다. 모든 SWF 파일 및 컨테이너에 적용됩니다.
name | 속성 |
public var name:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
액세스 가능한 프리젠테이션에서 이 표시 객체의 이름을 제공합니다. 모든 SWF 파일, 컨테이너, 버튼 및 텍스트에 적용됩니다. DisplayObject.name
과는 연관이 없으므로 혼동하지 마십시오. 기본값은 빈 문자열입니다.
Flash Professional에서 이 속성은 [액세스 가능성] 패널의 [이름] 필드에 해당합니다.
noAutoLabeling | 속성 |
public var noAutoLabeling:Boolean
런타임 버전: | AIR 1.0, Flash Player 9 |
true
일 경우, Flash Player의 기본 자동 레이블 지정 시스템이 비활성화됩니다. 자동 레이블 지정은 버튼 내부의 텍스트 객체를 버튼 이름으로, 텍스트 필드 근처의 텍스트 객체를 텍스트 필드 이름으로 처리되도록 합니다. 기본값은 false
입니다. 모든 SWF 파일에만 적용됩니다.
noAutoLabeling
속성 값은 액세스 가능성 도구가 SWF 파일을 처음 검사하기 전에 지정하지 않으면 무시합니다. noAutoLabeling
을 true
로 설정하려면 가능한 빨리 실행되도록 코딩해야 합니다.
shortcut | 속성 |
public var shortcut:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
이 표시 객체와 연결된 키보드 단축키를 나타냅니다. 단축키와 연결한 UI 컨트롤에만 이 문자열을 제공합니다. 컨테이너, 버튼 및 텍스트에 적용됩니다. 기본값은 빈 문자열입니다.
참고: 이 속성을 지정해도 이 객체에 특정 키 조합이 자동으로 지정되지는 않습니다. 따라서 KeyboardEvent
를 수신하거나 하여 키 조합을 직접 지정해야 합니다.
이 문자열의 구문은 수정자 키에는 긴 이름을 사용하고, 키 조합은 더하기(+) 문자를 사용하여 표시합니다. "Ctrl+F", "Ctrl+Shift+Z" 등이 유효한 문자열의 예입니다.
silent | 속성 |
public var silent:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
true
일 경우, 이 표시 객체는 액세스 가능한 프리젠테이션에서 제외됩니다. 기본값은 false
입니다. 모든 SWF 파일, 컨테이너, 버튼 및 텍스트에 적용됩니다.
AccessibilityProperties | () | 생성자 |
public function AccessibilityProperties()
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
새 AccessibilityProperties 객체를 만듭니다.
AccessibilityExample
, CustomAccessibleButton
, CustomSimpleButton
및 ButtonDisplayState
클래스를 사용하여 일반적인 화면 판독기에서 작동하는 액세스 가능성 호환 메뉴를 만듭니다. AccessibilityProperties
클래스의 기본 기능은 다음과 같습니다.
- 사용자 정의 버튼을 만들고 레이블과 설명을 설정하는
configureAssets
을 호출합니다. 이것은 화면 판독기에서 최종 사용자에게 전달하는 값입니다. - 속성을 업데이트하기 전에 Flash Player에서 화면 판독기를 감지할 수 있는 충분한 시간을 가질 수 있도록
setTimeOut()
을 호출합니다.
참고: Accessibility.active
를 확인하기 전에 setTimeout()
을 호출하여, 화면 판독기가 사용 가능한 경우 Flash Player에서 화면 판독기에 연결할 수 있도록 2초의 지연 시간을 줍니다. 충분한 지연 시간을 주지 않으면 화면 판독기가 사용 가능한 경우에도 setTimeout
호출에서 false
가 반환될 수 있습니다.
다음 예제에서는 Accessibility.active
에 대한 호출이 true
를 반환하는 경우에만 Accessibility.updateProperties()
메서드를 처리합니다. 이것은 Flash Player가 현재 활성화된 화면 판독기에 연결되어 있을 때입니다. 활성화된 화면 판독기 없이 updateProperties
를 호출하면 IllegalOperationError
예외가 발생합니다.
package { import flash.display.Sprite; import flash.accessibility.Accessibility; import flash.utils.setTimeout; public class AccessibilityPropertiesExample extends Sprite { public static const BUTTON_WIDTH:uint = 90; public static const BUTTON_HEIGHT:uint = 20; private var gutter:uint = 5; private var menuLabels:Array = new Array("PROJECTS", "PORTFOLIO", "CONTACT"); private var menuDescriptions:Array = new Array("Learn more about our projects" , "See our portfolio" , "Get in touch with our team"); public function AccessibilityPropertiesExample() { configureAssets(); setTimeout(updateAccessibility, 2000); } private function updateAccessibility():void { trace("Accessibility.active: " + Accessibility.active); if(Accessibility.active) { Accessibility.updateProperties(); } } private function configureAssets():void { var child:CustomAccessibleButton; for(var i:uint; i < menuLabels.length; i++) { child = new CustomAccessibleButton(); child.y = (numChildren * (BUTTON_HEIGHT + gutter)); child.setLabel(menuLabels[i]); child.setDescription(menuDescriptions[i]); addChild(child); } } } import flash.accessibility.AccessibilityProperties; import flash.display.Shape; import flash.display.SimpleButton; import flash.display.Sprite; import flash.events.Event; import flash.text.TextFormat; import flash.text.TextField; class CustomAccessibleButton extends Sprite { private var button:SimpleButton; private var label1:TextField; private var description:String; private var _name:String; public function CustomAccessibleButton(_width:uint = 0, _height:uint = 0) { _width = (_width == 0) ? AccessibilityPropertiesExample.BUTTON_WIDTH : _width; _height = (_height == 0) ? AccessibilityPropertiesExample.BUTTON_HEIGHT : _height; button = buildButton(_width, _height); label1 = buildLabel(_width, _height); addEventListener(Event.ADDED, addedHandler); } private function addedHandler(event:Event):void { trace("addedHandler: " + name); var accessProps:AccessibilityProperties = new AccessibilityProperties(); accessProps.name = this._name; accessProps.description = description; accessibilityProperties = accessProps; removeEventListener(Event.ADDED, addedHandler); } private function buildButton(_width:uint, _height:uint):SimpleButton { var child:SimpleButton = new CustomSimpleButton(_width, _height); addChild(child); return child; } private function buildLabel(_width:uint, _height:uint):TextField { var format:TextFormat = new TextFormat(); format.font = "Verdana"; format.size = 11; format.color = 0xFFFFFF; format.align = TextFormatAlign.CENTER; format.bold = true; var child:TextField = new TextField(); child.y = 1; child.width = _width; child.height = _height; child.selectable = false; child.defaultTextFormat = format; child.mouseEnabled = false; addChild(child); return child; } public function setLabel(text:String):void { label1.text = text; this._name = text; } public function setDescription(text:String):void { description = text; } } class CustomSimpleButton extends SimpleButton { private var upColor:uint = 0xFFCC00; private var overColor:uint = 0xCCFF00; private var downColor:uint = 0x00CCFF; public function CustomSimpleButton(_width:uint, _height:uint) { downState = new ButtonDisplayState(downColor, _width, _height); overState = new ButtonDisplayState(overColor, _width, _height); upState = new ButtonDisplayState(upColor, _width, _height); hitTestState = new ButtonDisplayState(upColor, _width, _height); useHandCursor = true; } } class ButtonDisplayState extends Shape { private var bgColor:uint; private var _width:uint; private var _height:uint; public function ButtonDisplayState(bgColor:uint, _width:uint, _height:uint) { this.bgColor = bgColor; this._width = _width; this._height = _height; draw(); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(0, 0, _width, _height); graphics.endFill(); } } }
Tue Jun 12 2018, 03:17 PM Z