UI Automation pour la spécification des applications Internet riches accessibles au W3C
Les sites web augmentent leur utilité avec du contenu dynamique et des contrôles d’interface utilisateur avancés pris en charge par des technologies telles que JavaScript asynchrone et XML (AJAX), DHTML et JavaScript. Toutefois, les technologies d’assistance ne peuvent souvent pas interagir avec ces contrôles complexes ou exposer du contenu dynamique aux utilisateurs. Accessible Rich Internet Applications (ARIA) est une spécification technique W3C pour le développement de contenu web et d’applications afin qu’ils soient accessibles aux personnes handicapées.
Pour prendre en charge la spécification ARIA, la spécification Microsoft UI Automation permet aux développeurs d’associer UI Automation attributs AriaRole et AriaProperties à des rôles et états ARIA W3C ou des propriétés. Cela permet aux applications utilisateur telles que Microsoft Internet Explorer de prendre en charge le modèle objet ARIA dans le contexte de UI Automation tout en conservant un modèle objet d’accessibilité de base.
Cette annexe fournit le mappage suggéré des informations W3C avec les spécifications Microsoft Active Accessibility et UI Automation, en tirant parti des deux nouvelles propriétés UI Automation.
Cette rubrique contient les sections suivantes :
- Rôle ARIA W3C mappé à Microsoft Active Accessibility et UI Automation
- États et propriétés ARIA W3C mappés à Microsoft Active Accessibility et UI Automation
- Considérations supplémentaires
Rôle ARIA W3C mappé à Microsoft Active Accessibility et UI Automation
Les rôles ARIA W3C peuvent être mappés à des rôles d’accessibilité active Microsoft ou à des types de contrôle UI Automation. Avec UI Automation, le rôle ARIA W3C d’origine peut également être pris en charge par la propriété AriaRole. Les agents utilisateur peuvent fournir une description localisée du rôle ARIA W3C avec la propriété UI Automation LocalizedControlType. Toutefois, cela est facultatif. Lorsqu’une chaîne localisée n’est pas spécifiée, le système fournit la chaîne LocalizedControlType par défaut. Les agents utilisateur peuvent également proposer des rôles secondaires dans la propriété AriaRole en utilisant l’espace comme séparateur, comme défini dans la norme ARIA W3C.
États et propriétés ARIA W3C mappés à Microsoft Active Accessibility et UI Automation
Les états et propriétés de W3C ARIA sont mappés à diverses fonctions et propriétés Microsoft Active Accessibility et UI Automation. La plupart des états et propriétés ARIA sont pris en charge par la propriété UI Automation AriaProperties. Les exceptions sont les propriétés ARIA qui prennent des références d’objet (par exemple, la propriété aRIA décrite par la propriété ARIA) et les propriétés ARIA prises en charge par le modèle objet d’accessibilité. Par exemple, la propriété activedescendent ARIA doit être représentée en tant qu’élément avec focus dans le modèle objet d’accessibilité. La propriété ARIA propriétaire doit également être reflétée dans le modèle objet d’accessibilité lorsqu’elle est spécifiée.
AriaProperties est une propriété de chaîne qui a une collection de paires nom/valeur dont les délimiteurs sont le signe égal (=) et le point-virgule (;), par exemple, « checked=true;disabled=false ». Une barre oblique inverse (\) est utilisée comme échappement lorsque ces caractères délimiteurs, ou une barre oblique inverse, apparaissent dans les valeurs. Le code du fournisseur peut ajouter une vérification pour valider les propriétés ARIA d’origine dans le modèle objet de document, mais elle n’est pas obligatoire.
États et propriétés ARIA W3C | Propriétés d’accessibilité active Microsoft | propriétés UI Automation | UI Automation AriaProperties, propriété |
---|---|---|---|
activedescendent | STATE_SYSTEM_FOCUSED (accState) | HasKeyboardFocus (propriété de l’élément enfant qui est désigné pour recevoir le focus) | n/a |
atomique | n/a | n/a | atomique |
occupé | STATE_SYSTEM_BUSY (accState) | n/a | occupé |
channel | n/a | n/a | channel |
checked | STATE_SYSTEM_CHECKED (accState) | ToggleState (modèle de contrôle Bascule ) | checked |
controls | n/a | ControllerFor | n/a |
descriptionby | n/a | Description Par | n/a |
disabled | STATE_SYSTEM_UNAVAILABLE (accState) | IsEnabled | disabled |
dropeffect | n/a | n/a | dropeffect |
expanded | STATE_SYSTEM_COLLAPSED ou STATE_SYSTEM_EXPANDED (accState) | ExpandCollapseState (modèle de contrôle ExpandCollapse ) | expanded |
flowto | n/a | FlowTo | n/a |
Prendre | n/a | n/a | Prendre |
haspopup | STATE_SYSTEM_HASPOPUP (accState) | n/a | haspopup |
hidden | STATE_SYSTEM_INVISIBLE (accState) | IsOffscreen | hidden |
non valide | n/a | IsDataValidForForm | non valide |
la labelby | n/a | LabeledBy | n/a |
Level | accValue | n/a (représenté par l’arborescence des éléments Automation) | niveau |
Live | n/a | n/a | Live |
Multiligne | n/a | Type de contrôle de document | Multiligne |
multisélectionnable | STATE_SYSTEM_EXTSELECTABLE (accState) | CanSelectMultiple (modèle de contrôle Sélection) | multisélectionnable |
Possède | n/a (doit être répercuté dans l’arborescence d’objets accessible) | n/a (doit être répercuté dans l’arborescence d’éléments Automation) | n/a |
Posinset | n/a (représenté dans l’arborescence d’objets accessible ou par childId) | n/a (représenté dans l’arborescence des éléments Automation) | posinset |
Pressé | STATE_SYSTEM_PRESSED | ToggleState (modèle de contrôle Bascule) | Pressé |
readonly | STATE_SYSTEM_READONLY | IsReadOnly | readonly |
Pertinent | n/a | n/a | Pertinent |
obligatoire | n/a | IsRequiredForForm | obligatoire |
secret | STATE_SYSTEM_PROTECTED | IsPassword | secret |
activé | STATE_SYSTEM_SELECTED | IsSelected (modèle de contrôle SelectionItem ) | activé |
setsize | n/a | n/a (nombre d’enfants dans l’arborescence des éléments Automation) | setsize |
sort | n/a | n/a | sort |
Tabindex | STATE_SYSTEM_FOCUSABLE | IsKeyboardFocusable | Tabindex |
valuemax | n/a | Maximum (modèle de contrôle RangeValue ) | valuemax |
valuemin | n/a | Minimum (modèle de contrôle RangeValue ) | valuemin |
valuenow | IAccessible::get_accValue | Valeur (modèle de contrôle RangeValue ) | valuenow |
valuetext |
IAccessible::get_accValue REMARQUE : lorsque les propriétés ARIA valuenow et valuetext sont définies, accValue contient les données de la propriété valuetext ARIA. |
Valeur (modèle de contrôle de la valeur ) REMARQUE : Les modèles de contrôle RangeValue et Value peuvent coexister avec UI Automation lorsque valuetext et valuenow sont spécifiés. |
valuetext |
Considérations supplémentaires
UI Automation propose également un modèle objet texte simple avec le modèle de contrôle Text, qui prend en charge l’incorporation d’objets dans un objet Document. Cela permet aux agents utilisateur et aux applications clientes de traiter le contenu web comme un document HTML ou comme une interface utilisateur de bureau traditionnelle, selon les scénarios de l’utilisateur final.