UI Automation for W3C Accessible Rich Internet Applications Specification
Webbplatser ökar sitt verktyg med dynamiskt innehåll och avancerade användargränssnittskontroller som stöds av tekniker som Asynkron JavaScript och XML (AJAX), DHTML och JavaScript. Hjälpmedelstekniker kan dock ofta inte interagera med dessa komplexa kontroller eller exponera dynamiskt innehåll för användare. ARIA (Accessible Rich Internet Applications) är en teknisk W3C-specifikation för utveckling av webbinnehåll och program så att de är tillgängliga för personer med funktionshinder.
För att stödja ARIA-specifikationen gör Microsoft UI Automation-specifikationen det möjligt för utvecklare att associera UI Automation AriaRole- och AriaProperties-attribut med W3C ARIA-roller och -tillstånd eller egenskaper. Detta hjälper användarprogram som Microsoft Internet Explorer att stödja ARIA-objektmodellen i kontexten för UI Automation samtidigt som en baslinjemodell för hjälpmedelsobjekt behålls.
Den här bilagan innehåller den föreslagna mappningen av W3C-information till Microsoft Active Accessibility and UI Automation-specifikationer, vilket utnyttjar de två nya UI Automation-egenskaperna.
Det här avsnittet innehåller följande avsnitt:
- W3C ARIA-roll mappad till Microsoft Active Accessibility and UI Automation
- W3C ARIA-tillstånd och egenskaper som är mappade till Microsoft Active Accessibility and UI Automation
- ytterligare överväganden
W3C ARIA-roll mappad till Microsoft Active Accessibility and UI Automation
W3C ARIA-roller kan mappas till Microsoft Active Accessibility-roller eller UI Automation-kontrolltyper. Med UI Automation kan den ursprungliga W3C ARIA-rollen också stödjas av egenskapen AriaRole. Användaragenter kan erbjuda en lokaliserad beskrivning av W3C ARIA-rollen med egenskapen UI Automation LocalizedControlType. Det är dock valfritt. När en lokaliserad sträng inte har angetts anger systemet standardsträngen LocalizedControlType. Användaragenter kan också erbjuda sekundära roller i egenskapen AriaRole genom att använda blanksteg som avgränsare, enligt definitionen i ARIA W3C-standarden.
W3C ARIA-tillstånd och egenskaper mappade till Microsoft Active Accessibility and UI Automation
W3C ARIA-tillstånd och egenskaper mappas till olika egenskaper och funktioner för Microsoft Active Accessibility och UI Automation. De flesta av ARIA-tillstånden och egenskaperna stöds av egenskapen UI Automation AriaProperties. Undantagen är ARIA-egenskaper som tar objektreferenser (till exempel den beskrivna ARIA-egenskapen) och ARIA-egenskaper som stöds av hjälpmedelsobjektmodellen. Egenskapen ARIA activedescendent förväntas till exempel representeras som elementet med fokus i hjälpmedelsobjektmodellen. ARIA äger egenskapen bör också återspeglas i tillgänglighetsobjektmodellen när den anges.
AriaProperties är en strängegenskap som har en samling namn/värde-par vars avgränsare är likhetstecknet (=) och semikolonet (;) till exempel "checked=true; disabled=false". Ett omvänt snedstreck (\) används som en escape när dessa avgränsartecken, eller ett omvänt snedstreck, visas i värdena. Providerkoden kan lägga till verifiering för att verifiera de ursprungliga ARIA-egenskaperna i dokumentobjektmodellen, men det krävs inte.
W3C ARIA-tillstånd och egenskaper | Egenskaper för Microsoft Active-hjälpmedel | Egenskaper för gränssnittsautomatisering | UI Automation AriaProperties-egenskap |
---|---|---|---|
activedescendent | STATE_SYSTEM_FOCUSED (accState) | HasKeyboardFocus (en egenskap för det underordnade elementet som är avsett att ta emot fokus) | n/a |
atomär | n/a | n/a | atomär |
Upptagen | STATE_SYSTEM_BUSY (accState) | n/a | Upptagen |
kanal | n/a | n/a | kanal |
rutig | STATE_SYSTEM_CHECKED (accState) | ToggleState (Växla kontrollmönster) | rutig |
Kontroller | n/a | ControllerFor | n/a |
describedby | n/a | DescribedBy | n/a |
handikappad | STATE_SYSTEM_UNAVAILABLE (accState) | IsEnabled | handikappad |
dropeffect | n/a | n/a | dropeffect |
utökad | STATE_SYSTEM_COLLAPSED eller STATE_SYSTEM_EXPANDED (accState) | ExpandCollapseState (ExpandCollapse kontrollmönster) | utökad |
flowto | n/a | FlowsTo | n/a |
gripa | n/a | n/a | gripa |
haspopup | STATE_SYSTEM_HASPOPUP (accState) | n/a | haspopup |
dold | STATE_SYSTEM_INVISIBLE (accState) | IsOffscreen | dold |
ogiltig | n/a | IsDataValidForForm | ogiltig |
labeledby | n/a | LabeledBy | n/a |
Nivå | accValue | n/a (representeras av trädstrukturen för automationselement) | nivå |
leva | n/a | n/a | leva |
flera ledningar | n/a | dokument kontrolltyp | flera ledningar |
multiselectable | STATE_SYSTEM_EXTSELECTABLE (accState) | CanSelectMultiple (markering kontrollmönster) | multiselectable |
Äger | n/a (bör återspeglas i det tillgängliga objektträdet) | n/a (bör återspeglas i automationselementträdet) | n/a |
Posinset | n/a (representeras i den tillgängliga objektträdstrukturen eller av childId) | n/a (representeras i trädstrukturen för automationselement) | posinset |
nedtryckt | STATE_SYSTEM_PRESSED | ToggleState (Växla kontrollmönster) | nedtryckt |
readonly | STATE_SYSTEM_READONLY | IsReadOnly | readonly |
relevant | n/a | n/a | relevant |
krävs | n/a | IsRequiredForForm | krävs |
hemlig | STATE_SYSTEM_PROTECTED | IsPassword | hemlig |
vald | STATE_SYSTEM_SELECTED | IsSelected (SelectionItem kontrollmönster) | vald |
setsize | n/a | n/a (underordnat antal i trädstrukturen för automationselement) | setsize |
sort | n/a | n/a | sort |
tabindex | STATE_SYSTEM_FOCUSABLE | IsKeyboardFocusable | tabindex |
valuemax | n/a | Maximum (RangeValue kontrollmönster) | valuemax |
valuemin | n/a | Minimum (RangeValue kontrollmönster) | valuemin |
valuenow | IAccessible::get_accValue | Värde (RangeValue kontrollmönster) | valuenow |
valuetext |
IAccessible::get_accValue Obs! När både valuenow- och valuetext ARIA-egenskaperna har angetts innehåller accValue data från egenskapen ARIA valuetext. |
Value (Value control pattern) Obs! RangeValue-- och Värdekontrollmönster kan samexistera med UI Automation när både valuetext och valuenow anges. |
valuetext |
Ytterligare överväganden
UI Automation erbjuder också en enkel textobjektmodell med kontrollmönstret Text, som stöder inbäddning av objekt i ett dokumentobjekt. Detta gör det möjligt för användaragenter och klientprogram att behandla webbinnehåll som ett HTML-dokument eller som ett traditionellt skrivbordsgränssnitt, beroende på slutanvändarscenarierna.