Пакет | flash.accessibility |
Класс | public final class Accessibility |
Наследование | Accessibility ![]() |
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Чтобы получить или установить свойства расширенного доступа для определенного объекта, такого как кнопка, видеоролик или текстовое поле, используйте свойство DisplayObject.accessibilityProperties
. Для определения, запущен ли проигрыватель Flash Player в окружении, поддерживающем средства расширенного доступа, используйте свойство Capabilities.hasAccessibility
.
См. также
Свойство | Определено | ||
---|---|---|---|
active : Boolean [статические] [только для чтения]
Показывает, активно ли средство чтения с экрана в данный момент и поддерживает ли проигрыватель связь с ним. | Accessibility | ||
![]() | constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | |
![]() | prototype : 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 |
Показывает, активно ли средство чтения с экрана в данный момент и поддерживает ли проигрыватель связь с ним. Используйте данный метод, если в присутствии средства чтения с экрана требуется другое поведение приложения.
Примечание. Если вызвать данный метод в течение 1 или 2 секунд после первого отображения окна приложения Flash®, в котором воспроизводится документ, то можно получить значение false
, даже если запущен клиент расширенного доступа. Это происходит из-за асинхронного механизма связи между Flash и клиентами расширенного доступа. Можно обойти данное ограничение, обеспечивая задержку в 1 или 2 секунды перед вызовом метода после загрузки документа.
Capabilities.hasAccessibility
.
public static function get active():Boolean
См. также
updateProperties | () | метод |
public static function updateProperties():void
Язык версии : | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Предписывает проигрывателю Flash Player применять любые изменения расширенного доступа, внесенные с помощью свойства DisplayObject.accessibilityProperties
. Необходимо вызвать данный метод, чтобы изменения вступили в силу.
Если выполняется модификация свойств расширенного доступа для нескольких объектов, то необходим только один вызов метода Accessibility.updateProperties()
, так как несколько вызовов может привести к уменьшению производительности и некорректной работе средства чтения с экрана.
IllegalOperationError — Обеспечение расширенного доступа не поддерживаются в этой версии проигрывателя Flash Player. Не вызывайте метод Accessibility.updateProperties() , если для свойства flash.system.Capabilities.hasAccessibility установлено значение false .
|
См. также
AccessibilityExample
, CustomAccessibleButton
, CustomSimpleButton
и ButtonDisplayState
для создания меню, совместимого с обеспечением расширенного доступа. Это меню работает с большинством средств чтения с экрана. Этот код выполняет следующие задачи.
Accessibility.active
для определения, активно ли средство чтения с экрана и взаимодействует ли с ним проигрыватель.active
возвращает значение true
, то данный пример вызывает метод updateProperties()
для применения выполненных изменений свойств расширенного доступа для кнопок примера.flash.utils.setTimeout()
, указывая, что метод закрытия updateAccessibility()
должен вызываться через 2 секунды. Примечание. Вызывайте метод setTimeout()
перед проверкой свойства Accessibility.active
, чтобы дать проигрывателю Flash Player 2 секунды, необходимые для подключения к средству чтения с экрана (если такое имеется). Если не обеспечить достаточную задержку времени, то вызов метода setTimeout
может вернуть значение false
, даже если имеется средство чтения с экрана.
Следующий пример выполняет метод Accessibility.updateProperties()
, только если вызов свойства Accessibility.active
возвращает значение true
. Это случается, только если проигрыватель 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(); } }