Megosztás a következőn keresztül:


A felhasználói felület automatizálása és a Microsoft aktív akadálymentessége

Megjegyzés:

Ez a dokumentáció azoknak a .NET-keretrendszer-fejlesztőknek készült, akik a System.Windows.Automation névtérben definiált felügyelt felhasználói felületi Automation-osztályokat szeretnék használni. A felhasználói felület automatizálásával kapcsolatos legfrissebb információkért lásd Windows Automation API: UI Automation.

A Microsoft Active Accessibility volt a korábbi megoldás az alkalmazások akadálymentesítésére. A Microsoft UI Automation a Microsoft Windows új akadálymentességi modellje, amely a kisegítő technológiai termékek és az automatizált tesztelési eszközök igényeinek kielégítésére szolgál. A felhasználói felület automatizálása számos fejlesztést kínál az aktív akadálymentességgel szemben.

Ez a témakör a felhasználói felület automatizálásának fő funkcióit tartalmazza, és ismerteti, hogy ezek a funkciók miben különböznek az aktív akadálymentességtől.

Programozási nyelvek

Az aktív akadálymentesség a komponensobjektum-modellen (COM) alapul, amely támogatja a kettős interfészeket, ezért C/C++, Microsoft Visual Basic 6.0 és szkriptnyelvek használatával programozható. A felhasználói felületi automatizálás (beleértve a standard vezérlők ügyféloldali szolgáltatói kódtárát) felügyelt kódban van megírva, a felhasználói felület automation-ügyfélalkalmazásai pedig a legegyszerűbben C# vagy Visual Basic .NET használatával vannak programozva. A felhasználói felületi automatizálási szolgáltatók, amelyek felületi implementációk, felügyelt kódban vagy C/C++-ban írhatók.

Támogatás a Windows Presentation Foundationben

A Windows Presentation Foundation (WPF) a felhasználói felületek létrehozásának új modellje. A WPF-elemek nem tartalmaznak natív támogatást az aktív kisegítő lehetőségekhez; Azonban támogatják a felhasználói felület automatizálását, amely magában foglalja az aktív akadálymentességi ügyfelek áthidaló támogatását. Csak a kifejezetten a felhasználói felület automatizálásához írt ügyfelek használhatják ki teljes mértékben a WPF akadálymentességi funkcióit, például a szöveg sokoldalú támogatását.

Kiszolgálók és ügyfelek

Az aktív akadálymentességben a kiszolgálók és az ügyfelek közvetlenül kommunikálnak, nagyrészt a kiszolgáló implementációján IAccessiblekeresztül.

A felhasználói felületi automatizálásban egy alapvető szolgáltatás a kiszolgáló (más néven szolgáltató) és az ügyfél között található. Az alapszolgáltatás hívásokat indít a szolgáltatók által implementált felületekre, és további szolgáltatásokat nyújt, például egyedi futtatókörnyezet-azonosítókat hoz létre az elemekhez. Az ügyfélalkalmazások kódtárfüggvényeket használnak a felhasználói felület automatizálási szolgáltatásának meghívásához.

A felhasználói felületi automatizálási szolgáltatók információkat biztosíthatnak az aktív akadálymentességi ügyfeleknek, az Aktív akadálymentességi kiszolgálók pedig információkat nyújthatnak a felhasználói felület automation-ügyfélalkalmazásai számára. Mivel azonban az aktív akadálymentesség nem tesz elérhetővé annyi információt, mint a felhasználói felület automatizálása, a két modell nem teljes mértékben kompatibilis.

Felhasználói felület elemei

Az Aktív akadálymentesség felületként IAccessible vagy gyermekazonosítóként jeleníti meg a felhasználói felület elemeit. Nehéz összehasonlítani két IAccessible mutatót annak megállapításához, hogy ugyanarra az elemre hivatkoznak-e.

A felhasználói felület automatizálásában minden elem objektumként AutomationElement jelenik meg. Az összehasonlítás az egyenlőségi operátor vagy a Equals metódus használatával történik, amelyek mindegyike az elemek egyedi futtatókörnyezet-azonosítóit hasonlítja össze.

Fanézetek és navigáció

A felhasználói felület (UI) elemei a képernyőn faszerkezetként tekinthetők meg, az asztal pedig gyökérként, az alkalmazásablakokat közvetlen gyermekként, az alkalmazások elemeit pedig további leszármazottakként.

Az aktív akadálymentességben számos, a végfelhasználók számára irreleváns automatizálási elem jelenik meg a fában. Az ügyfélalkalmazásoknak meg kell vizsgálniuk az összes elemet, hogy megállapítsák, melyek jelentőséggel bírnak.

A felhasználói felület automation-ügyfélalkalmazásai szűrt nézetben tekintik meg a felhasználói felületet. A nézet csak azokat az elemeket tartalmazza, amelyek információt adnak a felhasználónak, vagy engedélyezik az interakciót. Előre definiált nézetek csak vezérlőelemekről és csak tartalomelemekről érhetők el; Emellett az alkalmazások egyéni nézeteket is definiálhatnak. A felhasználói felület automatizálása egyszerűbben írja le a felhasználói felületet a felhasználónak, és segít a felhasználónak az alkalmazással való interakcióban.

Az aktív akadálymentességben az elemek közötti navigálás térbeli (például a képernyő bal oldalán található elemre való áttérés), logikai (például a következő menüelemre való áttérés, vagy a párbeszédpanelen belüli tabulátorsorrend következő eleme) vagy hierarchikus (például az első gyermek áthelyezése egy tárolóban vagy a gyermekről a szülőjére). A hierarchikus navigációt bonyolítja az a tény, hogy a gyermekelemek nem mindig implementált IAccessibleobjektumok.

A felhasználói felületi automatizálásban minden felhasználói felületi elem AutomationElement olyan objektum, amely ugyanazt az alapvető funkciót támogatja. (A szolgáltató szempontjából ezek olyan objektumok, amelyek megvalósítanak egy, a IRawElementProviderSimple-ból örökölt felületet.) A navigáció főként hierarchikus: a szülőktől a gyermekekig és egyik testvértől a másikig. (A testvérek közötti navigálásnak logikai eleme van, mivel az a tabulátor sorrendjét követheti.) A TreeWalker osztály használatával bármely kezdőpontról, a fa bármely szűrt nézetén keresztül navigálhat. A FindFirst és FindAll használatával műveleti úton navigálhat az egyes gyerekekhez vagy leszármazottakhoz; például nagyon könnyen le lehet kérni a párbeszédablakban található összes olyan elemet, amely támogatja a megadott vezérlőmintát.

A felhasználói felületi automatizálásban a navigáció konzisztensebb, mint az aktív akadálymentességben. Egyes elemek, például a legördülő listák és az előugró ablakok kétszer jelennek meg az Aktív akadálymentesség fában, és az ezekből való navigálás váratlan eredményeket eredményezhet. Valójában lehetetlen megfelelően implementálni az aktív akadálymentességet egy rebar vezérlőhöz. A felhasználói felület automatizálása lehetővé teszi az újratelepítést és az áthelyezést, így egy elem bárhol elhelyezhető a fában az ablakok tulajdonjoga által előírt hierarchia ellenére.

Szerepkörök és vezérlőtípusok

Az aktív akadálymentesség a accRole tulajdonság (IAccessible::get_actRole) használatával kéri le az elem szerepkörének leírását a felhasználói felületen, például ROLE_SYSTEM_SLIDER vagy ROLE_SYSTEM_MENUITEM. Az elem szerepe a rendelkezésre álló funkciók fő nyoma. A vezérlőkkel való interakció rögzített módszerekkel érhető el, például IAccessible::accSelect és IAccessible::accDoDefaultAction. Az ügyfélalkalmazás és a felhasználói felület közötti interakció csak a elvégezhető műveletekre IAccessiblekorlátozódik.

Ezzel szemben a felhasználói felület automatizálása nagyrészt leválasztja az elem vezérlőtípusát (amelyet a tulajdonság ír le) a ControlType várt funkcióktól. A funkcionalitást a szolgáltató által a speciális interfészek megvalósításán keresztül támogatott szabályozási minták határozzák meg. A vezérlőminták kombinálhatók egy adott felhasználói felületi elem által támogatott funkciók teljes halmazának leírásához. Bizonyos szolgáltatóknak támogatniuk kell egy adott ellenőrzési mintát; A jelölőnégyzet szolgáltatójának például támogatnia kell a kapcsolóvezérlési mintát. Más szolgáltatóknak egy vagy több ellenőrzési mintát kell támogatniuk; Például egy gombnak támogatnia kell a Kapcsoló vagy a Meghívás lehetőséget. Továbbra is mások egyáltalán nem támogatják az ellenőrzési mintákat; Például egy nem áthelyezhető, átméretezhető vagy rögzített panelen nincsenek vezérlőminták.

A felhasználói felület automatizálása támogatja az egyéni vezérlőket, amelyeket a Custom tulajdonság azonosít, és a LocalizedControlTypeProperty tulajdonság ír le.

Az alábbi táblázat az aktív kisegítő szerepkörök UI Automation-vezérlőtípusokhoz való leképezését mutatja be.

Aktív akadálymentességi szerepkör Felhasználói felület automatizálásának vezérlőtípusa
ROLE_SYSTEM_NYOMÓGOMB Gomb
ROLE_SYSTEM_CLIENT Naptár
Rendszer szintű jelölőnégyzet Jelölőnégyzet
RENDSZER_SZEREP_LEGÖRDÜLŐ_LISTA Kombinált lista
ROLE_SYSTEM_CLIENT Személyre szabott
RENDSZER_LISTA_SZEREP Adatrácsos
RENDSZER_LISTATÉTEL szerep Adatelem
RENDSZER_SZEREPKÖR_DOKUMENTUM Dokumentum
RENDSZER_SZEREPKÖR_SZÖVEG Szerkeszt
RENDSZERCSOPORTOSÍTÁS_SZEREPE Csoport
RENDSZER_LISTA_SZEREP Fejléc
SZEREP_RENDSZER_OSZLOPFEJLÉC Fejlécelem
RENDSZER_HIVATKOZÁS Hivatkozás
RENDSZER_GRAFIKA_SZEREP Kép
RENDSZER_LISTA_SZEREP Lista
RENDSZER_LISTATÉTEL szerep Listaelem
Menüelőugró ablak szerepe Menü
ROLE_SYSTEM_MENUBAR Menüsor
ROLE_SYSTEM_MENUITEM Menüpont
RENDSZERPANEL szerepkör Panel
RENDSZER_SZEREPKÖR_FOLYAMATJELZŐ_SÁV Folyamatjelző sáv
RENDSZER_RÁDIÓGOMB Választógomb
RENDSZER_GÖRGETŐSÁV Görgetősáv
RENDSZER_ELVÁLASZTÓ Elválasztó
ROLE_SYSTEM_SLIDER Csúszka
ROLE_SYSTEM_SZÁMVÁLASZTÓGOMB Léptető
RENDSZER_SZÉTVÁLASZTOTTGOMB Felosztás gomb
Rendszer állapotsor Állapotsor
Rendszer lapfüllista Tabulátor
ROLE_SYSTEM_PAGETAB Tab elem
RENDSZER_TÁBLÁZAT Táblázat
SZEREP_RENDSZER_STATIKUS_SZÖVEG Szöveg
SZEREP_RENDSZER_JELZŐ Hüvelykujj
RENDSZER_SZEREPKÖR_CÍMSOR Címsor
RENDSZER_ESZKÖZSÁV Eszközsáv
RENDSZERSZEREP_SZÖVEGBUBORÉK Eszköztipp
ROLE_SYSTEM_OUTLINE Fa
KÖRNYEZETI RENDSZER VÁZLAT ELEME Faelem
RENDSZERABLAK SZEREP Ablak

A különböző vezérlőtípusokról további információt a felhasználói felület automatizálási vezérlőtípusairól talál.

Állapotok és tulajdonságok

Az aktív akadálymentességben az elemek támogatják a közös tulajdonságokat, és egyes tulajdonságoknak (például accState) az elem szerepkörétől függően nagyon különböző dolgokat kell leírniuk. A kiszolgálóknak minden olyan metódust implementálniuk IAccessible kell, amely egy tulajdonságot ad vissza, még az elem szempontjából nem releváns metódusokat is.

A felhasználói felület automatizálása sokkal több tulajdonságot határoz meg, amelyek közül néhány az Aktív akadálymentesség állapotának felel meg. Némelyik az összes elemre jellemző, míg mások a vezérlőtípusokra és a szabályozási mintákra vonatkoznak. A tulajdonságokat egyedi azonosítók különböztetik meg, és a legtöbb tulajdonság egyetlen módszerrel lekérhető, GetCurrentPropertyValue vagy GetCachedPropertyValue. Számos tulajdonság is könnyen lekérhető a Current és Cached tulajdonság-hozzáférőkből.

A felhasználói felület automation szolgáltatójának nem kell irreleváns tulajdonságokat implementálnia, hanem egyszerűen visszaadhat egy null értéket minden olyan tulajdonsághoz, amit nem támogat. Emellett a felhasználói felület-automatizálási alapszolgáltatás néhány tulajdonságot be tud szerezni az alapértelmezett ablakszolgáltatótól, és ezek össze vannak vonva a szolgáltató által explicit módon megvalósított tulajdonságokkal.

Amellett, hogy számos további tulajdonságot támogat, a felhasználói felület automatizálása jobb teljesítményt nyújt azáltal, hogy több tulajdonságot is lekérhet egyetlen folyamatközi hívással.

Az alábbi táblázat a két modell tulajdonságai közötti megfeleltetéseket mutatja be.

Aktív akadálymentességi tulajdonság kiegészítője Felhasználói felület automation tulajdonságazonosítója Megjegyzések
get_accKeyboardShortcut AccessKeyProperty vagy AcceleratorKeyProperty AccessKeyProperty elsőbbséget élvez, ha mindkettő jelen van.
get_accName NameProperty
get_accRole ControlTypeProperty A szerepkörök vezérlőtípusokhoz való leképezését lásd az előző táblázatban.
get_accValue ValuePattern.ValueProperty

RangeValuePattern.ValueProperty
Csak a ValuePattern- vagy RangeValuePattern-t támogató vezérlőtípusokra érvényes. A RangeValue értékeket 0–100 értékre normalizálja, hogy összhangban legyen az MSAA viselkedésével. Az értékelemek sztringet használnak.
get_accHelp HelpTextProperty
accLocation BoundingRectangleProperty
get_accDescription A felhasználói felület automatizálása nem támogatott accDescription nem rendelkezik egyértelmű specifikációval az MSAA-ban, ami azt eredményezte, hogy a szolgáltatók különböző információkat helyeztek el ebben a tulajdonságban.
get_accHelpTopic A felhasználói felület automatizálása nem támogatott

Az alábbi táblázat azt mutatja be, hogy mely UI Automation-tulajdonságok felelnek meg az Active Accessibility állapotállandóinak.

Aktív akadálymentességi állapot UI Automation tulajdonság Eseményindítók állapotváltozása?
AZ ÁLLAPRÉNDZER ELLENŐRZÖTT Jelölőnégyzet esetén ToggleStateProperty

Választógomb esetén: IsSelectedProperty
Y
ÁLLAPOT_RENDSZER_ÖSSZEOMLOTT ExpandCollapseState = Collapsed Y
RENDSZER KIBŐVÍTVE ExpandCollapseState = Expanded vagy PartiallyExpanded Y
Rendszer_állapota_fókuszálható IsKeyboardFocusableProperty N
RENDSZER_ÁLLAPOT_FÓKUSZÁLT HasKeyboardFocusProperty N
ÁLLAPOT_RENDSZER_HAVEPOPUP ExpandCollapsePattern menüelemekhez N
RENDSZERÁLLAPOT_LÁTHATATLAN IsOffscreenProperty = Igaz és GetClickablePoint okoz NoClickablePointException N
ÁLLAPOT_RENDSZER_KAPCSOLVA ControlTypeProperty =

Hyperlink
N
RENDSZER_VEGYES_ÁLLAPOT ToggleState = Indeterminate N
RENDSZER MOZGÁSI ÁLLAPOTA CanMoveProperty N
STATE_SYSTEM_MULTISELECTABLE CanSelectMultipleProperty N
RENDSZER_ÁLLAPOT_KÉPERNYŐN KÍVÜL IsOffscreenProperty = Igaz N
Rendszer védett állapotban IsPasswordProperty N
Rendszer állapota: Csak olvasható RangeValuePattern.IsReadOnlyProperty és ValuePattern.IsReadOnlyProperty N
ÁLLAMI_RENDSZER_VÁLASZTHATÓ SelectionItemPattern támogatott N
RENDSZER_HELYZET_KIVÁLASZTVA IsSelectedProperty N
ÁLLAPOT_RENDSZER_NAGYÍTHATÓ CanResize N
STATE_SYSTEM_NEM_ELÉRHETŐ IsEnabledProperty Y

A következő állapotokat a legtöbb aktív akadálymentesség-vezérlőkiszolgáló nem implementálta, vagy a felhasználói felület automatizálásában nincs megfelelője.

Aktív akadálymentességi állapot Megjegyzések
RENDSZER_FOGLALTÁLLAPOTBAN Nem érhető el az UI automatizálásban
RENDSZER_ALAPÉRTELMEZETT Nem érhető el az UI automatizálásban
ÁLLAPOT_RENDSZER_ANIMÁLVA Nem érhető el az UI automatizálásban
STATE_SYSTEM_EXTSELECTABLE Az Active Accessibility-kiszolgálók nem implementálják széles körben
STATE_SYSTEM_MARQUEED Az Active Accessibility-kiszolgálók nem implementálják széles körben
RENDSZER_ÖNMAGÁT-MONDÓÁLLAPOT Az Active Accessibility-kiszolgálók nem implementálják széles körben
ÁLLAPOT_RENDSZER_BEJÁRVA Nem érhető el az UI automatizálásban
RENDSZER_RIASZTÁS_MAGAS Az Active Accessibility-kiszolgálók nem implementálják széles körben
STATE_SYSTEM_ALERT_MEDIUM Az Active Accessibility-kiszolgálók nem implementálják széles körben
RENDSZER_JELZÉS_ALACSONY Az Active Accessibility-kiszolgálók nem implementálják széles körben
RENDSZER ÁLLAPOT LEBEGŐ Az Active Accessibility-kiszolgálók nem implementálják széles körben
Rendszerállapot_követve Nem érhető el az UI automatizálásban
ÁLLAPOT_RENDSZER_LENYOMVA Nem érhető el az UI automatizálásban

A felhasználói felület automation tulajdonságazonosítóinak teljes listájáért tekintse meg a felhasználói felület automatizálási tulajdonságainak áttekintését.

Események

A felhasználói felület automatizálásának eseménymechanizmusa– ellentétben az Aktív akadálymentességgel – nem támaszkodik a Windows eseményirányítására (amely szorosan kapcsolódik az ablakfogópontokhoz), és nem követeli meg az ügyfélalkalmazástól a horgok beállítását. Az eseményekre való előfizetések nem csak adott eseményekre, hanem a fa bizonyos részeire is finomhangolhatók. A szolgáltatók az események finomhangolását azáltal is végezhetik, hogy nyomon követik, mely eseményekre figyelnek.

Az ügyfelek számára is egyszerűbb lekérni azokat az elemeket, amelyek eseményeket váltanak ki, mivel ezek közvetlenül az esemény-visszahívásnak kerülnek átadásra. Az elem tulajdonságai automatikusan elő lesznek ágyazva, ha egy gyorsítótár-kérés aktív volt, amikor az ügyfél előfizetett az eseményre.

Az alábbi táblázat az Active Accessibility WinEvents és a UI Automation eseményeinek levelezését mutatja be.

WinEvent Felhasználói felület automatizálási eseményazonosítója
ESEMÉNY_OBJEKTUM_GYORSÍTÓVÁLTOZÁS AcceleratorKeyProperty tulajdonság módosítása
EVENT_OBJECT_CONTENTSCROLLED A VerticalScrollPercentProperty vagy HorizontalScrollPercentProperty tulajdonság módosítása a társított görgetősávokon
ESEMÉNY_OBJEKTUM_LÉTREHOZÁS StructureChangedEvent
EVENT_OBJECT_DEFACTIONCHANGE Nincs egyenértékű
ESEMÉNY_OBJEKTUM_LEÍRÁSMÓDOSÍTÁS Nincs pontos megfelelő; lehet, hogy HelpTextProperty vagy LocalizedControlTypeProperty tulajdonságmódosítás.
ESEMÉNY_OBJEKTUM_MEGSZÜNTETÉS StructureChangedEvent
FÓKUSZESZKÖZ_ESEMÉNY AutomationFocusChangedEvent
EVENT_OBJECT_HELPCHANGE HelpTextProperty változás
"ESZEMÉNY_OBJEKTUM_ELREJTÉSE" StructureChangedEvent
EVENT_OBJECT_LOCATIONVÁLTOZÁS BoundingRectangleProperty tulajdonság módosítása
ESEMÉNY_OBJEKTUM_NÉVVÁLTOZÁS NameProperty tulajdonság módosítása
ESEMÉNY_OBJEKTUM_SZÜLŐVÁLTOZÁS StructureChangedEvent
ESEMÉNY_OBJEKTUM_ÁTRÁRENDEZÉS Az Aktív akadálymentesség szolgáltatásban nincs konzisztensen használva. A felhasználói felület automatizálása nem definiál közvetlenül megfelelő eseményt.
ESEMÉNY_OBJEKTUM_KIVÁLASZTÁS ElementSelectedEvent
EVENT_OBJECT_SELECTION_HOZZÁADÁS ElementAddedToSelectionEvent
ESEMÉNY_OBJEKTUM_KIVÁLASZTÁS_ELTÁVOLÍTÁS ElementRemovedFromSelectionEvent
EVENT_OBJECT_SELECTIONWITHIN Nincs egyenértékű
ESEMÉNY_OBJEKTUM_MEGJELENÍTŐ StructureChangedEvent
ESEMÉNY_OBJEKTUM_ÁLLAPOTVÁLTOZÁS Különböző tulajdonság-változási események
ESEMÉNY_OBJEKTUM_ÉRTÉKVÁLTOZÁS RangeValuePattern.ValueProperty és ValuePattern.ValueProperty megváltozott
RENDSZER FIGYELMEZTETÉS ESEMÉNY Nincs egyenértékű
ESEMÉNY_RENDSZER_FOGÁS_VÉGE Nincs egyenértékű
ESEMÉNY_RENDSZER_RÖGZÍTÉSINDÍTÁS Nincs egyenértékű
EVENT_SYSTEM_CONTEXTHELPEND Nincs egyenértékű
ESEMÉNY_RENDSZER_KONTEXTUSSÚGÓINDÍTÁS Nincs egyenértékű
DIALOGUS_BEFEJEZÉSE_ESZKÖZ WindowClosedEvent
EVENT_SYSTEM_PÁRBESZÉDBEKEZDÉS WindowOpenedEvent
ESEMÉNY_RENDSZER_HÚZD-ÉS-DOBD_VÉGE Nincs egyenértékű
ESEMÉNY_RENDSZER_HÚZÁS ÉS EJtésT KEZD Nincs egyenértékű
EVENT_SYSTEM_FOREGROUND AutomationFocusChangedEvent
RENDSZER_ESEMÉNY_MENÜVÉGE MenuClosedEvent
ESEMÉNY_RENDSZER_MENÜFELBONTÁSVÉGE MenuClosedEvent
RENDSZER_ESEMÉNY_MENÜFELUGRÁSINDÍTÁS MenuOpenedEvent
EVENT_SYSTEM_MENÜINDÍTÁS MenuOpenedEvent
EVENT_SYSTEM_MINIMIZEEND WindowVisualStateProperty tulajdonság módosítása
EVENT_SYSTEM_MINIMIZESTART WindowVisualStateProperty tulajdonság módosítása
EVENT_SYSTEM_MOVESIZEEND BoundingRectangleProperty tulajdonság módosítása
EVENT_SYSTEM_MOVESIZESTART BoundingRectangleProperty tulajdonság módosítása
EVENT_SYSTEM_SCROLLINGEND (rendszer görgetésvége esemény) VerticalScrollPercentProperty vagy HorizontalScrollPercentProperty a tulajdonság módosítása
SCROLLINGSTART_ESEMÉNYRENDSZER_ELKEZDŐDÖTT VerticalScrollPercentProperty vagy HorizontalScrollPercentProperty a tulajdonság módosítása
RENDSZER_HANG_ESEMÉNY Nincs egyenértékű
esemény_rendszer_VáltásVége Nincs egyenértékű, de egy AutomationFocusChangedEvent esemény azt jelzi, hogy egy új alkalmazás kapta a fókuszt
RENDSZER_ESEMÉNY_VÁLTÁSINDÍTÁS Nincs egyenértékű
Nincs egyenértékű CurrentViewProperty tulajdonság módosítása
Nincs egyenértékű HorizontallyScrollableProperty tulajdonság módosítása
Nincs egyenértékű VerticallyScrollableProperty tulajdonság módosítása
Nincs egyenértékű HorizontalScrollPercentProperty tulajdonság módosítása
Nincs egyenértékű VerticalScrollPercentProperty tulajdonság módosítása
Nincs egyenértékű HorizontalViewSizeProperty tulajdonság módosítása
Nincs egyenértékű VerticalViewSizeProperty tulajdonság módosítása
Nincs egyenértékű ToggleStateProperty tulajdonság módosítása
Nincs egyenértékű WindowVisualStateProperty tulajdonság módosítása
Nincs egyenértékű AsyncContentLoadedEvent esemény
Nincs egyenértékű ToolTipOpenedEvent

Biztonság

Egyes IAccessible testreszabási forgatókönyvek esetében az alap IAccessible becsomagolása és azon keresztüli hívás szükséges. Ennek biztonsági következményei vannak, mivel egy részben megbízható összetevő nem lehet közvetítő a kód elérési útján.

A felhasználói felület automatizálási modellje nem igényli, hogy a szolgáltatók más szolgáltatói kódon keresztül telefonáljanak. A felhasználói felület automation alapszolgáltatása elvégzi az összes szükséges összesítést.

Lásd még