Přehled zprostředkovatelů automatizace uživatelského rozhraní
Zprostředkovatel Microsoft UI Automation je softwarový objekt, který zveřejňuje prvek uživatelského rozhraní aplikace, aby klientské aplikace pro usnadnění přístupu mohly načíst informace o prvku a vyvolat jeho funkce. Obecně platí, že každý ovládací prvek nebo jiný odlišný prvek v uživatelském rozhraní má zprostředkovatele.
Microsoft obsahuje zprostředkovatele pro každý ze standardních ovládacích prvků, které jsou dodávány se systémem Microsoft Win32, Windows Forms a Windows Presentation Foundation (WPF). To znamená, že standardní ovládací prvky jsou automaticky zpřístupněny klientům automatizace uživatelského rozhraní; pro standardní ovládací prvky nemusíte implementovat žádná rozhraní přístupnosti.
Pokud vaše aplikace obsahuje jakékoli vlastní ovládací prvky, musíte pro tyto ovládací prvky implementovat zprostředkovatele automatizace uživatelského rozhraní, aby byly přístupné klientským aplikacím pro usnadnění přístupu. Musíte také implementovat poskytovatele pro všechny ovládací prvky třetích stran, které nemají poskytovatele. Zprostředkovatele implementujete tím, že implementujete rozhraní poskytovatele automatizace uživatelského rozhraní a rozhraní ovládacích vzorů.
Toto téma obsahuje přehled toho, jak vývojáři ovládacího prvku implementují zprostředkovatele automatizace uživatelského rozhraní. Obsahuje následující části.
- Typy Poskytovatelů
- Koncepty zprostředkovatele automatizace uživatelského rozhraní
- související témata
Typy poskytovatelů
Zprostředkovatelé automatizace uživatelského rozhraní spadají do dvou kategorií: zprostředkovatele na straně serveru a zprostředkovatele na straně klienta (nebo proxy).
Zprostředkovatel na straně serveru je objekt, například vlastní ovládací prvek, který obsahuje vlastní nativní implementaci příslušných rozhraní zprostředkovatele automatizace uživatelského rozhraní. Zprostředkovatel na straně serveru komunikuje s klientskými aplikacemi přes hranici procesu tím, že zpřístupňuje svou implementaci rozhraní zprostředkovatele jádru automatizace uživatelského rozhraní, které zpracovává požadavky od klientů. Další informace o zprostředkovateli na straně serveru naleznete v tématu Implementace poskytovatele Server-Side automatizace uživatelského rozhraní.
Zprostředkovatel na straně klienta, nebo proxy server, je objekt, který jménem ovládacího prvku implementuje rozhraní zprostředkovatele automatizace uživatelského rozhraní, aniž by obsahoval úplnou implementaci vlastního poskytovatele. Bez proxy je takový ovládací prvek z velké části neprůhledný pro automatizaci uživatelského rozhraní, která může poskytovat pouze základní informace dostupné z úchytu okna (HWND), jako je umístění ovládacího prvku. Zprostředkovatelé proxy serveru obvykle komunikují s aplikací přes hranice procesu odesíláním a příjmem zpráv systému Windows. Další informace naleznete v tématu Implementace Client-Side (Proxy) zprostředkovatele automatizace uživatelského rozhraní.
Koncepty zprostředkovatele automatizace uživatelského rozhraní
Tato část obsahuje stručné vysvětlení některých klíčových konceptů, které potřebujete pochopit, aby bylo možné implementovat zprostředkovatele automatizace uživatelského rozhraní.
Prvky
Prvky automatizace uživatelského rozhraní jsou části uživatelského rozhraní ( obvykle okna nebo ovládací prvky), které jsou viditelné pro klienty automatizace uživatelského rozhraní. Mezi příklady patří okna aplikací, podokna, tlačítka, popisy tlačítek, seznamy a položky seznamu.
Prvky automatizace uživatelského rozhraní jsou klientům zpřístupněny jako strom. Automatizace uživatelského rozhraní vytvoří strom tak, že přejde z jednoho prvku do druhého. Navigaci umožňuje poskytovatel pro každý prvek. Každý prvek může odkazovat na vlastní nadřazený prvek, na své sousední prvky a na první a poslední podřízené prvky.
Klient vidí strom automatizace uživatelského rozhraní ve třech hlavních zobrazeních, jak je popsáno v následující tabulce:
Pohled | Popis |
---|---|
Nezpracované zobrazení | Zahrnuje všechny prvky. |
Zobrazení ovládacího prvku | Obsahuje prvky, které jsou ovládacími prvky. |
Zobrazení obsahu | Obsahuje ovládací prvky, které předávají informace uživateli. |
Je zodpovědností implementace zprostředkovatele definovat prvek jako prvek obsahu nebo ovládací prvek. Prvky ovládacího prvku mohou nebo nemusí být také prvky obsahu, ale všechny prvky obsahu jsou ovládací prvky.
Další informace o klientském zobrazení stromu naleznete v tématu Přehled stromu automatizace uživatelského rozhraní.
Rámce
Rámec je komponenta, která spravuje podřízené ovládací prvky, testování zásahu a vykreslování v oblasti obrazovky. Například okno Win32, často označované jako HWND, může sloužit jako architektura, která obsahuje více prvků automatizace uživatelského rozhraní, jako je řádek nabídek, stavový řádek a tlačítka.
Ovládací prvky kontejneru Win32, jako jsou seznamová pole a ovládací prvky stromového zobrazení, se považují za architektury, protože obsahují vlastní kód pro vykreslování podřízených položek a provádění testování výsledků na nich. Naproti tomu seznam WPF není framework, protože vykreslování a hit-testování je zpracováno oknem, které ho obsahuje.
Uživatelské rozhraní v aplikaci může být tvořeno různými architekturami. Například HWND v aplikaci může obsahovat dynamický HTML (DHTML), který může zase obsahovat komponentu, jako je například pole se seznamem v HWND.
Úlomky
Úplný podstrom prvků z konkrétní architektury se nazývá fragment. Element v kořenovém uzlu podstromu se nazývá kořen fragmentu. Kořen fragmentu nemá nadřazený objekt, ale je hostovaný v některé jiné rozhraní, obvykle v okně Win32 (HWND).
Hostitelé
Kořenový uzel každého fragmentu musí být hostovaný v elementu, obvykle v okně Win32 (HWND). Výjimkou je desktop, který není hostovaný v žádném jiném prvku. Hostitelem vlastního ovládacího prvku je HWND samotného ovládacího prvku, nikoli okno aplikace ani žádné jiné okno, které může obsahovat skupiny ovládacích prvků nejvyšší úrovně.
Hostitel fragmentu hraje důležitou roli při poskytování služeb automatizace uživatelského rozhraní. Umožňuje navigaci do kořene fragmentu a poskytuje některé výchozí vlastnosti, aby je vlastní zprostředkovatel nemusel implementovat.
Související témata
-
koncepční
-
Implementace zprostředkovatele automatizace uživatelského rozhraní Client-Side
-
Implementace Server-Side zprostředkovatele automatizace uživatelského rozhraní