Pacchetto | flash.accessibility |
Classe | public class AccessibilityProperties |
Ereditarietà | AccessibilityProperties Object |
Sottoclassi | UIComponentAccImpl, UIComponentAccProps |
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Potete associare un oggetto AccessibilityProperties a qualsiasi oggetto di visualizzazione, ma Flash Player leggerà l'oggetto AccessibilityProperties solo per alcuni tipi di oggetti: SWF interi (rappresentati da DisplayObject.root
), oggetti contenitori ( DisplayObjectContainer
e sottoclassi), pulsanti (SimpleButton
e sottoclassi) e testo (TextField
e sottoclassi).
La proprietà name
di questi oggetti è la più importante, perché gli strumenti di accessibilità forniscono agli utenti i nomi degli oggetti come mezzo di base per la navigazione. Non confondete AccessibilityProperties.name
con DisplayObject.name
; sono separate e non hanno alcuna relazione. La proprietà AccessibilityProperties.name
è un nome che viene letto dagli strumenti di accessibilità, mentre DisplayObject.name
è essenzialmente un nome di variabile, visibile solo nel codice ActionScript.
In Flash Professional, le proprietà degli oggetti AccessibilityProperties
hanno la priorità sulle impostazioni corrispondenti disponibili nel pannello Accessibilità in fase di creazione.
Per determinare se Flash Player viene eseguito in un ambiente che supporta gli strumenti di accessibilità, utilizzate la proprietà Capabilities.hasAccessibility
. Se modificate oggetti AccessibilityProperties, dovete chiamare il metodo Accessibility.updateProperties()
affinché le modifiche diventino attive.
Elementi API correlati
flash.display.DisplayObject.accessibilityProperties
flash.display.InteractiveObject.tabIndex
flash.system.Capabilities.hasAccessibility
Proprietà | Definito da | ||
---|---|---|---|
constructor : Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto. | Object | ||
description : String
Fornisce una descrizione per questo oggetto di visualizzazione nella presentazione accessibile. | AccessibilityProperties | ||
forceSimple : Boolean
Se è true, Flash Player esclude gli oggetti secondari di questo oggetto di visualizzazione dalla presentazione accessibile. | AccessibilityProperties | ||
name : String
Fornisce un nome per questo oggetto di visualizzazione nella presentazione accessibile. | AccessibilityProperties | ||
noAutoLabeling : Boolean
Se è true, disabilita il sistema di etichettatura automatica predefinito di Flash Player. | AccessibilityProperties | ||
shortcut : String
Indica la scelta rapida da tastiera associata a questo oggetto di visualizzazione. | AccessibilityProperties | ||
silent : Boolean
Se è true, esclude questo oggetto di visualizzazione dalla presentazione accessibile. | AccessibilityProperties |
Metodo | Definito da | ||
---|---|---|---|
Crea un nuovo oggetto AccessibilityProperties. | AccessibilityProperties | ||
Indica se per un oggetto è definita una proprietà specifica. | Object | ||
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro. | Object | ||
Indica se la proprietà specificata esiste ed è enumerabile. | Object | ||
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche. | Object | ||
Restituisce la rappresentazione in formato stringa di questo oggetto, formattato in base alle convenzioni specifiche per le versioni localizzate. | Object | ||
Restituisce la rappresentazione in formato stringa dell'oggetto specificato. | Object | ||
Restituisce il valore di base dell'oggetto specificato. | Object |
description | proprietà |
public var description:String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Fornisce una descrizione per questo oggetto di visualizzazione nella presentazione accessibile. Se sono presenti molte informazioni da presentare sull'oggetto, è meglio scegliere un nome conciso e inserire la maggior parte del contenuto nella proprietà description
. Si applica a file SWF interi, contenitori, pulsanti e testo. Il valore predefinito è una stringa vuota.
In Flash Professional, questa proprietà corrisponde al campo Descrizione nel pannello Accessibilità.
forceSimple | proprietà |
public var forceSimple:Boolean
Versioni runtime: | AIR 1.0, Flash Player 9 |
Se è true
, Flash Player esclude gli oggetti secondari di questo oggetto di visualizzazione dalla presentazione accessibile. Il valore predefinito è false
. Si applica a contenitori e file SWF interi.
name | proprietà |
public var name:String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Fornisce un nome per questo oggetto di visualizzazione nella presentazione accessibile. Si applica a file SWF interi, contenitori, pulsanti e testo. Non deve essere confusa con DisplayObject.name
, con cui non ha alcuna relazione. Il valore predefinito è una stringa vuota.
In Flash Professional, questa proprietà corrisponde al campo Name nel pannello Accessibilità.
noAutoLabeling | proprietà |
public var noAutoLabeling:Boolean
Versioni runtime: | AIR 1.0, Flash Player 9 |
Se true
, disabilita il sistema di etichettatura automatica predefinito di Flash Player. Mediante la funzione Etichetta automatica, gli oggetti di testo all'interno dei pulsanti vengono considerati come nomi di pulsante e gli oggetti di testo accanto ai campi di testo vengono considerati come nomi di campi di testo. Il valore predefinito è false
. Si applica solo a interi file SWF.
Il valore della proprietà noAutoLabeling
viene ignorato a meno che non sia specificato prima che uno strumento di supporto all'accessibilità esamini per la prima volta il file SWF. Se intendete impostare noAutoLabeling
su true
, dovete farlo il prima possibile nel codice.
shortcut | proprietà |
public var shortcut:String
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Indica la scelta rapida da tastiera associata a questo oggetto di visualizzazione. Specificate questa stringa solo per i controlli UI associati a un tasto di scelta rapida. Si applica a contenitori, pulsanti e testo. Il valore predefinito è una stringa vuota.
Nota: l'assegnazione di questa proprietà non assegna automaticamente all'oggetto la combinazione di tasti specificata; dovete assegnarla manualmente, ad esempio intercettando un evento KeyboardEvent
.
La sintassi di questa stringa utilizza nomi lunghi per i tasti di modifica e il carattere più (+) per indicare la combinazione di tasti. Esempi di stringhe valide sono "Ctrl+F", "Ctrl+Maiusc+Z" e così via.
silent | proprietà |
public var silent:Boolean
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Se true
, esclude questo oggetto di visualizzazione dalla presentazione accessibile. Il valore predefinito è false
. Si applica a file SWF interi, contenitori, pulsanti e testo.
AccessibilityProperties | () | Funzione di costruzione |
public function AccessibilityProperties()
Versione linguaggio: | ActionScript 3.0 |
Versioni runtime: | AIR 1.0, Flash Player 9 |
Crea un nuovo oggetto AccessibilityProperties.
AccessibilityExample
, CustomAccessibleButton
, CustomSimpleButton
e ButtonDisplayState
per creare un menu conforme all'accessibilità che funzioni con gli screen reader più comuni. La funzionalità principale della classe AccessibilityProperties
è la seguente:
- Chiamate
configureAssets
, che crea un pulsante personalizzato e ne imposta l'etichetta e la descrizione. Questi sono i valori che lo screen reader comunica all'utente finale. - Chiamate
setTimeOut()
per garantire che Flash Player abbia tempo a sufficienza per rilevare lo screen reader prima di aggiornare le proprietà.
Nota: chiamate setTimeout()
prima di verificate Accessibility.active
. per lasciare a Flash Player i 2 secondi necessari per connettersi a uno screen reader, se disponibile. Se non specificate un ritardo sufficiente, la chiamata a setTimeout
potrebbe restituire false
anche se è disponibile uno screen reader.
L'esempio seguente elabora il metodo Accessibility.updateProperties()
solo se la chiamata a Accessibility.active
restituisce true
, il che accade solo se Flash Player è attualmente connesso a uno screen reader attivo. Se updateProperties
viene chiamato senza uno screen reader attivo, viene generata un'eccezione 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:44 PM Z