Domanda

Sto cercando di rilevare la presenza di tecnologie assistive uso del flash . Quando viene caricato un filmato Flash tenendo ActionScript sotto il telaio 1 (e screenreader chiacchierare con IE o Firefox su MSAA è attivo - JAWS o NVDA), Accessibility.isActive() non restituisce "vero" fino a quando il film si concentra. Beh, in realtà non fino a qualche "evento" accade. Il film sarà semplicemente seduti lì fino a quando right-click esso e mostrare il menu contestuale il flash del lettore ... sembra solo allora ritorna Accessibility.isActive() vero. Cliccando col tasto destro è l'unico modo ho potuto ottenere il filmato a "svegliarsi".

Come faccio ad avere il filmato di reagire sul suo proprio e rilevare MSAA? Ho provato l'invio di messa a fuoco ad esso con JavaScript ... Può un finto tasto destro del mouse in JavaScript o ActionScript? O si fa a sapere i fatti un click destro è sparare in un filmato flash -? Forse posso programatically rendere tale evento accada

Il mio Actionscript:

var x = 0;  
//check if Microsoft Active Accessibility (MSAA) is active.  
//Setting takes 1-2 seconds to detect -- hence the setTimeout loop.  
function check508(){  
    if ( Accessibility.isActive() ) {  
       //remove this later... just visual for testing  
       logo.glogo.logotext.nextFrame();  
       //tell the page's javascript this is a 508 user  
       getURL("javascript:setAccessible();")  
    } else if (x<100) {  
       trace ("There is currently no active accessibility aid. Attempt " + x);  
       x++;  
       setTimeout(check508,200);  
    }  
}  
/*  
//FYI: only checks if browser is MSAA compliant, not that A.T. is actually running. Sigh.  
//This returns true immediately though.  
if (System.capabilities.hasAccessibility) {  
    logo.glogo.logotext.nextFrame();  
    getURL("javascript:setAccessible();")  
};  
*/  
check508();  
stop();  

Il mio HTML:

<embed id="detector" width="220" height="100" quality="high" wmode="window" type="application/x-shockwave-flash" src="/images/detect.swf" pluginspage="http://www.adobe.com/go/getflashplayer" flashvars="">
È stato utile?

Soluzione

In base a questo StackOverflow risposta , ho trovato una soluzione:

var fl = document.getElementById("detector"); 
    if (fl) { 
        fl.focus();
    }

Doveva essere in puro JavaScript, come scritto sopra, collegato al vostro evento window.load. Cercando sia jQuery selettori $("#detector").focus() o omettendo l'istruzione if e usando solo document.getElementById("detector").focus() ... entrambi non ha funzionato .

Ho poi rispedire attenzione alla parte superiore della pagina all'interno del mio funzione setAccessible() in Javascript della pagina HTML in modo AT gli utenti non sono bloccati concentrati per il filmato flash il caricamento della pagina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top