Microsoft Active Accessibility - Microsoft Active Accessibility - Wikipedia

Od Wikipedia, Slobodna Enciklopedija

Pin
Send
Share
Send

Microsoft Active Accessibility (MSAA) je Sučelje za programiranje aplikacija (API) za dostupnost korisničkog sučelja. MSAA je predstavljen kao dodatak platformi za Microsoft Windows 95 1997. MSAA je stvoren da pomogne Pomoćna tehnologija (AT) proizvodi komuniciraju sa standardnim i prilagođenim korisničko sučelje (UI) elementi aplikacije (ili operativnog sustava), kao i za pristup, identificiranje i manipuliranje elementima UI aplikacije i upravljanje njima. AT proizvodi rade s aplikacijama s omogućenom MSAA-om kako bi pružili bolji pristup osobama koje imaju fizičke ili kognitivne poteškoće, oštećenja ili invaliditet. Neki primjeri AT proizvoda su čitači zaslona za korisnike s ograničenim vidom, zaslonske tipkovnice za korisnike s ograničenim fizičkim pristupom ili pripovjedači za korisnike s ograničenim sluhom. MSAA se također može koristiti za automatizirane alate za testiranje i računalne programe za obuku.

Trenutne i najnovije specifikacije MSAA nalaze se u dijelu Microsoft UI automatizacija Specifikacija obećanja zajednice.

Povijest

Aktivna pristupačnost u početku se nazivala OLE pristupačnost[1] a ta se baština ogleda u imenovanju njezinih binarnih komponenata kao što su oleacc.dll i datoteku zaglavlja oleacc.h koja sadrži definicije i deklaracije. Kao dio Microsoftovog poticanja brendiranja ActiveX-a u ožujku 1996. godine, OLE Accessibility preimenovan je u ActiveX Accessibility (ponekad se naziva i AXA) i kao takav predstavljen na Microsoftu Konferencija profesionalnih programera u San Franciscu, ožujka 1996. Kasnije je ActiveX markiranje bilo rezervirano za internetske tehnologije, a ActiveX Accessibility postala je Active Accessibility i često se skraćivala na MSAA.

MSAA je izvorno dostupan u travnju 1997. godine kao dio Microsoftovog aktivnog pristupačnog softvera (SDK) verzije 1.0. Pakirani SDK obuhvaćao je dokumentaciju, programske knjižnice, uzorak izvornog koda i komplet za ponovnu distribuciju (RDK) koji su dobavljači dostupne tehnologije mogli uključiti u svoje proizvode. RDK je sadržavao ažurirane komponente operacijskog sustava za Microsoft Windows 95. Od Windows 98 i Windows NT 4.0 Servisni paket 4, MSAA je ugrađen u sve verzije Windows platforme i s vremenom je dobivao povremene nadogradnje i zakrpe.

Programska izloženost aplikacijama pomoćne tehnologije na sustavu Windows u prošlosti se pružala putem MSAA. No novije se aplikacije sada koriste Microsoft UI automatizacija (UIA), koja je uvedena u Windows Vista i .NET Framework 3.0.

Povijest verzija

Objavljene su sljedeće verzije Aktivne pristupačnosti:[2]

VerzijaOpis
1.0Izvorno izdanje dodatka za Windows 95. RDK je podržan samo u engleskoj verziji operativnog sustava. (1997)
1.1Uključen u Windows 98.
1.2.xPrva revizija MSAA koja je postala dostupna i engleskoj i međunarodnoj verziji sustava Windows. (1998)
1.3.xDodana je dodatna podrška za više jezika. Predstavljeni satelit DLL (oleaccrc.dll) za svoju međunarodnu biblioteku tekstualnih izvora. Kasnije su sistemske komponente integrirane u Windows NT 4.0 Service Pack 6 i novije verzije, Windows 98, Windows 2000 i Windows Me. (1999.)
2.0Prva velika revizija MSAA-a, dodajući podršku za Dynamic Annotation i MSAA Text. Ova je inačica integrirana u Windows XP. Izvršene su manje izmjene MSAA okvira unutar sljedećih verzija sustava Windows. Verzija 2.0 RDK-a stavljena je na raspolaganje starijim platformama (Windows 95, 98, 2000, Me, NT) 2003. (2000–2008)
3.0Okvir je postao dio Windows Automation API 3.0, koji je integriran u API za pristup Windows platformi koji su postavili MSAA i UI Automation (UIA). Windows Automation API uključen je u sustav Windows 7 i dostupan je za Windows Vista i XP (2009)

Motivacija i ciljevi

Motivirajući čimbenik koji stoji iza razvoja MSAA bio je omogućiti dostupan i jednostavan komunikacijski mehanizam između osnovnog operativnog sustava ili aplikacija i proizvoda pomoćne tehnologije.

Programski cilj MSAA-a je omogućiti Windows kontrolama da izlažu osnovne informacije, poput imena, mjesta na zaslonu ili vrste kontrole, i podatke o stanju kao što su vidljivost, omogućene ili odabrane.

Tehnički pregled

MSAA se temelji na Komponentni objektni model (COM). COM definira mehanizam za komunikaciju aplikacija i operativnih sustava.

Slika 1 prikazuje arhitekturu MSAA na visokoj razini.

Aplikacije (npr. Program za obradu teksta) u MSAA-u nazivaju se Poslužitelji jer pružaju ili opslužuju informacije o svojim korisničkim sučeljima (UI). Alati za pristupačnost (npr. Čitači zaslona) u MSAA-u se nazivaju Klijenti jer troše i komuniciraju s korisničkim podacima iz aplikacije.

Komponenta sustava MSAA okvira, Oleacc.dll, pomaže u komunikaciji između alata za pristupačnost (klijenata) i aplikacija (poslužitelja). Granica koda označava programske granice između aplikacija koje pružaju informacije o pristupačnosti korisničkog sučelja i alata za pristup koji u ime korisnika komuniciraju s korisničkim sučeljem. Granica također može biti granica procesa kada MSAA klijenti imaju vlastiti proces.

Microsoft Active Accessibility

UI je predstavljen kao hijerarhija pristupačnih objekata; promjene i radnje predstavljeni su kao WinEvents.

Pristupačni objekti

Pristupačni objekt središnje je sučelje MSAA-e, a predstavljen je znakom Nepristupačno COM sučelje i cijeli broj ChildId. Omogućuje aplikacijama izlaganje strukture stabla koja predstavlja strukturu korisničkog sučelja. Svaki element ovog stabla izlaže skup svojstava i metoda koje omogućuju manipulaciju odgovarajućim UI elementom. MSAA klijenti mogu pristupiti programskim informacijama o korisničkom sučelju putem standardnog API-ja.

Uloge, imena, vrijednosti, stanja

MSAA komunicira informacije slanjem malih dijelova informacija o elementima programa na objekt pomoćne tehnologije (AT). Četiri kritična podatka na koja se AT oslanja kako bi pomogao korisnicima u interakciji s aplikacijama uloga su elementa, njegovo ime, vrijednost i stanje:

  • Uloga: Korisnicima putem AT-a prenosi koju je vrstu objekta kontrola, poput gumba ili tablice. The Nepristupačno metoda za to je get_accRole.
  • Ime: Pruža oznaku za element, poput Dalje na gumbu koji premješta korisnike na sljedeću stranicu ili Ime za okvir za uređivanje. The Nepristupačno metoda za to je get_accName.
  • Vrijednost: Pruža vrijednost navedenog objekta, poput vrijednosti na klizaču ili podataka u tekstnom okviru koji se može uređivati. Nemaju svi objekti vrijednost. The Nepristupačno metoda za to je get_accValue.
  • država: Identificira trenutno stanje kontrole, poput provjere potvrdnog okvira. Država savjetuje može li se kontrola odabrati, fokusirati i / ili druge vrste promjenjive funkcionalnosti. The Nepristupačno metoda za to je get_accState.

Microsoft nudi cjelovit popis kontrola i njihovih funkcija.[3]

Uloga

Informacije o ulogama temelje se na vrsti kontrole korisničkog sučelja s kojom programer želi komunicirati. Na primjer, ako programer implementira gumb na koji je moguće kliknuti, programer će odabrati Tipkalo kao Uloga za provedbu. Sljedeća tablica prikazuje primjer popisa uloga MSAA i njihove srodne opise.

UlogaOpis
ROLE_SYSTEM_APPLICATIONObjekt predstavlja glavni prozor aplikacije.
ROLE_SYSTEM_BUTTONMENUObjekt predstavlja gumb koji spušta izbornik.
ROLE_SYSTEM_CARETObjekt predstavlja sistemsku karetu.
ROLE_SYSTEM_DIALOGObjekt predstavlja dijaloški okvir ili okvir za poruke.
ROLE_SYSTEM_DOCUMENTObjekt predstavlja prozor dokumenta. Prozor dokumenta uvijek se nalazi u prozoru aplikacije. Ova se uloga odnosi samo na Višestruko sučelje za dokumente (MDI) prozora i odnosi se na objekt koji sadrži MDI naslovnu traku.
ROLE_SYSTEM_GRAPHICPredmet predstavlja sliku.
ROLE_SYSTEM_LISTObjekt predstavlja okvir s popisom koji omogućava korisniku da odabere jednu ili više stavki.
ROLE_SYSTEM_MENUBARObjekt predstavlja traku izbornika (smještenu ispod naslovne trake prozora) s koje korisnik bira izbornike.
ROLE_SYSTEM_PROGRESSBARObjekt predstavlja traku napretka, koja korisniku dinamički prikazuje postotak dovršenosti radnje u tijeku. Ova kontrola ne uzima korisnički unos.
ROLE_SYSTEM_PUSHBUTTONObjekt predstavlja kontrolu tipkom.
ROLE_SYSTEM_RADIOBUTTONObjekt predstavlja gumb opcije, koji se naziva i radio gumb. To je jedna od skupina međusobno isključivih opcija. Svi objekti koji dijele jednog roditelja koji imaju ovaj atribut pretpostavlja se da su dio jedne međusobno isključujuće grupe. Upotrijebite ROLE_SYSTEM_GROUPING objekte da ih podijelite u zasebne skupine.
ROLE_SYSTEM_SCROLLBARObjekt predstavlja okomitu ili vodoravnu traku za pomicanje, koja je dio klijentskog područja ili se koristi u kontroli.
ROLE_SYSTEM_TITLEBARPredmet predstavlja traku naslova ili naslova za prozor.
ROLE_SYSTEM_TOOLBARObjekt predstavlja alatnu traku koja predstavlja skup kontrola koji omogućuje jednostavan pristup često korištenim značajkama.
ROLE_SYSTEM_WINDOWObjekt predstavlja okvir prozora koji sadrži podređene objekte kao što su naslovna traka, klijent i drugi objekti sadržani u prozoru. U MSAA-u je ovaj objekt prozora često ekvivalentan HWND objekt u sustavu Windows.

Ime

Imena elemenata u aplikaciji programer dodjeljuje u kodu. Mnogi objekti poput ikona, izbornika, potvrdnih okvira, kombiniranih okvira i ostalih kontrola imaju oznake koje se prikazuju korisnicima. Svaka oznaka koja se korisnicima prikazuje na kontroli (npr. Gumb) zadana je za svojstvo imena objekta. Osigurajte da naziv objekta ima smisla za korisnika i da pravilno opisuje kontrolu. Svojstvo Name ne smije sadržavati informacije o kontrolnoj ulozi ili tipu, poput gumba ili popisa, ili će se sukobljavati s tekstom iz svojstva uloge (stečenog iz funkcije GetRoleText MSAA API-ja).

Vrijednost

Vrijednost se koristi kada programer želi vratiti podatke s objekata u obliku niza. Vrijednost se može vratiti za objekte u kojima su postoci, cijeli brojevi, tekstualni ili vizualni podaci. Na primjer, vrijednosti svojstava vraćene s traka za pomicanje i objekata dostupnih na traci trake mogu ukazivati ​​na postotke u nizovima.

Nisu svi objekti dodijeljeni Vrijednosti.

država

Državno svojstvo opisuje status objekta u određenom trenutku. Microsoft Active Accessibility pruža konstante stanja objekta, definirani u oleacc.h, koji se kombiniraju za identificiranje stanja objekta. Ako se vrate unaprijed definirane vrijednosti stanja, klijenti koriste GetStateText za dohvaćanje lokaliziranog niza koji opisuje stanje. Svi objekti podržavaju državno vlasništvo.

Izazovi i ograničenja

Microsoft je dizajnirao objektni model aktivne dostupnosti tijekom i nakon izdavanja sustava Windows 95. Model se temelji na ulogama, a svaka uloga predstavlja vrstu elementa korisničkog sučelja. Te su uloge ograničene na elemente korisničkog sučelja koji su u to vrijeme bili uobičajeni. Na primjer, ne postoji model tekstualnog objekta koji pomaže pomoćnim tehnologijama u rješavanju podijeljenih gumba koji kombiniraju više elemenata korisničkog sučelja u jedan. MSAA ne pokušava predstaviti stilizirani tekst kao što je tekst za označavanje ili bogati tekst dokumenti. Iako MSAA još uvijek ima svojstvo Value, u svojoj vrijednosti može ugostiti samo jednostavan, ne-stilizirani tekst. U to se vrijeme osjećalo da Microsoft Model tekstualnog objekta (MS-TOM) bi bilo prikladnije za izražavanje atributa oblikovanog teksta. Međutim, složenost MS-TOM-a i ograničeno početno usvajanje izvan Microsofta otežavali su pristup bogatom tekstu.

Drugo ograničenje uključuje navigaciju objektnim modelom. MSAA predstavlja korisničko sučelje kao hijerarhiju dostupnih objekata na način sličan Windowsovom upravitelju prozora. Klijenti se kreću od jednog pristupačnog objekta do drugog pomoću metode IAccessible :: accNavigate. Međutim, poslužitelji su implementirali acNavigate na nepredvidive načine i često uopće. Klijenti, međutim, moraju biti u mogućnosti nositi se sa svim pristupima za bilo koji MSAA poslužitelj. Ova dvosmislenost znači dodatni posao za klijentske implementatore, a složenost može pridonijeti problemima ovisno o implementacijama poslužitelja.

Budući da je binarno sučelje temeljeno na COM-u, IAccessible je nepromjenjiv i ne može se mijenjati bez stvaranja drugog sučelja. Rezultat je taj da ne možete izlagati nove uloge, ponašanje ili svojstva kroz postojeći objektni model zasnovan na IAccessible. Iako je zamišljeno da bude uobičajena podskupina informacija o osnovnim elementima korisničkog sučelja, utvrđeno je da je teško proširiti ih tako da uključuju informacije o novim metodama interakcije.

Dostupnost

MSAA je u početku bio dostupan kao dodatak sustavu Windows 95. Integriran je sa svim sljedećim verzijama sustava Windows.

Povezana tehnologija

Microsoft UI automatizacija (UIA): Sljednik MSAA bila je automatizacija korisničkog sučelja (UIA). Međutim, budući da još uvijek postoje aplikacije temeljene na MSAA, mostovi se koriste za omogućavanje komunikacije između UI Automation i MSAA aplikacija. Dakle, informacije se mogu dijeliti između dva API-ja, razvijeni su MSAA-to-UI Automation Proxy i UI Automation-to-MSAA Bridge. Prva je komponenta koja troši MSAA informacije i čini ih dostupnima putem API-ja klijentskog UI automatizacije. Potonji omogućuje klijentske aplikacije koje koriste MSAA pristupne programe koji implementiraju UI automatizaciju.

Pristupačne bogate internetske aplikacije (WAI-ARIA): Postoji općenito mapiranje iz ARIA atributa u MSAA svojstva.[4]

IDostupno2: MSAA pruža korijene IAccessible2. IAccessible2 iskorištava rad na MSAA-u i dodaje dodatnu funkcionalnost.

API za automatizaciju sustava Windows: Počevši sa sustavom Windows 7, Microsoft svoje tehnologije pristupačnosti pakira u okvir nazvan Windows Automation API. MSAA će biti dio ovog okvira.

Implementacije Microsoftove aktivne pristupačnosti

Aktivna dostupnost dostupna je programerima u svim verzijama sustava Windows od Windows 95. Od svog izvornog uvođenja, MSAA se koristi kao način za dodavanje podrške za programski pristup korisničkom sučelju za mnoge poslovne i potrošačke aplikacije, uključujući Microsoft Internet Explorer, Mozilla Firefox, Microsoft Officeitd. Uz pomoć pristupačnosti kao što su čitači zaslona, ​​povećala, Povećavajuća i alternativna komunikacija (AAC) uređaji, tehnologiju je koristio Automatizacija ispitivanja softvera, kao što su QuickTest Pro, Functional Tester i SilkTest.

Više implementacija MSAA u programe i AT proizvode možete pronaći pretraživanjem na web mjestima Microsoft Accessibility ili na web mjestu AT Information.[5][6][7]

Reference

vanjske poveznice

Pin
Send
Share
Send