Microsoft Active Accessibility (MSAA) は、ユーザーインターフェイスのアクセシビリティのためのアプリケーションプログラミングインターフェイス （API）である。 MSAAは、1997年にMicrosoft Windows 95プラットフォームの追加機能として導入された。 MSAAにより、 支援技術 （AT）製品がアプリケーション（またはオペレーティングシステム）の標準およびカスタムユーザーインターフェイス （UI）要素とやり取りし、アプリケーションのUI要素にアクセス、識別、および操作できるようになる。 支援技術製品はMSAA対応のアプリケーションと連携して、身体的または認知的困難を持つ障碍者が、対応アプリケーションをより使いやすくするよう支援する。 支援技術製品の例としては、視力障害のあるユーザー向けのスクリーンリーダー、身体的障害のあるユーザー向けのスクリーンキーボード、聴覚障害のあるユーザー向けのナレーターなどがある。 MSAAは、自動テストツール、RPAやコンピュータベースのトレーニングアプリケーションでも使用される。

MSAAの最新版は、Microsoft UI Automation Community Promise仕様の一部に含まれる。

 歴史 
Active Accessibilityは当初OLE Accessibilityと呼ばれ、これはoleacc.dllといったバイナリファイルや、定義と宣言を含むヘッダーファイルoleacc.hなどの名前に反映されている。 1996年3月にはマイクロソフトはActiveXのブランド名を前面に押し出す施策の一環として、OLE AccessibilityはActiveX Accessibility（AXAとも呼ばれる）に改名され、1996年3月にサンフランシスコで開催されたMicrosoft Professional Developers Conferenceで発表された。 その後、ActiveXブランドはインターネット固有のテクノロジーに集約され、ActiveX AccessibilityはActive Accessibility、短縮名MSAAとなった。

MSAAは、1997年4月にMicrosoft Active Accessibility Software Developers Kit（SDK）バージョン1.0の一部として提供された。 SDKには、ドキュメント、プログラミングライブラリ、サンプルソースコード、および再配布可能キット（RDK）が含まれており、支援技術の提供ベンダーが製品に含めることができた。 RDKには、Microsoft Windows 95用の更新されたオペレーティングシステムコンポーネントが含まれていた。 Windows 98およびWindows NT 4.0 Service Pack 4以降、MSAAはWindowsプラットフォームのすべてのバージョンに組み込まれており、その後定期的に更新されている。

Windowsと支援技術アプリケーションのプログラムによる連携は、これまでMSAAを通じて行われてきた。 ただし、新しいアプリケーションでは、 Windows VistaおよびNET Framework 3.0で導入されたMicrosoft UI Automation (UIA) を使用するようになった。

 バージョン履歴 
今までに次のActive Accessibilityバージョンがリリースされた。
 バージョン 説明 1.0 Windows 95用の追加機能として最初のバージョンをリリース。 RDKは、英語版OSでのみサポートされた。（1997） 1.1 Windows 98に同梱された。 1.2.x 英語版Windowsとローカライズ版Windowsの両方で利用可能になったMSAAの最初のバージョン。 （1998） 1.3.x より多くの言語でサポートされた。言語リソースを格納するサテライトDLL (oleaccrc.dll) が導入された。 その後、Windows NT 4.0 Service Pack 6以降、Windows 98、Windows 2000、およびWindows Meに統合された。 （1999） 2.0 MSAAの最初のメジャーバージョンアップ。Dynamics AnnotationとMSAA Textのサポートが追加された。 このバージョンはWindows XPに統合された。 以降のバージョンのWindowsには、MSAAフレームワークにマイナーな改訂が行われた。 バージョン2.0の再配布可能キットは、2003年に古いプラットフォーム（Windows 95、98、2000、Me、NT）で利用可能になった。（2000–2008） 3.0 MSAAおよびUI Automation (UIA) はWindows プラットフォームアクセシビリティAPIであるWindows Automation API 3.0の一部となった。 Windows Automation APIはWindows 7に含まれ、Windows VistaおよびXPでも利用可能となった。（2009）

 目的 
MSAAは、基盤となるオペレーティングシステムやアプリケーションと、支援技術製品の間の、シームレスな通信メカニズムを可能にするために開発された。

MSAAのプログラム上の目標は、Windowsコントロールが、名前、画面上の場所、コントロールの種類などの基本情報、および表示/非表示や、有効/無効の状態、選択済みなどの状態情報を公開できるようにすることである。

 技術的概要 

 利用できるオペレーティングシステム 
MSAAは当初、Windows 95の追加機能としてリリースされた。 以降のすべてのバージョンのWindowsに同梱されている。

 関連テクノロジ 
Microsoft UI Automation （UIA） ：MSAAの後継は、UI Automation (UIA) である。しかし MSAA に依存するアプリケーションがまだ存在するため、UIA アプリケーションと MSAA アプリケーションの橋渡しが行われ、2つの API の間で情報共有が可能である。MSAA-to-UIA プロキシと UIA-to-MSAA ブリッジが開発された。前者は MSAA の情報を元に UIA クライアント API で利用可能とするコンポーネントである。後者は MSAA を使うクライアントアプリケーションが UIA を実装するアプリケーションにアクセスできるようにする仕組みである。

Accessible Rich Internet Applications （WAI-ARIA）：ARIA 属性から UIA への一般的なマッピングも利用できる。

IAccessible2 ：MSAAの機能をベースにしている。 IAccessible2はMSAAの実装活用し、追加機能を提供する。

Windows Automation API ：Windows 7 より、マイクロソフトはアクセシビリティテクノロジーを Windows Automation API と呼ばれるフレームワークにパッケージした。MSAA も UIA もこのフレームワークの一部となった。

 Microsoft Active Accessibilityの実装 
Active Accessibilityは、Windows 95以降のすべてのバージョンで開発者が利用できる。 最初に導入されて以来、MSAAは、Microsoft Internet Explorer、Mozilla Firefox、Microsoft Officeなど、多くのビジネスおよびコンシューマアプリケーションのUIへのプログラムによるアクセスを行う方法として使用された。 スクリーンリーダー、画面拡大鏡、重度障害者用意思伝達装置などのアクセシビリティツールに加えて、このテクノロジーはQuickTest Pro、Functional Tester、SilkTestなどのテスト自動化ソフトウェアでも使用されている。

MSAAを実装しているアプリケーションおよび支援技術製品は、マイクロソフトアクセシビリティサイトまたは支援技術情報Webサイトで検索できる。