Пакет | flash.accessibility |
Класс | public final class Accessibility |
Наследование | Accessibility Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Поддержка в мобильных браузерах: этот класс не поддерживается в мобильных браузерах.
Поддержка в профилях AIR: эта функция поддерживается во всех компьютерных операционных системах, но не поддерживается на мобильных устройствах или в средах AIR для телевизионных устройств. Дополнительные сведения о поддержке 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
на протяжении всего сеанса работы приложения. (Обычно когда пользователи включают программу чтения с экрана, то потом не выключают ее.)
Примечание. Прежде чем вызывать этот метод, подождите 1 или 2 секунды после запуска приложения AIR или после первого открытия окна Flash® Player, в котором отображается документ. В противном случае может быть возвращено значение 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. Не вызывайте метод Accessibility.updateProperties() , если свойство flash.system.Capabilities.hasAccessibility равно false .
|
Связанные элементы API
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(); } }
Tue Jun 12 2018, 11:34 AM Z