Pakiet | flash.accessibility |
Klasa | public class AccessibilityProperties |
Dziedziczenie | AccessibilityProperties Object |
Podklasy | UIComponentAccImpl, UIComponentAccProps |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Projekt AccessibilityProperties można dołączyć do dowolnego obiektu wyświetlanego, ale program Flash Player będzie odczytywał obiekt AccessibilityProperties tylko dla określonych rodzajów obiektów: całych plików SWF (reprezentowanych przez obiekt DisplayObject.root
), kontenerów (klasy DisplayObjectContainer
i jej podklas), przycisków (klasy SimpleButton
i jej podklas) oraz tekstów (klasy TextField
i jej podklas).
Najważniejsze jest prawidłowe określenie właściwości name
tych obiektów, ponieważ ułatwienia dostępu podają użytkownikowi nazwy obiektów, aby pomóc mu w nawigacji. Nie należy mylić właściwości AccessibilityProperties.name
z właściwością DisplayObject.name
; są to odrębne, niezwiązane ze sobą właściwości. Właściwość AccessibilityProperties.name
to nazwa odczytywana na głos przez ułatwienia dostępu, natomiast DisplayObject.name
to nazwa zmiennej widoczna tylko w kodzie ActionScript.
W programie Flash Professional właściwości obiektów AccessibilityProperties
przesłaniają odpowiednie ustawienia dostępne w panelu Ułatwienia dostępu podczas tworzenia treści.
Aby sprawdzić, czy program Flash Player działa w środowisku obsługującym ułatwienia dostępu, należy skorzystać z właściwości Capabilities.hasAccessibility
. Po zmodyfikowaniu obiektów AccessibilityProperties należy wywołać metodę Accessibility.updateProperties()
, aby zmiany odniosły skutek.
Powiązane elementy interfejsu API
flash.display.DisplayObject.accessibilityProperties
flash.display.InteractiveObject.tabIndex
flash.system.Capabilities.hasAccessibility
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
description : String
Zawiera opis obiektu wyświetlanego w prezentacji. | AccessibilityProperties | ||
forceSimple : Boolean
Wartość true powoduje, że program Flash Player wyklucza obiekty potomne w tym obiekcie wyświetlanym z prezentacji z ułatwieniami dostępu. | AccessibilityProperties | ||
name : String
Zawiera nazwę obiektu wyświetlanego w prezentacji. | AccessibilityProperties | ||
noAutoLabeling : Boolean
W przypadku wartości prawda jest wyłączany domyślny system automatycznego etykietowania programu Flash Player. | AccessibilityProperties | ||
shortcut : String
Wskazuje skrót klawiaturowy skojarzony z wyświetlanym obiektem. | AccessibilityProperties | ||
silent : Boolean
Jeśli ma wartość prawda, wyklucza wyświetlany obiekt z dostępnej prezentacji. | AccessibilityProperties |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Tworzy nowy obiekt AccessibilityProperties. | AccessibilityProperties | ||
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość. | Object | ||
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr. | Object | ||
Wskazuje, czy określona właściwość istnieje i jest przeliczalna. | Object | ||
Ustawia dostępność właściwości dynamicznej używanej w pętlach. | Object | ||
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych. | Object | ||
Zwraca ciąg reprezentujący określony obiekt. | Object | ||
Zwraca pierwotną wartość dla określonego obiektu. | Object |
description | właściwość |
public var description:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Zawiera opis obiektu wyświetlanego w prezentacji. Jeśli mamy dużo informacji o obiekcie do przekazania, najlepszym wyjściem będzie wybranie krótkiej nazwy i umieszczenie większości treści we właściwości description
. Ma zastosowanie do całych plików SWF, kontenerów, przycisków i tekstu. Domyślną wartością jest pusty ciąg.
W programie Flash Professional ta właściwość jest odpowiednikiem pola Opis w panelu Ułatwienia dostępu.
forceSimple | właściwość |
public var forceSimple:Boolean
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Wartość true
powoduje, że program Flash Player wyklucza obiekty potomne w tym obiekcie wyświetlanym z prezentacji z ułatwieniami dostępu. Wartość domyślna to false
. Ma zastosowanie do całych plików SWF i kontenerów.
name | właściwość |
public var name:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Zawiera nazwę obiektu wyświetlanego w prezentacji. Ma zastosowanie do całych plików SWF, kontenerów, przycisków i tekstu. Nie należy mylić tej właściwości z właściwością DisplayObject.name
, która nie ma z nią żadnego związku. Domyślną wartością jest pusty ciąg.
W programie Flash Professional ta właściwość jest odpowiednikiem pola Nazwa w panelu Ułatwienia dostępu.
noAutoLabeling | właściwość |
public var noAutoLabeling:Boolean
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
W przypadku wartości true
jest wyłączany domyślny system automatycznego etykietowania programu Flash Player. Automatyczne etykietowanie powoduje, że obiekty tekstowe w przyciskach są traktowane jak nazwy przycisków, a obiekty tekstowe w pobliżu pól tekstowych są traktowane jak nazwy pól tekstowych. Wartość domyślna to false
. Ma zastosowanie tylko do całych plików SWF.
Wartość właściwości noAutoLabeling
jest ignorowana, o ile nie zostanie określona przed pierwszym przeanalizowaniem pliku SWF przez ułatwienia dostępu. Jeśli planowane jest ustawienie właściwości noAutoLabeling
na true
, należy zrobić to jak najwcześniej.
shortcut | właściwość |
public var shortcut:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Wskazuje skrót klawiaturowy skojarzony z wyświetlanym obiektem. Ten ciąg znaków należy przekazywać wyłącznie dla elementów sterujących, z którym skojarzony jest klawisz skrótu. Ma zastosowanie do kontenerów, przycisków i tekstu. Domyślną wartością jest pusty ciąg.
Uwaga: Przypisanie tej właściwości nie powoduje automatycznego przypisania określonej kombinacji klawiszy do obiektu; należy dokonać tego przypisania samodzielnie, np. wykrywając zdarzenie KeyboardEvent
.
W składni tego ciągu używane są długie nazwy klawiszy modyfikujących i znak plusa (+) oznaczający kombinację klawiszy. Przykładami poprawnych ciągów są "Ctrl+F", "Ctrl+Shift+Z" itd.
silent | właściwość |
public var silent:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Wartość true
powoduje wykluczenie tego obiektu wyświetlanego z prezentacji z ułatwieniami dostępu. Wartość domyślna to false
. Ma zastosowanie do całych plików SWF, kontenerów, przycisków i tekstu.
AccessibilityProperties | () | Konstruktor |
public function AccessibilityProperties()
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9 |
Tworzy nowy obiekt AccessibilityProperties.
AccessibilityExample
, CustomAccessibleButton
, CustomSimpleButton
i ButtonDisplayState
do stworzenia menu zgodnego z ułatwieniami dostępu. Takie menu będzie działać z większością popularnych czytników ekranu. Poniżej opisano sposób wykorzystania podstawowej funkcjonalności klasy AccessibilityProperties
:
- Wywołujemy metodę
configureAssets
, która tworzy przycisk niestandardowy, ustawia jego etykietę i opis. Są to wartości, które czytnik ekranu przekaże użytkownikowi. - Wywołujemy metodę
setTimeOut()
, aby program Flash Player miał wystarczającą ilość czasu na wykrycie czytnika ekranu przed zaktualizowaniem właściwości.
Uwaga: Wywołanie setTimeout()
powinno nastąpić przed sprawdzeniem właściwości Accessibility.active
, aby zapewnić programowi Flash Player 2 sekundy potrzebne na połączenie się z czytnikiem ekranu, jeśli jest dostępny. Jeśli nie zostawimy wystarczającego opóźnienia, wywołanie metody setTimeout
może zwrócić wartość false
mimo że czytnik ekranu będzie dostępny.
W poniższym przykładzie metoda Accessibility.updateProperties()
jest wykonywana pod warunkiem, że wywołanie metody Accessibility.active
zwróci wartośc true
, co ma miejsce, jeśli program Flash Player jest obecnie połączony z aktywnym czytnikiem ekranu. Wywołanie metody updateProperties
w sytuacji, gdy nie ma aktywnego czytnika ekranu, generowany jest wyjątek 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, 12:06 PM Z