Microsoft UI Automation (UIA) (マイクロソフト・ユーアイ・オートメーション) は他のアプリケーションのユーザインターフェイス (UI) 要素を識別して操作するためのアプリケーションプログラミングインターフェイス (API)である。
UIA はユーザインターフェイスのアクセシビリティの提供を目標としており、Microsoft Active Accessibility の後継である。また、グラフィカルユーザインターフェイス(GUI)のテスト自動化を容易にし、多くのテスト自動化ツールが基礎にするエンジンでもある。RPAツールもビジネスプロセスで使われるアプリケーションの自動化に利用している。 UIAのプロパティプロバイダは Win32 と .NET のプログラムもサポートする。
UIAの最新仕様は Microsoft UI Automation Community Promise Specification の一部となっている。マイクロソフトは Microsoft Windows プラットフォーム以外への移植はデザイン目標の一つであると主張しており、Mono にも移植された。
2005年に、マイクロソフトは MSAA フレームワークの後継として UIA をリリースした。
マネージド UI Automation APIは.NET Framework 3.0の一部としてリリースされた。 ネイティブ UI Automation API (プロバイダ)はWindows Vista と Windows Server 2008 SDK に含まれており、.NET Frameworkと一緒にも配布された。
UIA は Windows Automation API 3.0 の一部として Windows 7 に同梱され、個別ダウンロードとして Windows XP、Windows Vista、Windows Server 2003/2008 向けに提供された。
MSAA の後継として UIA では以下のことを目指している。
UIA は当初 Windows Vista と Windows Server 2008 で利用でき、その後 Windows XP と Windows Server 2003 でも .NET Framework 3.0 の一部として利用可能となった。Windows 7 等、以降のすべての Windows バージョンに統合された。
Windows プラットフォーム以外には、Olive プロジェクト (.NET Framework のサポートを約束している Mono coreのアドオンライブラリ一式) が WPF (PresentationFramework および WindowsBase) と UI Automation のサブセットを同梱した。
ノベルによる Mono アクセシビリティプロジェクトは Mono フレームワークを対象とした UIA プロバイダとクライアントの実装である。加えて、このプロジェクトは Accessibility Toolkit (ATK) for Linux assistive technologies (ATs) との橋渡しとなっている。ノベルは UIA-based ATs との橋渡しを行うことで、ATK を実装するアプリケーションと関われるようにしている。
AriaRole および AriaProperties プロパティは HTML 要素 (ウェブブラウザによりオートメーション要素としてアクセス可能となる)に対応する ARIA 属性値へのアクセスを可能とする。ARIA 属性から UIA への一般的なマッピングも利用できる。