2013-05-24 5 views
0

Я пытаюсь добавить доступ к моему приложению. Я до сих пор не могу понять, как работает функция искровых компонентов.
Я на платформе окна с включенной функцией рассказчика. Все, что я хочу сделать, это назвать три поля с другим именем для доступа, чтобы пользователь знал, что делать. Я попытался просто использовать объявление для определения свойств доступности, но похоже, что он всегда будет указывать только одно имя кнопки. Таким образом, я сделал другой подход и попытался создать свойства доступности, когда он завершит создание. Похоже, рассказчик иногда подбирает правильное имя доступности в начале, а затем очень скоро, когда я нахожу кнопку, он заменит все имя и назовет его «кнопкой поиска». Любая идея, почему?!?! Я очень озадачен. Любая помощь будет оценена.Доступность приложения для рабочего стола

<?xml version="1.0" encoding="utf-8"?> 
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx" 
         xmlns:accessbility="flash.accessibility.*" initialize="onInit()" creationComplete="onComplete()"> 
    <fx:Declarations> 
     <!-- Place non-visual elements (e.g., services, value objects) here --> 

    </fx:Declarations> 

    <fx:Script> 
     <![CDATA[ 

     import com.modernista.swffocus.SWFFocus; 

     private function onComplete():void { 
      var ap1:AccessibilityProperties = new AccessibilityProperties(); 
      ap1.name = "search"; 
      searchInput.accessibilityProperties = ap1; 
      var ap2:AccessibilityProperties = new AccessibilityProperties(); 
      ap2.name = "name input"; 
      nameInput.accessibilityProperties = ap2; 
      var sb:AccessibilityProperties = new AccessibilityProperties(); 
      sb.name = "search button"; 
      searchSubmit.accessibilityProperties = sb; 
      Accessibility.updateProperties(); 
     } 
     // this helps Firefox capture and release keyboard focus 
     private function onInit():void { 
     SWFFocus.init(systemManager.stage as Stage); 

     } 

     ]]> 
    </fx:Script> 
    <mx:Form defaultButton="{searchSubmit}"> 
     <mx:HBox width="100%" height="100%" horizontalAlign="center" verticalAlign="middle" > 
      <mx:TextInput id="searchInput" width="540"> 
      </mx:TextInput> 
      <mx:TextInput id="nameInput" width="540"> 
      </mx:TextInput> 
      <mx:Button id="searchSubmit" label="search" /> 
     </mx:HBox> 
    </mx:Form> 
</s:WindowedApplication> 

ответ

1

Все, что я хочу сделать, это назвать три поля с другим именем для доступности, так что пользователь знает, что делать. Я попытался просто использовать объявление для определения свойств доступности, но похоже, что он всегда будет указывать только одно имя кнопки.

MS Narrator - один из тех инструментов, которые вы используете, только если у вас нет других возможностей. Подумайте об этой жуткой старой бензоколонке, когда вы находитесь где-то посередине. Я бы протестировал приложение, используя NVDA, a free screen reader, что так же хорошо, как JAWS, и более приемлемым для тестирования (NVDA v. MS-рассказчик).

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

I приписывал бы это больше невообразию Рассказчика.

Также похоже, что вы не включили библиотеку специальных возможностей, но я не являюсь разработчиком Flex, поэтому я не знаю, нужны ли они, например, в Flash.

Ваш код

var sb:AccessibilityProperties = new AccessibilityProperties(); 
     sb.name = "search button"; 

Я доставал кнопку здесь. Большинство вспомогательных технологий добавляет типы элементов к вещам, поэтому эта кнопка будет объявлена ​​как Кнопка кнопки поиска.

Дальнейшее чтение:

 Смежные вопросы

  • Нет связанных вопросов^_^