Я пытаюсь обнаружить наличие вспомогательных технологий с использованием flash. Когда загружается Flash-ролик, содержащий приведенный ниже сценарий действия в кадре 1 (и программа чтения с экрана, обменивающаяся сообщениями с IE или Firefox через MSAA, активна — JAWS или NVDA), Accessibility.isActive()
не возвращает "true" до тех пор, пока фильм не будет сфокусирован. Ну, на самом деле, пока не произойдет какое-то «событие». Фильм будет просто сидеть там, пока я не щелкну его правой кнопкой мыши и не покажу контекстное меню флеш-плеера... кажется, только тогда Accessibility.isActive()
возвращает true. Щелчок правой кнопкой мыши - единственный способ заставить фильм «проснуться».
Как заставить фильм реагировать самостоятельно и обнаруживать MSAA? Я пытался направить на него фокус с помощью Javascript... можно ли подделать щелчок правой кнопкой мыши в javascript или 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();
Мой 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="">