Paquete | flash.accessibility |
Clase | public class AccessibilityProperties |
Herencia | AccessibilityProperties Object |
Subclases | UIComponentAccImpl, UIComponentAccProps |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Puede asociar un objeto AccessibilityProperties a cualquier objeto de visualización, pero Flash Player leerá el objeto AccessibilityProperties sólo para determinados tipos de objetos: archivos SWF completos (tal como se representan con DisplayObject.root
), objetos contenedores (DisplayObjectContainer
y subclases), botones (SimpleButton
y subclases) y texto (TextField
y subclases).
La propiedad name
de estos objetos es la que debe especificarse con mayor motivo, ya que los elementos de accesibilidad proporcionan a los usuarios los nombres de los objetos como medio básico de navegación. No debe confundir AccessibilityProperties.name
con DisplayObject.name
; son independientes y no tienen relación entre sí. La propiedad AccessibilityProperties.name
es un nombre que los elementos de accesibilidad leen en voz alta, mientras que DisplayObject.name
es, básicamente, un nombre de variable visible únicamente para el código ActionScript.
En Flash Professional, las propiedades de los objetos AccessibilityProperties
anulan la configuración correspondiente disponible en el panel Accesibilidad durante la edición.
Para determinar si Flash Player se está ejecutando en un entorno que admite elementos de accesibilidad, utilice la propiedad Capabilities.hasAccessibility
. Si modifica objetos AccessibilityProperties, debe llamar al método Accessibility.updateProperties()
para que los cambios surtan efecto.
Elementos de API relacionados
flash.display.DisplayObject.accessibilityProperties
flash.display.InteractiveObject.tabIndex
flash.system.Capabilities.hasAccessibility
Propiedad | Definido por | ||
---|---|---|---|
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
description : String
Proporciona una descripción para este objeto de visualización en la presentación accesible. | AccessibilityProperties | ||
forceSimple : Boolean
Si es true, Flash Player excluirá los objetos secundarios del objeto de visualización de la presentación accesible. | AccessibilityProperties | ||
name : String
Proporciona un nombre para este objeto de visualización en la presentación accesible. | AccessibilityProperties | ||
noAutoLabeling : Boolean
Si es true, desactiva el sistema de etiquetado automático predeterminado de Flash Player. | AccessibilityProperties | ||
shortcut : String
Indica un método abreviado de teclado asociado a este objeto de visualización. | AccessibilityProperties | ||
silent : Boolean
Si es true, excluye el objeto de visualización de la presentación accesible. | AccessibilityProperties |
Método | Definido por | ||
---|---|---|---|
Crea un nuevo objeto AccessibilityProperties. | AccessibilityProperties | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object |
description | propiedad |
public var description:String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Proporciona una descripción para este objeto de visualización en la presentación accesible. Si dispone de mucha información para presentar sobre el objeto, lo mejor es elegir un nombre conciso y situar la mayor parte del contenido en la propiedad description
. Se aplica a archivos SWF completos, contenedores, botones y texto. El valor predeterminado es una cadena vacía.
En Flash Professional, esta propiedad corresponde al campo Descripción del panel Accesibilidad.
forceSimple | propiedad |
public var forceSimple:Boolean
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Si es true
, Flash Player excluirá los objetos secundarios del objeto de visualización de la presentación accesible. El valor predeterminado es false
. Se aplica a archivos SWF completos y contenedores.
name | propiedad |
public var name:String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Proporciona un nombre para este objeto de visualización en la presentación accesible. Se aplica a archivos SWF completos, contenedores, botones y texto. No debe confundirse con DisplayObject.name
: no tiene ninguna relación. El valor predeterminado es una cadena vacía.
En Flash Professional, esta propiedad corresponde al campo Nombre del panel Accesibilidad.
noAutoLabeling | propiedad |
public var noAutoLabeling:Boolean
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Si es true
, desactiva el sistema de etiquetado automático predeterminado de Flash Player. Con el etiquetado automático, los objetos de texto de los botones se tratan como nombres de botones y los objetos de texto cercanos a los campos de texto como nombres de campos. El valor predeterminado es false
. Se aplica únicamente a archivos SWF completos.
Se omite la propiedad noAutoLabeling
a menos que se especifique antes de que una ayuda de accesibilidad examine por primera vez su archivo SWF. Si desea establecer noAutoLabeling
en true
, debería hacerlo lo antes posible en el código.
shortcut | propiedad |
public var shortcut:String
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Indica un método abreviado de teclado asociado a este objeto de visualización. Proporcione esta cadena únicamente para controles de la interfaz de usuario que haya asociado a una tecla de método abreviado. Se aplica a contenedores, botones y texto. El valor predeterminado es una cadena vacía.
Nota: al asignar esta propiedad, la combinación de teclas especificada no se asigna automáticamente al objeto; debe hacerlo usted mismo, por ejemplo, detectando un evento KeyboardEvent
.
La sintaxis de esta cadena utiliza nombres largos para teclas modificadoras y el signo (+) para indicar la combinación de teclas. Algunos ejemplos de cadenas válidas son "Ctrl+F", "Ctrl+Mayús+Z", etc.
silent | propiedad |
public var silent:Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Si es true
, excluye el objeto de visualización de la presentación accesible. El valor predeterminado es false
. Se aplica a archivos SWF completos, contenedores, botones y texto.
AccessibilityProperties | () | Información sobre |
public function AccessibilityProperties()
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Crea un nuevo objeto AccessibilityProperties.
AccessibilityExample
, CustomAccessibleButton
, CustomSimpleButton
y ButtonDisplayState
para crear un menú compatible con la accesibilidad que funcione con los lectores de pantalla más comunes. La principal funcionalidad de la clase AccessibilityProperties
se manifiesta del siguiente modo:
- Con la llamada a
configureAssets
, se crea un botón personalizado y se establece su etiqueta y descripción. Se trata de valores que el lector de pantalla transmite al usuario final. - Con la llamada a
setTimeOut()
, se garantiza que Flash Player dispondrá de tiempo suficiente para detectar el lector de pantalla antes de actualizar las propiedades.
Nota: llame a setTimeout()
antes de comprobar Accessibility.active
para que Flash Player cuente con los 2 segundos que necesita para conectarse a un lector de pantalla, si hay alguno disponible. Si no se dispone de tiempo de retardo suficiente, la llamada a setTimeout
puede devolver false
, aunque haya un lector disponible.
En el ejemplo siguiente, se procesa el método Accessibility.updateProperties()
sólo si la llamada a Accessibility.active
devuelve true
, lo cual sucede únicamente si Flash Player se encuentra conectado a un lector de pantalla activo. Si se llama a updateProperties
sin un lector de pantalla activo, se emitirá una excepción 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, 02:12 PM Z