2010-11-29 4 views
3

Dans une application flexible accessible, l'utilisateur peut naviguer dans le contrôle en utilisant la touche TAB.Flex Accessiblity - L'onglet Tab disparaît de l'application flexible

L'application flexible apparaît en haut de la page HTML après que l'utilisateur ait activé un lien particulier et est chargée à l'aide de swfobject.embedSWF.

Il fonctionne bien dans la plupart des cas, mais il y a des cas où soit ou ces deux se produisent:

a) Les charges d'applications flex ok, le « focus flex » est défini sur l'étiquette du texte d'introduction à lire fort, mais l'onglet de pressage semble encore parcourir les liens sur la page derrière. (Maintenant corrigé, voir Édition 2)

b) La mise au point a bien fonctionné et la pression de la languette sur les commandes a bien fonctionné, mais après les avoir parcourues, elle est sortie de l'application flexible et sur la barre d'adresse. devient un cauchemar pour essayer même de revenir à l'application flex sans cliquer dessus .. ce qui n'est pas vraiment convivial.

Y a-t-il un moyen d'empêcher que cela se produise?

EDIT: Le navigateur cible est IE. Semble être le plus utilisé avec les mâchoires

EDIT: J'ai réussi à résoudre le problème (a). L'astuce consistait à appeler le focus sur l'objet swf, mais après un léger temps d'arrêt, cela devait être quelque chose à voir avec l'état flash/js ready.

setTimeout(function(){ 
    document.getElementById('swfobject').focus() 
},25); 

problème (b) est toujours un problème mais ...

Répondre

3

Dans votre mx: composant d'application, ajoutez un écouteur d'événement pour le keyFocusChange et ajoutez ce code:

protected function application1_keyFocusChangeHandler(event:FocusEvent):void 
{ 
    event.preventDefault(); 
    focusManager.getNextFocusManagerComponent(event.shiftKey).setFocus(); 
} 
+0

fonctionne parfaitement. Agréable – Ben

0

b) Essayez de placer un élément focusable après swf en html. Lorsque le focus quitte l'application flexible, vérifiez si le gestionnaire onfocus de cet élément est appelé. Si c'est le cas, vous pouvez recentrer l'application flexible à partir de là ou la rediriger où vous le souhaitez.

Questions connexes