Пакет | spark.accessibility |
Класс | public class DataGridAccImpl |
Наследование | DataGridAccImpl ![]() ![]() ![]() ![]() |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
После создания Spark DataGrid используемому в его нижестоящем объекте focusOwner
свойству accessibilityImplementation
назначается экземпляр этого класса. Класс реализации специальных возможностей назначается замещающему объекту focusOwner
, чтобы реализация специальных возможностей DataGrid не препятствовала реализации специальных возможностей редактора элементов. Компонент DataGrid не обеспечивает реализацию специальных возможностей. Этот шаг необходим, поскольку текущая версия Flash Player не поддерживает множественные уровни объектов MSAA. В качестве редактора элементов может использоваться любой компонент или полный объект MSAA. В древовидной структуре MSAA объекты редактора элементов отображаются как объекты одного уровня с DataGrid. Таким образом, реализация специальных возможностей для каждого редактора элементов обрабатывается в связи с соответствующим компонентом, например CheckBoxAccImpl
для CheckBox. Реализация специальных возможностей редактора элементов возможна только при наличии сеанса редактора элементов, причем одновременно может быть активен только один редактор. Соответственно, одновременно может выполняться только один или ноль экземпляров реализации специальных возможностей редактора элементов.
В классе DataGrid
выполняется перезапись двух методов с целью определить фокус DataGrid
и нижестоящего элемента focusOwner
для DataGrid
. Класс GridItemRenderer
отключает доступность средств визуализации элементов, поскольку во время реализации специальных возможностей DataGrid они будут по умолчанию обрабатываться как обычные объекты. Хотя это отключение ограничивает использование в DataGrid компонентов, не входящих в редактор элементов (например, CheckBox, Panel и т. д.), оно препятствует помещению этих объектов в дереве MSAA на один уровень с DataGrid. Расположение средств визуализации элементов на одном уровне с DataGrid в дереве MSAA может вызвать трудности при использовании средств чтения с экрана, поскольку в таком случае будут отсутствовать контекст и взаимосвязи. Если необходимо отображать средства визуализации элементов с активным доступом, переопределите это стандартное поведение.
Flash Player использует этот класс, чтобы разрешить клиентам MSAA, например средствам чтения с экрана, находить и управлять DataGrid. См. описание классов mx.accessibility.AccImpl и flash.accessibility.AccessibilityImplementation для получения базовой информации о классах реализации специальных возможностей и MSAA.
DataGridAccImpl
расширяет ListBaseAccImpl
(так же, как DataGrid
расширяет DataGridBase
, который расширяет класс ListBase
). Ближайшим аналогом Spark DataGridAccImpl
является MX AdvancedDataGridAccImpl
, который, в отличие от MX DataGrid, также поддерживает выбор одной ячейки и строки.
Нижестоящие элементы
Нижестоящие элементы DataGrid в древовидной структуре MSAA (в приведенном порядке)
- Один нижестоящий элемент для каждой ячейки видимого заголовка начиная слева. «Видимый» здесь означает «не скрытый разработчиком» (
column.visible=false
). Заголовок столбца, который не отмечен разработчиком как невидимый, но при прокрутке перемещается за границы видимой области экрана, здесь рассматривается как «видимый». - В режиме выбора строки - один нижестоящий элемент для каждой строки данных сетки; ИЛИ
- В режиме выбора ячейки - один нижестоящий элемент для каждой ячейки сетки, кроме ячеек в невидимых (как описано выше) столбцах.
Количество нижестоящих элементов зависит от количества строк и столбцов в dataProvider
, а не от количества элементов, которые в данный момент отображаются на экране.
Обратите внимание, что, в отличие от ListBase
, количество нижестоящих элементов DataGrid не отражает количество строк данных в элементе управления. Поэтому в служебных технологиях следует избегать использования AccChildCount
в качестве средства сообщения количества строк.
Это свойство не обрабатывается реализацией специальных возможностей DataGrid для редакторов элементов, поскольку управление редакторами элементов является автономным.
Роль
Роль MSAA для DataGrid - ROLE_SYSTEM_LIST
.
Роль для каждой строки данных или ячейки в DataGrid - ROLE_SYSTEM_LISTITEM
.
Роль для каждой ячейки заголовка в DataGrid - ROLE_SYSTEM_COLUMNHEADER
.
Это свойство не обрабатывается реализацией специальных возможностей DataGrid для редакторов элементов, поскольку управление редакторами элементов является автономным.
Имя
По умолчанию именем MSAA для DataGrid является пустая строка. При включении в элемент FormItem
именем является метка FormItem. Чтобы изменить этот вариант поведения, установите свойство accessibilityName
DataGrid. Установка свойства accessibilityName
также присваивает доступное имя нижестоящему объекту focusOwner
, который представляет DataGrid.
Имя каждой строки данных (в режиме выбора строк) является строкой вида _column1Name_: _column1Value_, _column2Name_: _column2Value_, ..., _columnNName_: _columnNValue_, Row _m_ of _n_. Столбцы отделяются друг от друга запятыми, а имена столбцов и значения - двоеточиями. Скрытые разработчиком столбцы в строке Name не указываются. Пример строки Name: «Имя контактного лица: Doug, Телефон контактного лица: 555-1212, Индекс контактного лица: 12345, строка 3 из 7».
Обратите внимание, что часть «строка _m_ из _n_» локализована.
Строка Name каждой ячейки данных в столбце 1 (в режиме выбора ячеек) является строкой вида _columnName_: _columnValue_, Row _m_ of _n_. Пример: «Телефон контактного лица: 555-1212, строка 2 из 5». Последующие столбцы используют тот же формат, но пропускают часть «строка _m_ из _n_».
Обратите внимание, что часть «строка _m_ из _n_» локализована.
Строка Name для заголовка столбца (в режиме выбора ячеек или строк) обычно представляет собой текст заголовка. Пример: «Телефон контактного лица». Если сетка была отсортирована по определенному столбцу, к имени этого столбца добавляется строка «Сортировано» или «Сортировано в убывающем порядке», определяющая наличие или направление сортировки. Пример: «Сортировано по контактному лицу». При сортировке по нескольким столбцам к именам этих столбцов добавляются строки, указывающие на уровень каждого из них в наборе сортировки. Например, если сетка была отсортирована сначала по столбцу 3, а затем по столбцу 2, который отсортирован в убывающем порядке, к имени столбца 3 будет добавлена строка «Сортировано, уровень 1», а к имени столбца 2 - строка «Сортировано в убывающем порядке, уровень 2». Строки, указывающие направление (в возрастающем или убывающем порядке) и уровень сортировки, локализуются.
При изменении имени или одного из элементов DataGrid отправляет событие MSAA EVENT_OBJECT_NAMECHANGE
с соответствующим childID для строки или ячейки либо 0 для себя.
Если для редактора элементов не указано имя специальных возможностей, оно присваивается на основе имени заголовка столбца для ячейки.
Описание
По умолчанию описанием MSAA для DataGrid является пустая строка, но можно установить свойство accessibilityDescription
для DataGrid.
Описанием каждой строки, ячейки или заголовка является пустая строка; описание не может быть указано с помощью AccImpl.
Это свойство не обрабатывается реализацией специальных возможностей DataGrid для редакторов элементов, поскольку управление редакторами элементов является автономным.
Состояние
Состояние MSAA для DataGrid - сочетание:
-
STATE_SYSTEM_UNAVAILABLE
(еслиenabled
=false
) -
STATE_SYSTEM_FOCUSABLE
(еслиenabled
=true
) -
STATE_SYSTEM_FOCUSED
(еслиenabled
=true
и DataGrid получает фокус) -
STATE_SYSTEM_MULTISELECTABLE
(еслиallowMultipleSelection
= true)
Состояние строки или ячейки данных - сочетание:
-
STATE_SYSTEM_FOCUSABLE
-
STATE_SYSTEM_FOCUSED
(при наличии фокуса) -
STATE_SYSTEM_OFFSCREEN
(когда строка или ячейка во время прокрутки оказались за пределами видимой области экрана) -
STATE_SYSTEM_SELECTABLE
-
STATE_SYSTEM_SELECTED
(если выбрано)
Состоянием ячейки заголовка является STATE_SYSTEM_NORMAL
, поскольку ячейки заголовка не выбираются и не могут получать фокус. Согласно текущим настройкам, ячейки заголовка не сообщают STATE_SYSTEM_OFFSCREEN
, даже если сетка была перемещена таким образом, что ее заголовки оказались за пределами видимой области экрана.
При изменении состояния DataGrid или одного из его элементов DataGrid отправляет событие MSAA EVENT_OBJECT_STATECHANGE
с соответствующим childID для строки или ячейки либо 0 для себя.
Это свойство не обрабатывается реализацией специальных возможностей DataGrid для редакторов элементов, поскольку управление редакторами элементов является автономным.
Значение
Элементы DataGrid и их нижестоящие элементы (строки, ячейки и заголовки) не имеют значений MSAA.
Расположение
Местоположением MSAA элемента DataGrid или его нижестоящих элементов (строк, ячеек данных или заголовков) является соответствующий ограничивающий прямоугольник. Местоположение элемента, не отображаемого на экране, не определено.
Это свойство не обрабатывается реализацией специальных возможностей DataGrid для редакторов элементов, поскольку управление редакторами элементов является автономным.
Действие по умолчанию
У DataGrid отсутствует MSAA DefaultAction. Значением MSAA DefaultAction для строки или ячейки является «двойной щелчок», а для ячейки заголовка - «щелчок». Соответствующая локализованная строка возвращается при запросе строки действия по умолчанию.
Выполнение действия по умолчанию для строки данных или ячейки приводит к установке фокуса, выбору этой строки или ячейки либо инициирует другое поведение, зависящее от типа ячейки/строки. Если для заголовка выполняется действие по умолчанию, сетка сортируется по соответствующему столбцу. Повторяемое выполнение действий по умолчанию для заголовка переключает убывающий или возрастающий порядок сортировки. Этот способ не позволяет использовать AccImpl для одновременной многоуровневой сортировки нескольких столбцов.
Это свойство не обрабатывается реализацией специальных возможностей DataGrid для редакторов элементов, поскольку управление редакторами элементов является автономным.
Фокус
В случае отсутствия определенного элемента (строки или ячейки в зависимости от режима выбора) в фокусе внутри сетки, фокус возвращает 0, указывая на наличие фокуса у сетки. Это происходит только в случае, если в сетке не содержатся данные.
Если строка (в режиме выбора строк) или ячейка (в режиме выбора ячеек) находится в фокусе, фокус возвращает ее childID.
При получении фокуса DataGrid отправляет событие MSAA EVENT_OBJECT_FOCUS
. Это событие также отправляется при перемещении фокуса между строками или ячейками внутри сетки.
Событие изменения фокуса отправляется в редактор элементов при его запуске или отображении. Если редактор элементов сохранен или закрыт, событие изменения фокуса отправляется в DataGrid.
Выделение
В зависимости от значения свойства allowMultipleSelection
в DataGrid можно выбрать одну или несколько строк или ячеек. Выбор возвращает массив целочисленных childID выбранных элементов.
При выборе только одного элемента отправляется событие MSAA EVENT_OBJECT_SELECTION
. Когда к группе выбранных элементов добавляется ячейка (в режиме выбора ячеек) или строка (в режиме выбора строк), отправляется событие EVENT_OBJECT_SELECTIONADD
. При удалении элемента (ячейки или строки) из группы выбранных элементов отправляется событие EVENT_OBJECT_SELECTIONREMOVE
. Если выбор отменен (независимо от количества выбранных элементов), выбираются все элементы или определенная область, отправляется событие EVENT_OBJECT_SELECTIONWITHIN
. При выполнении любого действия выбора, не указанного выше, отправляется событие EVENT_OBJECT_SELECTION
.
Это свойство не обрабатывается реализацией специальных возможностей DataGrid для редакторов элементов, поскольку управление редакторами элементов является автономным.
Выделить
Метод accSelect
обрабатывает запросы MSAA на изменение выбора и/или фокуса в DataGrid. AccImpl для DataGrid поддерживает установку фокуса как на DataGrid, так и на его элемент данных или группу элементов (строк или ячеек в зависимости от режима выбора). В соответствии со спецификацией Microsoft Active Accessibility, допустимые действия включают установку фокуса, выбор только одного элемента, а также добавление и удаление одного или нескольких элементов из группы выбранных элементов. Обратите внимание, что использование accSelect
для расширения уже выбранной многоячейковой области (в режиме выбора нескольких ячеек) с целью одновременного включения дополнительных строк и столбцов может привести к результатам, отличным от выполнения тех же действий с помощью мыши.
Это свойство не обрабатывается реализацией специальных возможностей DataGrid для редакторов элементов, поскольку управление редакторами элементов является автономным.
Метод | Определено | ||
---|---|---|---|
DataGridAccImpl(master:UIComponent)
Конструктор. | DataGridAccImpl | ||
![]() |
Метод IAccessible, выполняющий действия по умолчанию, связанные с компонентом, представленным этим AccessibilityImplementation или являющимся одним из его дочерних элементов. | AccessibilityImplementation | |
![]() |
Метод MSAA для возвращения DisplayObject или Rectangle с указанием ограничительной рамки дочернего элемента в AccessibilityImplementation. | AccessibilityImplementation | |
![]() |
Метод IAccessible для изменения выбора в компоненте, представленным этим AccessibilityImplementation. | AccessibilityImplementation | |
[статические]
Включает расширенный доступ в классе DataGrid. | DataGridAccImpl | ||
![]() |
Метод MSAA для возвращения заданных по умолчанию действий компонента, представленного этим AccessibilityImplementation, или одного из его дочерних элементов. | AccessibilityImplementation | |
![]() |
Метод MSAA для возвращения идентификаторов целого числа без знака для дочернего элемента, при его наличии, имеющего дочерний фокус в компоненте. | AccessibilityImplementation | |
![]() |
Метод MSAA для возвращения имени компонента, представленного этим AccessibilityImplementation, или одного из его дочерних элементов. | AccessibilityImplementation | |
![]() |
Метод MSAA для возвращения системной роли компонента, представленного этим AccessibilityImplementation, или одного из его дочерних элементов. | AccessibilityImplementation | |
![]() |
Метод MSAA для возвращения массива, содержащего идентификаторы всех выбранных дочерних элементов. | AccessibilityImplementation | |
![]() |
Метод IAccessible для возвращения текущего состояния времени выполнения компонента, представленного этим AccessibilityImplementation, или одного из его дочерних элементов. | AccessibilityImplementation | |
![]() |
Метод MSAA для возвращения значения времени выполнения компонента, представленного этим AccessibilityImplementation, или одного из его дочерних элементов. | AccessibilityImplementation | |
![]() | AccessibilityImplementation | ||
![]() | AccessibilityImplementation | ||
![]() |
Возвращает массив, содержащий идентификаторы целого числа без знака для всех дочерних элементов в AccessibilityImplementation. | AccessibilityImplementation | |
![]() | [статические]
Метод для поддержки расширенного доступа форм. | AccImpl | |
![]() |
Показывает, определено ли заданное свойство для объекта. | Object | |
![]() | [статические]
Возвращает true, если предок компонента активировал установку значения false. | AccImpl | |
![]() |
Возвращает значение true или false, чтобы указать, должен ли текстовый объект с ограничительной рамкой, определенной свойствами x, y, width и height, рассматриваться как метка для компонента, представленного данным экземпляром AccessibilityImplementation. | AccessibilityImplementation | |
![]() |
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | |
![]() |
Показывает наличие заданного свойства и его перечисляемость. | Object | |
![]() |
Задает доступность динамического свойства для операций цикла. | Object | |
![]() |
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | |
![]() |
Возвращает строковое представление заданного объекта. | Object | |
![]() |
Возвращает элементарное значение заданного объекта. | Object |
DataGridAccImpl | () | Конструктор |
public function DataGridAccImpl(master:UIComponent)
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Конструктор.
Параметрыmaster:UIComponent — Экземпляр UIComponent, который данный экземпляр AccImpl делает доступным.
|
enableAccessibility | () | метод |
public static function enableAccessibility():void
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 4 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Включает расширенный доступ в классе DataGrid.
Данный метод вызывается в коде запуска приложения, который автоматически создан компилятором MXML. В дальнейшем при инициализации экземпляров DataGrid их свойство accessibilityImplementation
будет установлено на экземпляр этого класса.
Tue Jun 12 2018, 11:34 AM Z