Packageflash.accessibility
Classepublic final class Accessibility
HéritageAccessibility Inheritance Object

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

La classe Accessibility gère les communications avec les logiciels de lecture d'écran. Les logiciels de lecture d'écran offrent une technologie d'assistance conçue spécialement pour les utilisateurs malvoyants : ils fournissent une version sonore du contenu de l'écran. Les méthodes de la classe Accessibility sont statiques : ainsi, vous n'avez pas besoin de créer d'occurrence de la classe pour utiliser ses méthodes.

Pour récupérer et définir les propriétés disponibles pour un certain objet, tel qu'un bouton, un clip ou un champ de texte, utilisez la propriété DisplayObject.accessibilityProperties. Pour savoir si Flash Player s'exécute dans un environnement qui prend en charge les fonctions d'accessibilité, utilisez la propriété Capabilities.hasAccessibility.

Consulter les exemples

Voir aussi

flash.display.DisplayObject.accessibilityProperties
flash.system.Capabilities.hasAccessibility
Socket


Propriétés publiques
 PropriétéDéfini par
  active : Boolean
[statique] [lecture seule] Indique si un lecteur d'écran est actuellement actif et si Flash Player communique avec lui.
Accessibility
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
 Inheritedprototype : Object
[statique] Référence à l'objet prototype d'un objet de classe ou fonction.
Object
Méthodes publiques
 MéthodeDéfini par
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
Object
  
[statique] Indique à Flash Player d'appliquer toute modification de l'accessibilité effectuée à l'aide de la propriété DisplayObject.accessibilityProperties.
Accessibility
 Inherited
Renvoie la valeur primitive de l'objet spécifié.
Object
Détails de la propriété
activepropriété
active:Boolean  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Indique si un lecteur d'écran est actuellement actif et si Flash Player communique avec lui. Utilisez cette méthode lorsque vous souhaitez que votre application se comporte différemment en présence d'un lecteur d'écran.

Remarque : si vous appelez cette méthode 1 à 2 secondes après la première apparition de la fenêtre Flash® qui affiche votre document, vous devez obtenir la valeur false même en présence d'un client dans lequel l'accessibilité est activée. Ce comportement est dû à un mécanisme de communication asynchrone entre Flash et les clients équipés de l'accessibilité. Vous pouvez contourner cette restriction en respectant un délai de une à deux secondes, après avoir chargé votre document, avant d'appeler cette méthode.

Pour savoir si Flash Player s'exécute dans un environnement qui prend en charge les lecteurs d'écran, utilisez la propriété Capabilities.hasAccessibility.



Implémentation
    public static function get active():Boolean

Voir aussi

Détails de la méthode
updateProperties()méthode
public static function updateProperties():void

Version du langage: ActionScript 3.0
Versions du moteur d'exécution: AIR 1.0 Flash Player 9

Indique à Flash Player d'appliquer toute modification de l'accessibilité effectuée à l'aide de la propriété DisplayObject.accessibilityProperties. Vous devez appeler cette méthode pour que vos modifications soient activées.

Si vous modifiez les propriétés d'accessibilité de plusieurs objets, un seul appel de la méthode Accessibility.updateProperties() est nécessaire ; plusieurs appels risquent de réduire les performances et de provoquer des erreurs dans le logiciel de lecture d'écran.


Valeur émise
IllegalOperationError — L'accessibilité n'est pas prise en charge par cette version de Flash Player. N'appelez pas la méthode Accessibility.updateProperties() si la valeur de la propriété flash.system.Capabilities.hasAccessibility est false.

Voir aussi

Exemples Utilisation des exemples
AccessibilityExample.as

L'exemple suivant utilise les classes AccessibilityExample, CustomAccessibleButton, CustomSimpleButton et ButtonDisplayState pour créer un menu d'accessibilité qui fonctionne avec la plupart des lecteurs d'écran. L'exemple exécute les tâches suivantes :
  1. Il recherche la propriété Accessibility.active pour déterminer si un lecteur d'écran est actif actuellement et si Flash Player communique avec lui.
  2. Si la propriété active renvoie la valeur true, l'exemple appelle la méthode updateProperties() pour appliquer les modifications de l'accessibilité apportées aux boutons dans cet exemple.
  3. L'exemple appelle la méthode flash.utils.setTimeout() en indiquant que la méthode de fermeture updateAccessibility() doit être appelée dans 2 secondes.

Remarque : appelez setTimeout() avant de vérifier que Accessibility.active accorde à Flash Player les 2 secondes dont il a besoin pour se connecter à un lecteur d'écran, le cas échéant. Si vous ne laissez pas suffisamment de temps au lecteur, l'appel de setTimeout risque de renvoyer la valeur false même lorsqu'un lecteur d'écran est disponible.

L'exemple suivant ne traite la méthode Accessibility.updateProperties() que si l'appel à Accessibility.active renvoie la valeur true. Cette situation ne se produit que lorsque Flash Player est déjà connecté à un lecteur d'écran actif. Si la méthode updateProperties est appelée sans lecteur d'écran actif, elle émet une exception 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();
    }
}