Návrh vlastních vlastností, událostí a vzorů ovládacích prvků
Návrh vlastní vlastnosti, události nebo vzoru ovládacího prvku by měl být užitečný v široké škále implementací ovládacích prvků. Návrhy specifické pro řízení nebo aplikace, které jsou užitečné pouze v omezených scénářích, by se měly vyhnout. Návrh by měl postupovat podle příkladu existujících vlastností, událostí a řídicích vzorů Microsoft UI Automation, které byly pečlivě specifikovány tak, aby splňovaly potřeby široké škály aplikací pro usnadnění a automatizované testování.
Implementace specifikace vlastní vlastnosti, události nebo vzoru kontroly zahrnuje spolupráci a dohodu stran na straně klienta i poskytovatele a vyžaduje, aby obě strany implementovaly specifikaci konzistentně. Společnosti se doporučuje spolupracovat s oborovými organizacemi, jako je AIA (Accessibility Interoperability Alliance) navrhnout a publikovat specifikaci pro vlastní vlastnost, událost nebo vzor ovládacího prvku. Tímto způsobem lze dosáhnout konsensu a zajistit interoperabilitu s širokou škálou aplikací.
Toto téma obsahuje následující části:
- kdy použít vlastní vlastnosti a události
- navrhování vlastních vlastností
- navrhování vlastních událostí
- navrhování vlastních vzorů ovládacích prvků
- typy vlastních ovládacích prvků
- související témata
Kdy použít vlastní vlastnosti a události
Před vytvořením vlastní vlastnosti, události nebo vzoru ovládacího prvku se ujistěte, že automatizace uživatelského rozhraní neposkytuje existující řešení. Například vytvoření vlastního vzoru ovládacího prvku "Kliknutí" není nutné, protože Vyvolat vzor ovládacího prvku už tuto funkci popisuje.
Pokud se rozhodnete, že je potřeba vlastní vlastnost, událost nebo vzor ovládacího prvku, ujistěte se, že není příliš vágní nebo obecný. Například vzor ovládacího prvku s názvem Show není užitečný, protože viditelnost ovládacího prvku může být označena vlastností dostupnosti prvku, například UIA_IsExpandCollapsePatternAvailablePropertyId nebo UIA_IsScrollItemPatternAvailablePropertyId.
Před implementací vlastního řešení pečlivě ověřte, že je potřeba, a pak zcela navrhněte funkčnost.
Návrh vlastních vlastností
Automatizace uživatelského rozhraní zahrnuje dva základní typy vlastností: vlastnosti elementu automatizace a vlastnosti vzoru ovládacích prvků. Vlastnosti elementu automation se skládají z společné sady vlastností, jako je Name, AcceleratorKey a ClassName, které jsou vystaveny všemi prvky automatizace uživatelského rozhraní bez ohledu na typ ovládacího prvku. Vlastnosti vzoru ovládacích prvků jsou vystaveny ovládacím prvkům prostřednictvím konkrétního vzoru ovládacího prvku. Každý vzor ovládacího prvku má odpovídající sadu vlastností vzoru ovládacího prvku, které musí ovládací prvek vystavit. Například ovládací prvek, který podporuje Grid vzor ovládacího prvku zveřejňuje vlastnosti ColumnCount a RowCount.
Vlastnost elementu vlastní automatizace nebo vlastnost vzoru ovládacího prvku by měly dodržovat následující pokyny pro návrh:
- Vlastní vlastnost musí mít jeden z následujících datových typů určených UIAutomationType výčtu. Pro vlastní vlastnosti nejsou podporovány žádné jiné datové typy.
- UIAutomationType_Bool
- UIAutomationType_Double
- UIAutomationType_Element
- UIAutomationType_Int
- UIAutomationType_Point
- UIAutomationType_String
- Pokud vlastní vlastnost obsahuje řetězcová data (BSTR), musí specifikace uvést, zda je vlastnost lokalizovatelná (to znamená, zda lze řetězec přeložit do různých jazyků uživatelského rozhraní).
- Vlastní vlastnost by se neměla překrývat s funkcemi nebo funkcemi existujících vlastností.
Návrh vlastních událostí
Aplikace používají oznámení událostí automatizace uživatelského rozhraní k reakci na změny a akce související s položkami uživatelského rozhraní. Většina vlastností má přidružené události změny vlastností, které automatizace uživatelského rozhraní vyvolá, když se hodnota vlastnosti změní. Pokud zavádíte vlastní vlastnost, měli byste zvážit zavedení všech odpovídajících vlastních událostí, které můžou být také potřeba.
Vlastní událost by měla dodržovat následující pokyny pro návrh:
- Vlastní událost musí být bezstavová. Nelze ji přidružit ke konkrétní vlastnosti nebo hodnotě.
- Vlastní událost by se neměla překrývat s definicí ani rolí žádné existující události.
Vlastní události automatizace uživatelského rozhraní a WinEvents
winEvents jsou užitečným mechanismem komunikace mezi procesy a událostmi na platformě Microsoft Windows. Zavedení nového ID WinEvent je ale rizikové, protože může způsobit kolize s jinými aplikacemi nebo operačním systémem, což vede k tomu, že systém bude nestabilní. Aby se zabránilo kolizím, Microsoft definoval několik různých kategorií WinEvents a pro každou kategorii definoval jeden nebo více rozsahů hodnot pro použití jako ID WinEvent. Další informace naleznete v tématu Přidělení ID WinEvent.
Události automatizace vlastního uživatelského rozhraní se vyhýbají konfliktům tím, že id události interně přidělíte v rámci architektury Automatizace uživatelského rozhraní.
Návrh vzorů vlastních ovládacích prvků
Vzor ovládacího prvku je rozhraní s vlastnostmi, metodami a událostmi, které definují samostatnou část funkcí dostupnou z prvku automatizace. Metody vzorů ovládacích prvků umožňují klientům automatizace uživatelského rozhraní manipulovat s určitým aspektem ovládacího prvku. Vlastnosti vzoru ovládacích prvků a události poskytují informace o určitém aspektu ovládacího prvku a poskytují informace o stavu prvku automatizace, který implementuje vzor ovládacího prvku.
Vlastní vzor ovládacího prvku by měl dodržovat následující pokyny pro návrh:
- Vzor vlastního ovládacího prvku by měl zahrnovat konkrétní scénář. Například vzor ovládacího prvku ItemContainer je určený k dotazování obsaženého objektu bez ohledu na stav virtualizace, ale nevyčtuje ani nepočítá obsažené objekty.
- Vlastní vzor ovládacího prvku by se neměl překrývat s funkcemi existujících vzorů ovládacích prvků. Například Vyvolat a ExpandCollapse vzory ovládacích prvků by se neměly kombinovat a prezentovat jako nový vzor ovládacího prvku. Buď znovu použijte existující vzory ovládacích prvků, nebo definujte jedinečné scénáře s novými vzory ovládacích prvků.
- Několik vlastních vzorů ovládacích prvků lze společně navrhnout tak, aby podporovaly složité scénáře. Například vzory ovládacích prvků Výběr a SelectionItem podporují obecné scénáře výběru objektů.
Vlastní typy ovládacích prvků
I když se toto téma zaměřuje na registraci vlastních vlastností automatizace uživatelského rozhraní, událostí a vzorů ovládacích prvků, je také možné zavést nové typy ovládacích prvků. Na rozdíl od vlastních vlastností, událostí a vzorů ovládacích prvků nelze vlastní typ ovládacího prvku zaregistrovat programově za běhu, protože je to vlastně jen potenciální hodnota vlastnosti CONTROLType automatizace uživatelského rozhraní. ID vlastního typu ovládacího prvku je však možné definovat, publikovat a zpřístupnit ostatním klientům a poskytovatelům, které můžou používat. Další informace o typech ovládacích prvků najdete v tématu Přehled typů ovládacích prvků automatizace uživatelského rozhraní.
Související témata
-
koncepční
-
registrace vlastních vlastností, událostí a vzorů ovládacích prvků
-
Přehled vzorů ovládacích prvků automatizace uživatelského rozhraní