Lorsqu'un utilisateur appuie sur la touche de tabulation pour naviguer dans une application Flash ou qu'il clique dans une application, la classe FocusManager détermine quel composant reçoit le focus de saisie (pour plus d'informations, reportez-vous à la section « Classe FocusManager » dans le guide Référence du langage des composants ActionScript 2.0). Il n'est pas nécessaire d'ajouter une occurrence FocusManager à une application ou du code pour activer le gestionnaire de focus.
Si un objet RadioButton reçoit le focus, le gestionnaire de focus l'examine, de même que tous les objets ayant la même valeur groupName, puis il attribue le focus à l'objet dont la propriété selected est définie sur true.
Chaque composant Window modal contenant une occurrence du gestionnaire de focus, ses contrôles constituent son propre jeu de tabulation. Ainsi, l'utilisateur ne risque pas de naviguer par erreur vers les composants des autres fenêtres en appuyant sur la touche de tabulation.
Pour créer une navigation de focus dans une application, définissez la propriété tabIndex pour tous les composants (y compris les boutons) qui doivent recevoir le focus. Lorsqu'un utilisateur appuie sur la touche de tabulation, la classe FocusManager recherche un objet activé dont la valeur tabIndex est supérieure à la valeur actuelle de tabIndex. Lorsque la classe FocusManager atteint la propriété tabIndex la plus élevée, elle revient à 0. Par exemple, dans le code suivant, l'objet comment (probablement un composant TextArea) reçoit le focus en premier, puis l'occurrence okButton le reçoit à son tour :
var comment:mx.controls.TextArea; var okButton:mx.controls.Button; comment.tabIndex = 1; okButton.tabIndex = 2;
Vous pouvez également utiliser le panneau Accessibilité pour affecter une valeur d'indexation.
Si aucune valeur d'indexation n'est définie sur la scène, le gestionnaire de focus utilise les niveaux de profondeur (l'ordre z). Les niveaux de profondeur sont principalement définis par l'ordre dans lequel les composants sont déposés sur la scène. Vous pouvez néanmoins utiliser les commandes Modifier > Réorganiser > Premier plan/Arrière-plan pour déterminer l'ordrez final.
Pour attribuer le focus à un composant dans une application, appelez la méthode FocusManager.setFocus().
Pour créer un bouton qui reçoive le focus lorsqu'un utilisateur appuie sur Entrée (Windows) ou sur Retour (Macintosh), définissez la propriété FocusManager.defaultPushButton sur l'occurrence du bouton désiré, comme dans le code suivant :
focusManager.defaultPushButton = okButton;
La classe FocusManager (API) remplace le rectangle de focus par défaut de Flash Player par un rectangle de focus personnalisé dont les bords sont arrondis.
Pour plus d'informations sur la création d'un programme de focus dans une application Flash, consultez la classe FocusManager du guide Référence du langage des composants ActionScript 2.0.