Udostępnij za pośrednictwem


Porównanie dostępności i automatyzacji interfejsu użytkownika w usłudze Microsoft Active

Interfejs API automatyzacji systemu Windows składa się z dwóch technologii — Microsoft Active Accessibility i Microsoft UI Automation. Microsoft Active Accessibility to starsza technologia ułatwień dostępu, która została wprowadzona jako dodatek platformy dla systemu Windows 95, podczas gdy automatyzacja interfejsu użytkownika jest nowszą, bardziej zdolną technologią, która pozwala przezwyciężyć ograniczenia związane z usługą Microsoft Active Accessibility.

Ten temat zawiera podsumowanie głównych różnic między ułatwieniami dostępu active firmy Microsoft i automatyzacją interfejsu użytkownika. Zawiera on następujące sekcje:

Podstawowe zasady projektowania

Mimo że microsoft Active Accessibility and UI Automation to dwie różne technologie, podstawowe zasady projektowania są podobne. Celem obu technologii jest uwidocznienie bogatych informacji o elementach interfejsu użytkownika używanych w aplikacjach systemu Windows. Deweloperzy narzędzi ułatwień dostępu mogą używać tych informacji do tworzenia oprogramowania, które sprawia, że aplikacje działające w systemie Windows są bardziej dostępne dla osób niepełnosprawnych w zakresie wzroku, słuchu lub ruchu.

Zarówno microsoft Active Accessibility and UI Automation uwidacznia model obiektów interfejsu użytkownika jako drzewo hierarchiczne, zakorzenione na pulpicie. Microsoft Active Accessibility reprezentuje poszczególne elementy interfejsu użytkownika jako dostępne obiekty, a automatyzacja interfejsu użytkownika reprezentuje je jako elementy automatyzacji . Oba te elementy odnoszą się do narzędzia ułatwień dostępu lub programu do automatyzacji oprogramowania jako klienta. Jednak usługa Microsoft Active Accessibility odnosi się do aplikacji lub kontrolki oferującej interfejs użytkownika ułatwień dostępu jako serwer , podczas gdy automatyzacja interfejsu użytkownika odnosi się do tego jako dostawcy .

Właściwości i wzorce kontrolek

Microsoft Active Accessibility oferuje pojedynczy interfejs modelu obiektów składników (COM) ze stałym, małym zestawem właściwości. Automatyzacja interfejsu użytkownika oferuje bogatszy zestaw właściwości, a także zestaw rozszerzonych interfejsów nazywanych wzorcami sterowania manipulowania dostępnymi obiektami w sposób, w jaki usługa Microsoft Active Accessibility nie może.

Aby uzyskać więcej informacji, zobacz Właściwości automatyzacji interfejsu użytkownika — omówienie i wzorców kontrolek automatyzacji interfejsu użytkownika interfejsu użytkownika — omówienie.

Role MSAA i wzorce kontrolek automatyzacji interfejsu użytkownika

Firma Microsoft zaprojektowała model obiektów Microsoft Active Accessibility mniej więcej w tym samym czasie, co system Windows 95 został wydany. Model jest oparty na rolach zdefiniowanych dziesięć lat temu i nie można obsługiwać nowych zachowań interfejsu użytkownika ani scalić ze sobą co najmniej dwóch ról. Nie ma na przykład modelu obiektów tekstowych, aby pomóc w radzeniu sobie z złożoną zawartością internetową. Automatyzacja interfejsu użytkownika pozwala przezwyciężyć te ograniczenia, wprowadzając wzorce kontrolek, które umożliwiają obsługę więcej niż jednej roli przez obiekty, a automatyzacja interfejsu użytkownika wzorzec kontrolki Text oferuje pełnowartościowy model obiektów tekstowych.

Nawigacja modelu obiektów

Innym ograniczeniem dostępności Active Accessibility firmy Microsoft jest nawigowanie po modelu obiektów. Microsoft Active Accessibility reprezentuje interfejs użytkownika jako hierarchię dostępnych obiektów. Klienci przechodzą z jednego dostępnego obiektu do innego przy użyciu interfejsów i metod dostępnych z dostępnego obiektu. Serwery mogą uwidocznić elementy podrzędne dostępnego obiektu z właściwościami interfejsuIAccessiblelub standardowym interfejsem IEnumVARIANT COM. Klienci muszą jednak mieć możliwość obsługi obu metod dla dowolnego serwera. Ta niejednoznaczność oznacza dodatkową pracę dla implementatorów klientów i uszkodzonych modeli obiektów dostępnych dla implementatorów serwera.

Automatyzacja interfejsu użytkownika reprezentuje interfejs użytkownika jako hierarchiczne drzewo elementów automatyzacji i udostępnia jeden interfejs do nawigowania po drzewie. Klienci mogą dostosować widok elementów w drzewie, określając zakres i filtrowanie.

Rozszerzalność modelu obiektów

Właściwości i funkcje microsoft Active Accessibility nie mogą być rozszerzane bez przerywania ani zmieniania specyfikacji interfejsu COM IAccessible. Wynikiem jest to, że nie można uwidocznić nowego zachowania sterującego za pośrednictwem modelu obiektów; zwykle jest statyczny.

Dzięki automatyzacji interfejsu użytkownika w miarę tworzenia nowych elementów interfejsu użytkownika deweloperzy aplikacji mogą wprowadzać właściwości niestandardowe, wzorce sterowania i zdarzenia, aby opisać nowe elementy. Aby uzyskać więcej informacji, zobacz właściwości niestandardowych, zdarzeń i wzorców kontrolek.

Przechodzenie z usługi MSAA

Struktura interfejsu API automatyzacji systemu Windows zapewnia obsługę przejścia z serwerów Microsoft Active Accessibility do dostawców automatyzacji interfejsu użytkownika. Interfejs IAccessibleEx umożliwia dodanie określonych właściwości automatyzacji interfejsu użytkownika i wzorców sterowania do starszych serwerów dostępności Active Accessibility firmy Microsoft bez konieczności ponownego zapisywania całej implementacji. Interfejs IAccessibleEx umożliwia również w procesie klientom microsoft Active Accessibility bezpośredni dostęp do interfejsów dostawcy automatyzacji interfejsu użytkownika, a nie za pośrednictwem interfejsów klienta automatyzacji interfejsu użytkownika. Aby uzyskać więcej informacji, zobacz Interfejs IAccessibleEx.

Wybieranie opcji Microsoft Active Accessibility, UI Automation lub IAccessibleEx

Ta sekcja ułatwia określenie, które rozwiązanie interfejsu API usługi Windows Automation ma być używane do implementowania produktu technologii pomocniczej lub udostępnienie aplikacji produktom obsługującym technologie pomocnicze.

Nowe aplikacje i kontrolki

Jeśli tworzysz nową aplikację lub kontrolkę, firma Microsoft zaleca korzystanie z automatyzacji interfejsu użytkownika. Mimo że funkcja microsoft Active Accessibility może być łatwiej zaimplementowana w krótkim okresie, ograniczenia związane z tą technologią, takie jak jej starzejący się model obiektów i niezdolność do obsługi nowych zachowań interfejsu użytkownika lub ról scalania, sprawia, że jest to trudniejsze i kosztowne w dłuższej perspektywie. Te ograniczenia stają się szczególnie widoczne podczas wprowadzania nowych kontrolek.

Model obiektów automatyzacji interfejsu użytkownika jest łatwiejszy w użyciu i jest bardziej elastyczny niż model microsoft Active Accessibility. Elementy automatyzacji interfejsu użytkownika odzwierciedlają ewolucję interfejsów użytkownika, a deweloperzy mogą definiować niestandardowe wzorce sterowania automatyzacji interfejsu użytkownika, właściwości i zdarzenia.

Usługa Microsoft Active Accessibility działa powoli dla klientów, którzy kończą się procesem. Aby zwiększyć wydajność, deweloperzy programów narzędzi ułatwień dostępu często decydują się podłączyć i uruchomić swoje programy w procesie aplikacji docelowej: niezwykle trudne i ryzykowne podejście. Automatyzacja interfejsu użytkownika jest znacznie łatwiej zaimplementowana dla klientów poza procesem i oferuje znacznie lepszą wydajność i niezawodność.

Istniejące implementacje ułatwień dostępu w usłudze Microsoft Active

Jeśli aktualizujesz istniejącą aplikację lub kontrolkę opartą na dostępności Microsoft Active, rozważ dodanie obsługi automatyzacji interfejsu użytkownika przez zaimplementowanie interfejsu IAccessibleEx interfejsu. Najpierw upewnij się, że aplikacja lub kontrolka spełnia następujące wymagania:

  • Hierarchia serwerów dostępności microsoft Active Accessibility server dla dostępnych obiektów musi być dobrze zorganizowana i wolna od błędów. IAccessibleEx nie może rozwiązać problemów z istniejącymi dostępnymi hierarchiami obiektów.
  • Implementacja IAccessibleEx musi być zgodna zarówno ze specyfikacją microsoft Active Accessibility, jak i specyfikacją automatyzacji interfejsu użytkownika. Firma Microsoft udostępnia zestaw narzędzi do sprawdzania zgodności z obydwoma specyfikacjami. Aby uzyskać więcej informacji, zobacz Testing for accessibility.

Jeśli którekolwiek z tych wymagań nie zostanie spełnione, rozważ wdrożenie automatyzacji interfejsu użytkownika natywnie. W razie potrzeby można zachować starsze implementacje serwera microsoft Active Accessibility server w celu zapewnienia zgodności z poprzednimi wersjami. Z perspektywy klienta automatyzacji interfejsu użytkownika nie ma różnicy między dostawcami automatyzacji interfejsu użytkownika i serwerami microsoft Active Accessibility, które implementują IAccessibleEx poprawnie.

Aby uzyskać więcej informacji, zobacz Interfejs IAccessibleEx.

omówienie interfejsu API usługi Windows Automation — omówienie

microsoft Active Accessibility

automatyzacji interfejsu użytkownika

interfejsu IAccessibleEx