套件 | 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/accessibility/。
詳細資訊
相關 API 元素
屬性 | 定義自 | ||
---|---|---|---|
active : Boolean [靜態] [唯讀]
指出螢幕朗讀程式目前是否為作用中,且應用程式正在與其進行通訊。 | Accessibility | ||
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | Object |
方法 | 定義自 | ||
---|---|---|---|
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
[靜態]
告知 Flash Player 套用任何使用 DisplayObject.accessibilityProperties 屬性所做的輔助功能變更。 | 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 |
告知 Flash Player 套用任何使用 DisplayObject.accessibilityProperties
屬性所做的輔助功能變更。 您必須呼叫此方法,才能使變更生效。
如果您修改了多個物件的輔助功能屬性,只需要呼叫 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 有兩秒鐘能用來連接至可用的螢幕朗讀程式。 * 如果您沒有提供足夠的延遲時間,則 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:47 PM Z