Microsoft Active Accessibility - компоненти Microsoft Windows на основі технології COM, що надають інтерфейс до допоміжним технологіям ( англ. assistive technologies ).


1. Історія

MSAA був спочатку зроблений в квітні 1997 року у формі Re-Distributable Kit (RDK), яка включала оновлення компонентів операційної системи для Microsoft Windows 95. MSAA була вбудована в усі версії платформи Windows, і отримала періодичне оновлення і виправлень з плином часу.

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


2. Історія версій

Наступні версії Active Accessibility були випущені [1] :

Версія Опис
1.0 Оригінальне доповнення випуск для Windows 95. RDK підтримувалося лише в англійській версії операційної системи. (1997)
1.1 Включено в Windows 98.
1.2.x Перша редакція MSAA, була представлена ​​на англійських і міжнародних версіях Windows. (1998)
1.3.x Додатково додана підтримка більшої кількості мов. Представлений супутниковий DLL (oleaccrc.dll) за свої міжнародні бібліотеки ресурсів тексту. Пізніше компоненти системи були інтегровані в Windows NT 4.0 [Service Pack 6] і вище, Windows 98, Windows 2000 і Windows Me. (1999)
2.0 У перший серйозний випуск MSAA, додали підтримку динамічних заміток і MSAA Text. Ця версія була інтегрована в Windows XP. Незначні зміни були внесені в рамках MSAA в наступних версіях Windows. Версії 2.0 RDK була надана для старих платформ (Windows 95, 98, 2000, Me, NT) в 2003 році. (2000-2008)
3.0 Framework став частиною Windows Automation API 3.0, який був інтегрований доступ для платформи Windows API встановленої в MSAA і UI Automation (МСА). Windows Automation API включений в Windows 7 і доступний для Windows Vista і XP (2009)

3. Мотивація та цілі

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

Програмною метою MSAA є надання Windows, управляти основною інформацією такий як ім'я, розташування на екрані, або тип управління і формулювання інформації, таких як видимість, включення або вибір.

4. Технічний огляд

MSAA заснована на Component Object Model (COM). COM визначає механізм для додатків і операційних систем для зв'язку.

На малюнку 1 показана архітектура верхнього рівня MSAA.

Додатки (наприклад, текстовий процесор), називаються серверами в MSAA тому що вони забезпечують або обслуговують, інформацію про їх користувацьких інтерфейсах (UI). Доступність інструментів (наприклад, засоби читання з екрану), називаються клієнтами в MSAA, тому що вони споживають і взаємодіють з UI інформацією з додатка.

Система компонента MSAA framework, Oleacc.dll сприяє комунікацій між доступними засобами (клієнтів) та додатків (сервера). Код кордону вказує на програмну кордон між додатками, які надає UI доступ до інформації і доступними засобами, які взаємодіють з UI від імені користувачів. Межа може бути також процесом кордону, коли MSAA клієнта имет власний процес.

Microsoft Active Accessibility

Користувальницький інтерфейс представлений у вигляді ієрархії доступних об'єктів; зміни і дії представлені у вигляді WinEvents.


5. Ролі, імена, значення, стану

MSAA передає інформацію, посилаючи невеликі шматки інформації про елементи програми допоміжним об'єктом техніки (АТ). Чотири критичних фрагмента інформації, на яку спирається AT, щоб допомогти користувачам взаємодіяти з додатками є роллю елемента, ім'я, значення і стан:

  • Роль: Передає користувачам через AT, тип об'єкта управління, такі як кнопки або стіл.
  • Ім'я: Забезпечує позначку для записів, таких як кнопку Далі, яка переміщує користувачів до наступній сторінці або Ім'я для полі введення.
  • Значення: Містить значення вказаного предмету, наприклад, значення повзунка або інформацію в редагованому текстовому полі.
  • Стану: Визначає поточний стан управління, наприклад, перевіряється на прапорці.

Microsoft надає повний список елементів управління і їх функції.


5.1. Роль

Роль інформації в залежності від типу інтерфейсу управління, з якими розробник хоче взаємодіяти. Наприклад, якщо розробник здійснює кнопку, кліки, розробник вибирає Кнопку як Роль в реалізації. У наступній таблиці показаний приклад списку MSAA Ролей і їх відповідні опису.

Роль Опис
ROLE_SYSTEM_APPLICATION Вказує уявлення об'єктом основного вікна додатка.
ROLE_SYSTEM_BUTTONMENU Вказує уявлення об'єктом кнопки, розкривала меню.
ROLE_SYSTEM_CARET Вказує уявлення об'єктом системного текстового курсора.
ROLE_SYSTEM_DIALOG Вказує уявлення об'єктом діалогового поля або поля повідомлень.
ROLE_SYSTEM_DOCUMENT Вказує уявлення об'єктом вікна документа.
ROLE_SYSTEM_GRAPHIC Вказує уявлення об'єктом зображення.
ROLE_SYSTEM_LIST Вказує уявлення об'єктом поля списку, де користувач може вибрати один або більше елементів.
ROLE_SYSTEM_MENUBAR Вказує уявлення об'єктом рядка меню, звичайно наступної за (під) рядком заголовка вікна, в якому користувач може вибирати меню.
ROLE_SYSTEM_PROGRESSBAR Вказує уявлення об'єктом індикатора виконання, динамічно відображає відсоткове відношення виконання поточної операції.
ROLE_SYSTEM_PUSHBUTTON Вказує уявлення об'єктом елемента керування нажимною кнопки.
ROLE_SYSTEM_RADIOBUTTON Вказує уявлення об'єктом кнопки вибору (також званої перемикачем).
ROLE_SYSTEM_SCROLLBAR Вказує уявлення об'єктом вертикальної або горизонтальної смуги прокручування, яка може бути елементом області клієнта або використовуватися в елементі керування.
ROLE_SYSTEM_TITLEBAR Вказує уявлення об'єктом рядка заголовка або підписи для вікна.
ROLE_SYSTEM_TOOLBAR Вказує уявлення об'єктом панелі інструментів, що є групою елементів керування, що забезпечують швидкий доступ до часто використовуваних функцій.
ROLE_SYSTEM_WINDOW Вказує уявлення об'єктом рамки вікна, зазвичай містить такі нижчестоящі елементи, як рядок заголовка, клієнт та інші типові об'єкти вікна.

5.2. Ім'я

Імена елементів у додаток включені в код розробника. Багато об'єктів, такі як значки, меню, прапорці, поля зі списком, і інші елементи етикетки, які відображаються для користувачів. Будь-який ярлик, який відображається для користувачів на керування (напр.-кнопка) використовується за умовчанням для імені об'єкта нерухомості. Переконайтеся, що Ім'я об'єкта має сенсу для користувача і описує контролю належним чином. Властивість Name не повинні включати в себе контроль за роль або тип інформації, як, наприклад, кнопку або списку, або це буде конфлікт з текстом з ролі власності (одержаних від GetRoleText функція MSAA API).


5.3. Значення

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

Не всі об'єкти мають Значення, покладені на них.

5.4. Стан

Стан майна описує об'єкт у стан на момент часу. Microsoft Active Accessibility забезпечує стан об'єкта константи, визначених у oleacc.h, об'єднаних для ідентифікації стану об'єкта. Якщо зумовлені значення стану повертаються, клієнти використовують GetStateText для отримання локалізованих рядків, що описує стан. Всі об'єкти підтримки Стан власності.


6. Доступність

MSAA спочатку була доступна як доповнення до Windows 95. Вона була інтегрована для всіх наступних версій Windows, аж і включається в Windows 7.

Примітки

  1. Supported Platforms: Active Accessibility - MSDN - msdn.microsoft.com/en-us/library/dd373654 (VS.85). aspx