패키지 | flash.accessibility |
클래스 | public final class Accessibility |
상속 | Accessibility Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
모바일 브라우저 지원: 이 클래스는 모바일 브라우저에서 지원되지 않습니다.
AIR 프로파일 지원: 이 기능은 모든 데스크톱 운영 체제에서 지원되지만 휴대 장치나 AIR for TV 장치에서는 지원되지 않습니다. 여러 프로파일 간 API 지원에 대한 자세한 내용은 AIR 프로파일 지원을 참조하십시오.
버튼, 동영상 클립 또는 텍스트 필드와 같은 특정 객체에 대하여 액세스 가능한 속성을 가져오거나 설정하려면 DisplayObject.accessibilityProperties
속성을 사용합니다. 플레이어 또는 런타임이 액세스 가능성 도구를 지원하는 환경에서 실행되고 있는지 확인하려면 Capabilities.hasAccessibility
속성을 사용합니다.
참고: AIR 2는 JAWS 11 이상의 화면 판독기 소프트웨어를 지원합니다. 자세한 내용은 http://www.adobe.com/kr/accessibility/를 참조하십시오.
추가 정보
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
active : Boolean [정적] [읽기 전용]
화면 판독기가 활성 상태이며 응용 프로그램과 통신 중인지 여부를 나타냅니다. | Accessibility | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object |
메서드 | 정의 주체 | ||
---|---|---|---|
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
[정적]
DisplayObject.accessibilityProperties 속성을 사용하여 변경한 액세스 가능성을 적용하도록 Flash Player에 지시합니다. | Accessibility | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
active | 속성 |
active:Boolean
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
화면 판독기가 활성 상태이며 응용 프로그램과 통신 중인지 여부를 나타냅니다. 화면 판독기가 있는 경우 응용 프로그램이 다르게 동작하도록 하려면 이 메서드를 사용합니다.
이 속성을 true
로 설정하면 응용 프로그램 지속 기간 동안 true
로 유지됩니다. 즉, 대부분의 사용자는 화면 판독기를 일단 시작하면 끄지 않고 그대로 유지한다고 가정합니다.
참고: 이 메서드를 호출하기 전에, AIR 응용 프로그램을 시작한 후 또는 문서가 재생되고 있는 Flash® Player 윈도우가 처음 표시된 후 1-2초 정도 기다려야 합니다. 그렇지 않으면 액세스 가능성이 활성화된 클라이언트가 있더라도 false
값이 반환될 수 있습니다. 이 문제는 액세스 가능성 클라이언트와 Flash Player 또는 AIR 사이의 통신 메커니즘이 동기화되지 않아 발생합니다.
Capabilities.hasAccessibility
속성을 사용합니다.
구현
public static function get active():Boolean
관련 API 요소
updateProperties | () | 메서드 |
public static function updateProperties():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
DisplayObject.accessibilityProperties
속성을 사용하여 실행된 액세스 가능성의 변경 사항을 적용하도록 Flash Player에 지시합니다. 변경 사항이 적용되도록 하려면 이 메서드를 호출해야 합니다.
여러 객체의 액세스 가능성 속성을 수정하는 경우, Accessibility.updateProperties()
메서드를 한 번만 호출하면 됩니다. 여러 번 호출하면 성능이 떨어지며 화면 판독기가 올바로 작동하지 않을 수도 있습니다.
오류
IllegalOperationError — 이 Flash Player 버전에서는 액세스 가능성이 지원되지 않습니다. flash.system.Capabilities.hasAccessibility 속성이 false 이면 Accessibility.updateProperties() 메서드를 호출하지 마십시오.
|
관련 API 요소
AccessibilityExample
, CustomAccessibleButton
, CustomSimpleButton
및 ButtonDisplayState
샘플 클래스를 사용하여 대부분의 화면 판독기에서 작동하는 액세스 가능성 호환 메뉴를 만듭니다. 이는 다음 단계로 이루어집니다.
- 화면 판독기가 현재 활성화되어 있고 플레이어와 통신하고 있는지 확인하기 위해
Accessibility.active
속성을 추적합니다. active
속성에서true
가 반환되면updateProperties()
메서드를 호출하여 예제 내의 버튼에 액세스 가능성 변경 사항을 적용합니다.- 그 다음
flash.utils.setTimeout()
메서드를 호출하여updateAccessibility()
클로저 메서드를 2초 후에 호출하도록 지정합니다.
참고: 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 AccessibilityExample 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 AccessibilityExample() { 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 label:TextField; private var description:String; private var _name:String; public function CustomAccessibleButton(_width:uint = 0, _height:uint = 0) { _width = (_width == 0) ? AccessibilityExample.BUTTON_WIDTH : _width; _height = (_height == 0) ? AccessibilityExample.BUTTON_HEIGHT : _height; button = buildButton(_width, _height); label = buildLabel(_width, _height); addEventListener(Event.ADDED, addedHandler); } private function addedHandler(event:Event):void { trace("addedHandler: " + this._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 { label.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