Пакет | flash.accessibility |
Класс | public class AccessibilityProperties |
Наследование | AccessibilityProperties Object |
Подклассы | UIComponentAccImpl, UIComponentAccProps |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Можно прикрепить объект AccessibilityProperties к любому экранному объекту, но проигрыватель Flash Player будет читать объект AccessibilityProperties только для определенных объектов: SWF-файлы целиком (представленные классом DisplayObject.root
, объектами контейнера DisplayObjectContainer
и подклассами), кнопки (представленные SimpleButton
и подклассами) и текстовые поля (представленные TextField
и подклассами).
Свойство name
этих объектов является самым важным задаваемым свойством, потому что навигация с использованием средств расширенного доступа осуществляется по именам объектов. Не путайте свойство AccessibilityProperties.name
со свойством DisplayObject.name
— это разные не связанные свойства. Свойство AccessibilityProperties.name
является именем, читаемым вслух с помощью средств расширенного доступа, тогда как DisplayObject.name
является именем переменной, доступной только в коде ActionScript.
Во Flash Professional во время разработки свойства объектов AccessibilityProperties
подменяют соответствующие параметры, доступные на панели специальных возможностей.
Для определения, запущен ли проигрыватель Flash Player в окружении, поддерживающем средства расширенного доступа, используйте свойство Capabilities.hasAccessibility
. При модификации объекта AccessibilityProperties необходимо вызвать метод Accessibility.updateProperties()
, чтобы изменения вступили в силу.
Связанные элементы API
flash.display.DisplayObject.accessibilityProperties
flash.display.InteractiveObject.tabIndex
flash.system.Capabilities.hasAccessibility
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
description : String
Позволяет назначить экранному объекту описание в файле презентации с расширенным доступом. | AccessibilityProperties | ||
forceSimple : Boolean
При значении true предписывает проигрывателю Flash Player исключить дочерние объекты этого экранного объекта из файла презентации с расширенным доступом. | AccessibilityProperties | ||
name : String
Позволяет назначить экранному объекту имя в файле презентации с расширенным доступом. | AccessibilityProperties | ||
noAutoLabeling : Boolean
При значении, равном true, отключает систему автоматических подписей по умолчанию для проигрывателя Flash Player. | AccessibilityProperties | ||
shortcut : String
Указывает на сочетание клавиш, связанное с этим экранным объектом. | AccessibilityProperties | ||
silent : Boolean
При значении true исключает этот экранный объект из файла презентации с расширенным доступом. | AccessibilityProperties |
Метод | Определено | ||
---|---|---|---|
Создает новый объект AccessibilityProperties. | AccessibilityProperties | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object |
description | свойство |
public var description:String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Позволяет назначить экранному объекту описание в файле презентации с расширенным доступом. Если на текущий момент имеется достаточно информации об объекте, то целесообразней выбрать короткое имя и поместить большую часть содержания в свойство description
. Применяется к SWF-файлам целиком, контейнерам, кнопкам и тексту. Значение по умолчанию — пустая строка.
Во Flash Professional это свойство соответствует полю «Описание» на панели «Расширенный доступ».
forceSimple | свойство |
public var forceSimple:Boolean
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
При значении true
предписывает проигрывателю Flash Player исключить дочерние объекты этого экранного объекта из файла презентации с расширенным доступом. Значение по умолчанию равно false
. Применяется к SWF-файлам целиком и контейнерам.
name | свойство |
public var name:String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Позволяет назначить экранному объекту имя в файле презентации с расширенным доступом. Применяется к SWF-файлам целиком, контейнерам, кнопкам и тексту. Не путайте с не связанным свойством DisplayObject.name
. Значение по умолчанию — пустая строка.
Во Flash Professional это свойство соответствует полю «Имя» на панели «Расширенный доступ».
noAutoLabeling | свойство |
public var noAutoLabeling:Boolean
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
При значении true
отключает систему автоматических подписей по умолчанию для проигрывателя Flash Player. Автоматические подписи могут вызвать обработку текстовых объектов внутри кнопок как имен кнопок и обработку текстовых объектов около текстового поля как имен текстового поля. Значение по умолчанию равно false
. Применяется только к SWF-файлам целиком.
Значение свойства noAutoLabeling
игнорируется, пока оно не будет определено перед первой проверкой SWF-файла средством обеспечения расширенного доступа. Если планируется установить для свойства noAutoLabeling
значение true
, необходимо сделать это в коде как можно раньше.
shortcut | свойство |
public var shortcut:String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Указывает на сочетание клавиш, связанное с этим экранным объектом. Задайте данную строку только для элементов управления пользовательского интерфейса, которые ассоциированы с сочетанием клавиш. Применяется к контейнерам, кнопкам и тексту. Значение по умолчанию — пустая строка.
Примечание. Установка данного свойства не привязывает автоматически комбинации клавиш к данному объекту, необходимо это делать самостоятельно, например путем прослушивания события KeyboardEvent
.
Синтаксис для данной строки использует длинные имена для управляющих клавиш и знак плюс (+), указывая на комбинацию клавиш. Примеры допустимых строк: Ctrl+F, Ctrl+Shift+Z и так далее.
silent | свойство |
public var silent:Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
При значении true
исключает этот экранный объект из файла презентации с расширенным доступом. Значение по умолчанию равно false
. Применяется к SWF-файлам целиком, контейнерам, кнопкам и тексту.
AccessibilityProperties | () | Конструктор |
public function AccessibilityProperties()
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9 |
Создает новый объект AccessibilityProperties.
AccessibilityExample
, CustomAccessibleButton
, CustomSimpleButton
и ButtonDisplayState
для создания меню, соответствующего требованиям доступности веб-контента и совместимого с основными программами экранного доступа. Основные функции класса AccessibilityProperties
таковы:
- Вызовите
configureAssets
, в результате чего будет создана специальная кнопка, а для нее будут заданы ярлык и описание. Это значения, которые программа экранного доступа отображает для конечного пользователя. - Вызовите функцию
setTimeOut()
, чтобы дать проигрывателю Flash Player достаточно времени для обнаружения программы экранного доступа, прежде чем будут обновлены свойства.
Примечание. Вызовите 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 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, 11:34 AM Z