Flex Accessiblity - Tab Focus выходит из приложения flex - PullRequest
3 голосов
/ 29 ноября 2010

В доступном приложении Flex пользователь может перемещаться по элементу управления с помощью клавиши TAB.

Приложение Flex появляется в верхней части HTML-страницы после того, как пользователь активирует определенную ссылку, и загружаетсяusing swfobject.embedSWF.

В большинстве случаев это работает хорошо, но есть некоторые случаи, когда происходит одно или оба:

a) Гибкое приложение загружается нормально, «гибкий фокус»установите для текстовой метки вступления значение для чтения вслух, но нажатие на вкладку, кажется, по-прежнему циклически перебирает ссылки на странице позади. (теперь исправлено, см. Редактирование 2)

b) Фокус работал хорошо и нажимая клавишу табуляции, все в порядке с элементами управления, но после их просмотра он затем выходит из приложения flex наадресная строка ... становится кошмаром даже пытаться вернуться к гибкому приложению, не нажимая на него ... что не совсем удобно для доступа.

Есть ли какой-нибудь способ предотвратить это?

РЕДАКТИРОВАТЬ: целевой браузер IE.Кажется, наиболее часто используется с челюстями

EDIT : мне удалось решить проблему (а).Хитрость заключалась в том, чтобы вызвать фокус на объекте swf, но после небольшого перерыва - это должно быть связано с состоянием готовности flash / js.

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

Проблема (b) все еще остается проблемой ...

Ответы [ 2 ]

3 голосов
/ 03 декабря 2010

В компоненте mx: Application добавьте прослушиватель событий для keyFocusChange и добавьте следующий код:

protected function application1_keyFocusChangeHandler(event:FocusEvent):void
{
    event.preventDefault();
    focusManager.getNextFocusManagerComponent(event.shiftKey).setFocus();
}
0 голосов
/ 03 декабря 2010

б) Попробуйте поместить какой-нибудь фокусируемый элемент после SWF в HTML.Когда focus покидает flex app, посмотрите, вызывается ли обработчик onfocus этого элемента.Если это так, вы можете перефокусировать приложение Flex оттуда или перенаправить его туда, куда хотите.

...