stringtranslate.com

Microsoft Активные Доступности

Microsoft Active Accessibility ( MSAA ) — это интерфейс прикладного программирования (API) для обеспечения доступности пользовательского интерфейса. MSAA был представлен как надстройка платформы для Microsoft Windows 95 в 1997 году. MSAA разработан, чтобы помочь продуктам Assistive Technology (AT) взаимодействовать со стандартными и настраиваемыми элементами пользовательского интерфейса (UI) приложения (или операционной системы), а также для доступа, идентификации и управления элементами пользовательского интерфейса приложения. Продукты AT работают с приложениями с поддержкой MSAA, чтобы обеспечить лучший доступ для людей с физическими или когнитивными трудностями, нарушениями или инвалидностью. Некоторые примеры продуктов AT — это программы чтения с экрана для пользователей с ограниченным зрением, экранные клавиатуры для пользователей с ограниченным физическим доступом или дикторские программы для пользователей с ограниченным слухом. MSAA также может использоваться для автоматизированных инструментов тестирования и приложений для компьютерного обучения.

Текущая и последняя спецификация MSAA содержится в части спецификации Microsoft UI Automation Community Promise.

История

Active Accessibility изначально назывался OLE Accessibility [1] , и это наследие отражено в наименовании его двоичных компонентов, таких как oleacc.dllи заголовочный файл oleacc.h, содержащий определения и объявления. В рамках продвижения бренда Microsoft ActiveX в марте 1996 года OLE Accessibility был переименован в ActiveX Accessibility (иногда называемый AXA) и представлен в таком виде на конференции Microsoft Professional Developers Conference в Сан-Франциско в марте 1996 года. Позднее брендинг ActiveX был зарезервирован для интернет-технологий, а ActiveX Accessibility стал Active Accessibility и часто сокращался до MSAA.

MSAA был первоначально выпущен в апреле 1997 года как часть Microsoft Active Accessibility Software Developers Kit (SDK) версии 1.0. В состав SDK входили документация, библиотеки программирования, примеры исходного кода и Re-Distributable Kit (RDK) для поставщиков доступных технологий, которые могли включать их в свои продукты. RDK включал обновленные компоненты операционной системы для Microsoft Windows 95. Начиная с Windows 98 и Windows NT 4.0 Service Pack 4, MSAA был встроен во все версии платформы Windows и со временем получал периодические обновления и исправления.

Программное воздействие на приложения вспомогательных технологий в Windows исторически обеспечивалось через MSAA. Однако более новые приложения теперь используют Microsoft UI Automation (UIA), которая была представлена ​​в Windows Vista и .NET Framework 3.0 .

История версий

Были выпущены следующие версии Active Accessibility: [2]

Мотивация и цели

Мотивирующим фактором разработки MSAA было обеспечение доступного и бесперебойного механизма связи между базовой операционной системой или приложениями и продуктами вспомогательных технологий.

Программная цель MSAA — позволить элементам управления Windows отображать основную информацию, такую ​​как имя, местоположение на экране или тип элемента управления, а также информацию о состоянии, такую ​​как видимость, включено или выбрано.

Технический обзор

MSAA основана на компонентной объектной модели (COM). COM определяет механизм взаимодействия приложений и операционных систем.

На рисунке 1 показана высокоуровневая архитектура MSAA.

Приложения (например, текстовый процессор) называются серверами в MSAA, поскольку они предоставляют или обслуживают информацию о своих пользовательских интерфейсах (UI). Средства обеспечения доступности (например, программы чтения с экрана) называются клиентами в MSAA, поскольку они потребляют и взаимодействуют с информацией UI из приложения.

Системный компонент фреймворка MSAA, Oleacc.dll, помогает в коммуникации между инструментами доступности (клиентами) и приложениями (серверами). Граница кода указывает программные границы между приложениями, которые предоставляют информацию о доступности пользовательского интерфейса, и инструментами доступности, которые взаимодействуют с пользовательским интерфейсом от имени пользователей. Граница также может быть границей процесса, когда клиенты MSAA имеют свой собственный процесс.

Пользовательский интерфейс представлен в виде иерархии доступных объектов; изменения и действия представлены в виде WinEvents.

Доступные объекты

Доступный объект является центральным интерфейсом MSAA и представлен интерфейсом COM IAccessible и целым числом ChildId . Он позволяет приложениям раскрывать древовидную структуру, которая представляет структуру пользовательского интерфейса. Каждый элемент этого дерева раскрывает набор свойств и методов, которые позволяют манипулировать соответствующим элементом пользовательского интерфейса. Клиенты MSAA могут получать доступ к программной информации пользовательского интерфейса через стандартный API.

Роли, имена, ценности, состояния

MSAA передает информацию, отправляя небольшие фрагменты информации об элементах программы объекту вспомогательных технологий (AT). Четыре критических фрагмента информации, на которые опирается AT, чтобы помочь пользователям взаимодействовать с приложениями, — это роль, имя, значение и состояние элемента:

Microsoft предоставляет полный список элементов управления и их функций. [3]

Роль

Информация о роли основана на типе элемента управления пользовательского интерфейса, с которым разработчик хочет взаимодействовать. Например, если разработчик реализует кнопку, которая может быть нажата, он должен выбрать Pushbutton в качестве роли для реализации. В следующей таблице показан пример списка ролей MSAA и их соответствующие описания.

Имя

Имена для элементов в приложении назначаются в коде разработчиком. Многие объекты, такие как значки, меню, флажки, поля со списком и другие элементы управления, имеют метки, которые отображаются для пользователей. Любая метка, которая отображается для пользователей на элементе управления (например, кнопка), является значением по умолчанию для свойства имени объекта. Убедитесь, что имя объекта имеет смысл для пользователя и правильно описывает элемент управления. Свойство Name не должно включать информацию о роли или типе элемента управления, например, кнопку или список, иначе оно будет конфликтовать с текстом из свойства роли (полученного из функции GetRoleText API MSAA).

Ценить

Значение используется, когда разработчик хочет вернуть информацию из объектов в виде строки. Значение может быть возвращено для объектов, в которых содержатся проценты, целые числа, текстовая или визуальная информация. Например, значения свойств, возвращаемые из доступных объектов полосы прокрутки и трекбара, могут указывать проценты в строках.

Не всем объектам присвоено значение.

Состояние

Свойство State описывает состояние объекта в определенный момент времени. Microsoft Active Accessibility предоставляет константы состояния объекта, определенные в oleacc.h, которые объединяются для идентификации состояния объекта. Если возвращаются предопределенные значения состояния, клиенты используют GetStateText для получения локализованной строки, описывающей состояние. Все объекты поддерживают свойство State.

Проблемы и ограничения

Microsoft разработала объектную модель Active Accessibility во время и после выпуска Windows 95. Модель основана на ролях, каждая роль представляет тип элемента пользовательского интерфейса. Эти роли ограничены элементами пользовательского интерфейса, которые широко использовались в то время. Например, не существует текстовой объектной модели, которая помогла бы вспомогательным технологиям работать с разделенными кнопками, которые объединяют несколько элементов пользовательского интерфейса в один. MSAA не пытается представлять стилизованный текст, такой как текст разметки или документы с форматированным текстом . Хотя MSAA по-прежнему имеет свойство Value, оно может размещать в своем значении только простой, нестилизованный текст. В то время считалось, что Microsoft Text Object Model (MS-TOM) будет более подходящей для выражения атрибутов форматированного текста. Однако сложность MS-TOM и ограниченное первоначальное принятие за пределами Microsoft затрудняли доступ к форматированному тексту.

Другое ограничение касается навигации по объектной модели. MSAA представляет пользовательский интерфейс как иерархию доступных объектов способом, похожим на диспетчер окон Windows. Клиенты переходят от одного доступного объекта к другому с помощью метода IAccessible::accNavigate. Однако серверы реализовали accNavigate непредсказуемыми способами, а часто и вовсе не реализовали. Клиенты, однако, должны иметь возможность работать со всеми подходами для любого сервера MSAA. Эта неоднозначность означает дополнительную работу для реализаторов клиента, а сложность может способствовать возникновению проблем в зависимости от реализаций сервера.

Будучи двоичным интерфейсом на основе COM, IAccessible является неизменяемым и не может быть изменен без создания другого интерфейса. В результате вы не можете раскрывать новые роли, поведение или свойства через существующую объектную модель на основе IAccessible. Хотя он и задумывался как общее подмножество информации о базовых элементах пользовательского интерфейса, было обнаружено, что его трудно расширить, включив информацию о новых методах взаимодействия.

Доступность

Первоначально MSAA был доступен как дополнение к Windows 95. Он был интегрирован во все последующие версии Windows.

Сопутствующие технологии

Microsoft UI Automation (UIA) : преемником MSAA стала User Interface Automation (UIA). Однако, поскольку все еще существуют приложения на основе MSAA, для обеспечения связи между UI Automation и приложениями MSAA используются мосты. Чтобы информация могла совместно использоваться двумя API, были разработаны MSAA-to-UI Automation Proxy и UI Automation-to-MSAA Bridge. Первый компонент потребляет информацию MSAA и делает ее доступной через клиентский API UI Automation. Последний позволяет клиентским приложениям, использующим MSAA, получать доступ к приложениям, реализующим UI Automation.

Доступные многофункциональные интернет-приложения (WAI-ARIA): существует общее соответствие атрибутов ARIA свойствам MSAA. [4]

IAccessible2 : MSAA обеспечивает основу IAccessible2. IAccessible2 использует работу, проделанную в MSAA, и добавляет дополнительную функциональность.

Windows Automation API : начиная с Windows 7, Microsoft упаковывает свои технологии доступности в фреймворк под названием Windows Automation API. MSAA будет частью этого фреймворка.

Реализации Microsoft Active Accessibility

Active Accessibility доступен разработчикам во всех версиях Windows, начиная с Windows 95. С момента своего первоначального появления MSAA использовался как способ добавления поддержки программного доступа к пользовательскому интерфейсу для многих деловых и потребительских приложений, включая Microsoft Internet Explorer , Mozilla Firefox , Microsoft Office и т. д. Помимо средств обеспечения доступности, таких как программы чтения с экрана, экранные лупы, устройства дополнительной и альтернативной коммуникации (AAC), эта технология использовалась программным обеспечением для автоматизации тестирования , таким как QuickTest Pro, Functional Tester и SilkTest.

Дополнительные реализации MSAA в приложениях и продуктах AT можно найти, выполнив поиск на сайтах Microsoft Accessibility или на веб-сайте AT Information. [5] [6] [7]

Ссылки

  1. Почтовая рассылка NFB-RD, февраль 1996 г., «OLAE [sic] доступность»
  2. ^ Поддерживаемые платформы: Active Accessibility — MSDN
  3. ^ Сеть разработчиков Microsoft (MSDN): https://msdn.microsoft.com/en-us/library/bb773173(VS.85).aspx Элементы управления Windows.
  4. ^ Microsoft Developer Network (MSDN): Спецификация автоматизации пользовательского интерфейса
  5. ^ Microsoft: Специальные возможности в продуктах Microsoft.
  6. ^ Microsoft: История приверженности Microsoft обеспечению доступности.
  7. ^ Trace Center: Ссылки на информацию о вспомогательных технологиях. Архивировано 23 июля 2012 г. на archive.today .

Внешние ссылки