Flex 3 PopUpManager неправильно включает функции специальных возможностей - PullRequest
0 голосов
/ 04 января 2012

У меня есть приложение, написанное на Flex 3.6, и когда я создаю модальное всплывающее диалоговое окно, кнопки и текст в этом всплывающем окне не работают правильно со свойствами специальных возможностей, которые я определил. Приложение скомпилировано с флагом доступности.

Я создаю простое приложение для проверки проблемы.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
                layout="vertical">

    <mx:Script>
        <![CDATA[
            import mx.containers.TitleWindow;
            import mx.managers.PopUpManager;

            private var titleWindow:TitleWindow;

            private function popUp():void {
                titleWindow = PopUpManager.createPopUp(this, CustomTitleWindow, true) as TitleWindow;
                PopUpManager.centerPopUp(titleWindow);
            }
        ]]>
    </mx:Script>

    <mx:Button label="Launch TitleWindow" click="popUp()" />

</mx:Application>

и CustomTitleWindow.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
                title="popup titlewindow"
                layout="vertical"
                width="200"
                height="200"
                showCloseButton="true"
                close="titleWindow_close(event)">

    <mx:Script>
        <![CDATA[
            import mx.events.CloseEvent;
            import mx.managers.PopUpManager;

            private function titleWindow_close(evt:CloseEvent):void {
                PopUpManager.removePopUp(this)
            }

            private function titleWindow_continue():void {
                PopUpManager.removePopUp(this);
            }
        ]]>
    </mx:Script>

    <mx:Text text="How now brown cow."
        width="100%" />

    <mx:Button label="Continue"
        click="titleWindow_continue()" />

</mx:TitleWindow>

Теперь, когда я создаю приложение и запускаю инструмент Inspect для просмотра информации о доступности MSAA, кнопка «Продолжить» в окне заголовка не выделяется. Это означает, что программа чтения с экрана или такой инструмент, как Dragon NaturallySpeaking, не будут работать, если вы скажете «Нажмите Продолжить».

Я собрал swf как исполняемый swf со средой выполнения Flash 9.0r124 (не отладкой) с SWF-студией Northcode, но то же самое наблюдается и в более поздних версиях флэш-памяти (10 и 11)

Ниже показан инструмент проверки, который просматривает мое приложение с открытым окном заголовка и курсором мыши над кнопкой «Продолжить»

screenshot of test flex app and inspect tool

я должен увидеть кнопку «Продолжить», выделенную желтым

Есть идеи, как заставить функции специальных возможностей правильно работать с всплывающими модальными окнами, созданными с помощью Flex's PopupManager?

Мне не поможет переход на Flex 4.x, но я написал приложение для быстрого тестирования, и похоже, что во Flex 4.5.1, по крайней мере, проблема исправлена, см. Скриншот ниже. В настоящее время мы застряли с приложением, использующим среду исполнения Flex 3.6, и пока не можем выполнить обновление до Flex 4.x

screenshot of flex 4.5.1

1 Ответ

0 голосов
/ 04 января 2012

Я думаю, вы должны добавить эффект прокрутки к кнопке «Продолжить» или изменить стиль прокрутки. это самый простой способ для этого и еще один способ для этого, вы можете создать пользовательскую кнопку для этого, но это очень сложный способ. поэтому я предпочитаю первый способ самый лучший.

...