Flex Accessibility - Невозможно установить порядок чтения с экрана - PullRequest
0 голосов
/ 14 апреля 2011

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

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
            xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute">

  <mx:Label x="10" y="10" text="1" tabIndex="2" />
  <mx:Label x="10" y="36" text="2" tabIndex="1" />
  <mx:Label x="10" y="62" text="3" tabIndex="3" />

</mx:Application>

Для этого небольшого тестового приложения программа чтения с экрана (JAWS 12) читает «1 2 3» вместо «2 1 3».

Некоторые испытания показывают, что это проблема только для моей конкретной конфигурации.Я компилирую приложение с помощью Flex SDK 4.1, но использую только набор компонентов MX и тему Halo.У нас есть довольно сложное приложение, которое было запущено до появления Flex 4, поэтому, хотя мы и сделали переход к компиляции с последним SDK, мы еще не обновили ничего, чтобы использовать набор компонентов Spark.

Когда я делаю похожее тестовое приложение, используя 4.1 SDK и тему Spark компоненты +, порядок чтения устанавливается правильно.Тот же результат, если я создаю тестовое приложение и компилирую с использованием 3.5 SDK - все работает.

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

Кто-нибудь сталкивался с подобными проблемами или есть предложения, которые могли бы заставить это работать?

Ответы [ 2 ]

0 голосов
/ 14 апреля 2011

В данный момент я работаю с JAWS 11 во Flex 3, так что у Хавнета еще не было этой проблемы.Но я читал об одном варианте размещения копий компонентов за кулисами, он слишком сложен для наших нужд и позволяет программе чтения с экрана просто читать эти компоненты по порядку:

http://www.adobe.com/accessibility/products/flash/reading.html#off_stage

Кроме того, уловка, которую я видел, состояла в том, чтобы установить TabIndex с шагом 10. JAWs заботятся только об их порядке, и если вам нужно добавить дополнительные компоненты, вам не нужно будет нумеровать все.то есть 10, 20, 30, тогда, если вам нужно, вы можете добавить 11 вместо нумерации всего.

Брайан

0 голосов
/ 14 апреля 2011

Вы хотите использовать текст вместо метки. Документация:

Элемент управления Label считывается экраном читатель, когда это связано с другие элементы управления, или когда режим форм неактивен Элемент управления Label не фокусируется в режиме форм или клавиатуры.

...

Элемент управления текстом не фокусируется и читается программами чтения с экрана только тогда, когда формы режим неактивен.

Я также нашел это , что может быть лучшим решением. Пример приведен во Flex 4, но вы можете сделать то же самое с Label во Flex 3, просто нужно реализовать интерфейс IFocusManagerComponent.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...