Mappage des rôles, états et propriétés ARIA avec UI Automation
Le W3C (Wide Web Consortium) définit les applications Internet enrichies accessibles (ARIA, Accessible Rich Internet Applications) comme étant une syntaxe autorisant l'accessibilité des contenus Web dynamiques et des interfaces utilisateur personnalisées. Dans la version Bêta d'Internet Explorer 8, les données concernant le rôle, l'état et les propriétés des applications ARIA sont reconnues et exposées à des technologies d'assistance, qui à leur tour utilisent les API Microsoft Active Accessibility et/ou Microsoft UI Automation pour récupérer des informations. Au lieu de créer des pages Web simplifiées distinctes pour une meilleure accessibilité, vous pouvez utiliser ARIA pour ajouter des rôles, des états et des propriétés à vos applications Web enrichies. Par exemple, vous pouvez définir un élément div en tant que bouton ou case à cocher, ou bien l'associer à autre rôle ARIA. Ce comportement est similaire à celui qui peut être obtenu au moyen d'un script.
Cette rubrique contient les sections suivantes :
Rôles ARIA W3C
Les rôles ARIA W3C sont mappés à un rôle Microsoft Active Accessibility ou à un type de contrôle UI Automation. Le rôle ARIA WC3 d'origine peut être pris en charge par la propriété UI Automation AriaRole. Les agents utilisateur peuvent éventuellement offrir des descriptions localisées du rôle ARIA W3C à l'aide de la propriété LocalizedControlType du contrôle UI Automation. Lorsque la chaîne localisée n'est pas spécifiée, une chaîne LocalizedControlType par défaut est fournie par le système.
| Attributs du rôle ARIA W3C (version 4, non définitive) | Propriété accRole de Microsoft Active Accessibility | Propriété ControlType d'UI Automation | Propriété AriaRole d'UI Automation |
|---|---|---|---|
| "alert" | ROLE_SYSTEM_ALERT | Text | alert |
| "alertdialog" | ROLE_SYSTEM_DIALOG | Window | alertdialog |
| "application" | ROLE_SYSTEM_PANE | pane | application |
| "button" | ROLE_SYSTEM_PUSHBUTTON | button | button |
| "checkbox" | ROLE_SYSTEM_CHECKBUTTON | Checkbox | checkbox |
| "columnheader" | ROLE_SYSTEM_COLUMNHEADER | DataItem | columnheader |
| "combobox" | ROLE_SYSTEM_COMBOBOX | Combobox | combobox |
| "description" | ROLE_SYSTEM_TEXT | Text | description |
| "dialog" | ROLE_SYSTEM_DIALOG | Window | dialog |
| "directory" | ROLE_SYSTEM_LIST | List | directory |
| "document" | ROLE_SYSTEM_CLIENT | Document | document |
| "grid" | ROLE_SYSTEM_TABLE | DataGrid | grid |
| "gridcell" | ROLE_SYSTEM_CELL | DataItem | gridcell |
| "group" | ROLE_SYSTEM_GROUPING | Grouping | group |
| "heading" | ROLE_SYSTEM_TEXT | Text | heading |
| "img" | ROLE_SYSTEM_GRAPHIC | Image | img |
| "link" | ROLE_SYSTEM_LINK | HyperLink | link |
| "list" | ROLE_SYSTEM_LIST | List | list |
| "listbox" | ROLE_SYSTEM_LIST | List | listbox |
| "listitem" | ROLE_SYSTEM_LISTITEM | ListItem | listitem |
| "log" | ROLE_SYSTEM_PANE | Pane | log |
| "marquee" | ROLE_SYSTEM_ANIMATION | Text | marquee |
| "menu" | ROLE_SYSTEM_MENUPOPUP | Menu | menu |
| "menubar" | ROLE_SYSTEM_MENUBAR | MenuBar | menubar |
| "menuitem" | ROLE_SYSTEM_MENUITEM | MenuItem | menuitem |
| "menuitemcheckbox" | ROLE_SYSTEM_CHECKBUTTON | CheckBox | menuitemcheckbox |
| "menuitemradio" | ROLE_SYSTEM_RADIOBUTTON | RadioButton | menuitemradio |
| "option" | ROLE_SYSTEM_LISTITEM | ListItem | option |
| "presentation" | ROLE_SYSTEM_PANE | Pane | presentation |
| "progressbar" | ROLE_SYSTEM_PROGRESSBAR | ProgressBar | progressbar |
| "radio" | ROLE_SYSTEM_RADIOBUTTON | RadioButton | radio |
| "radiogroup" | ROLE_SYSTEM_GROUPING | Group | radiogroup |
| "region" | ROLE_SYSTEM_PANE | Pane | region |
| "row" | ROLE_SYSTEM_ROW | DataItem | row |
| "rowheader" | ROLE_SYSTEM_ROWHEADER | DataItem | rowheader |
| "separator" | ROLE_SYSTEM_SEPARATOR | Separator | separator |
| "slider" | ROLE_SYSTEM_SLIDER | Slider | slider |
| "spinbutton" | ROLE_SYSTEM_SPINBUTTON | Spinner | spinbutton |
| "status" | ROLE_SYSTEM_STATUSBAR | Status Bar | status |
| "tab" | ROLE_SYSTEM_PAGETAB | TabItem | tab |
| "tablist" | ROLE_SYSTEM_PAGETABLIST | Tab | tablist |
| "tabpanel" | ROLE_SYSTEM_PANE | Pane | tabpanel |
| "textbox" | ROLE_SYSTEM_TEXT | Document | textbox |
| "timer" | ROLE_SYSTEM_CLOCK | Pane | timer |
| "toolbar" | ROLE_SYSTEM_TOOLBAR | Toolbar | toolbar |
| "tooltip" | ROLE_SYSTEM_TOOLTIP | Tooltip | tooltip |
| "tree" | ROLE_SYSTEM_OUTLINE | Tree | tree |
| "treegrid" | ROLE_SYSTEM_TABLE | DataGrid | treegrid |
| "treeitem" | ROLE_SYSTEM_OUTLINEITEM | TreeItem | treeitem |
États et propriétés ARIA W3C
Les états et propriétés W3C ARIA sont mappés à différentes propriétés et fonctions de Microsoft Active Accessibility et d'UI Automation. À quelques exceptions près, la plupart des états et propriétés ARIA sont pris en charge par la propriété AriaProperties d'UI Automation.
Les exceptions sont les suivantes :
- Propriétés ARIA qui acceptent des références d'objets conformément aux informations contenues dans leur description
- Propriétés ARIA prises en charge par le modèle d'objet d'accessibilité
Par exemple, la propriété ARIA aria-activedescendant est toujours censée être représentée comme un élément ayant le focus dans le modèle d'objet d'accessibilité. La propriété ARIA aria-owns doit également être répercutée dans le modèle d'objet d'accessibilité lorsqu'elle est spécifiée.
AriaProperties est une propriété de type chaîne qui possède un ensemble de
paires nom/valeur dont les délimiteurs sont « = » (signe égale) et « ; » (point-virgule).
Exemple : checked=true;disabled=false. La barre oblique inverse
(« \ ») est utilisée comme caractère d'échappement lorsque ces délimiteurs ou
« \ » apparaissent dans les valeurs. Le code du fournisseur UI Automation peut
ajouter des éléments de vérification afin de valider les propriétés ARIA d'origine
du
modèle
DOM
,
mais cela n'est pas obligatoire.
| États et propriétés ARIA W3C | Propriétés Microsoft Active Accessibility | Propriétés UI Automation | Propriété ARIA AriaProperties d'UI Automation |
|---|---|---|---|
| aria-activedescendant | STATE_SYSTEM_FOCUSED ( IAccessible::get_accState) | HasKeyboardFocus (propriété de l'élément enfant désigné pour recevoir le focus) | N/A |
| aria-atomic† | N/A | N/A | atomic |
| aria-busy | STATE_SYSTEM_BUSY (get_accState) | N/A | busy |
| aria-channel† | N/A | N/A | channel |
| aria-checked | STATE_SYSTEM_CHECKED (get_accState) | ToggleState (modèle de basculement) | checked |
| aria-controls | N/A | ControllerFor | N/A |
| aria-describedby | N/A | DescribedBy | N/A |
| aria-disabled | STATE_SYSTEM_UNAVAILABLE (get_accState) | IsEnabled | disabled |
| aria-dropeffect† | N/A | N/A | dropeffect |
| aria-expanded | STATE_SYSTEM_COLLAPSED or STATE_SYSTEM_EXPANDED (get_accState) | ExpandCollapseState (ExpandCollapse Pattern) | expanded |
| aria-flowto | N/A | FlowsTo | N/A |
| aria-grab† | N/A | N/A | grab |
| aria-haspopup | STATE_HASPOPUP | N/A | haspopup |
| aria-hidden | STATE_SYSTEM_INVISIBLE | IsOffscreen | hidden |
| aria-invalid | N/A | IsDataInvalidForForm | invalid |
| aria-labelledby | N/A | LabeledBy | N/A |
| aria-level | IAccessible::get_accValue | N/A (représenté par la structure en arborescence de l'élément automation) | level |
| aria-live | N/A | N/A | live |
| aria-multiline† | N/A | Document Control Type | multiline |
| aria-multiselect | STATE_SYSTEM_EXTSELECTABLE (get_accState) | CanSelectMultiple (modèle de sélection) | multiselectable |
| aria-owns | N/A (doit être reflété dans l'arborescence d'objets accessibles) | N/A (doit être répercuté dans l'arborescence de l'élément automation) | N/A |
| aria-posinset | N/A (représenté dans la structure d'arborescence d'objet accessible, ou par childId) | N/A (représenté dans la structure d'arborescence de l'élément automation) | posinset |
| aria-pressed | STATE_SYSTEM_PRESSED (get_accState) | ToggleState (modèle de basculement) | pressed |
| aria-readonly | STATE_SYSTEM_READONLY (get_accState) | IsReadOnly | readonly |
| aria-relevant | N/A | N/A | relevant |
| aria-required | N/A | IsRequiredForForm | required |
| aria-secret | STATE_SYSTEM_PROTECTED (get_accState) | IsPassword | secret |
| aria-selected | STATE_SYSTEM_SELECTED (get_accState) | IsSelected (modèle SelectionItem) | selected |
| aria-setsize | N/A | N/A (nombre d'enfants dans la structure d'arborescence de l'élément automation) | setsize |
| aria-sort† | N/A | N/A | sort |
| tabIndex | STATE_SYSTEM_FOCUSABLE (get_accState) | IsKeyboardFocusable | tabindex |
| aria-valuemax | N/A | MaximumProperty (modèle RangeValue) | valuemax |
| aria-valuemin | N/A | MinimumProperty (modèle RangeValue) | valuemin |
| aria-valuenow | get_accValue | ValueProperty (modèle RangeValue) | valuenow |
| aria-valuetext† | get_accValue REMARQUE : lorsque les propriétés ARIA aria-valuenow et aria-valuetext sont toutes deux définies, get_accValue tient compte uniquement des données associées à la propriété aria-valuetext. | ValueProperty (modèle Value) REMARQUE : RangeValue et Value Pattern peuvent coexister dans l'interface utilisateur si aria-valuetext et aria-valuenow sont toutes deux spécifiées. | valuetext |
† Non implémenté dans Internet Explorer 8.
Voir aussi
Microsoft Active Accessibility et UI Automation
- Microsoft Active Accessibility SDK (page éventuellement en anglais)
- Constantes Microsoft Active Accessibility et types énumérés (page éventuellement en anglais)
- Spécification et engagement communautaire UI Automation (page éventuellement en anglais)
- UI Automation pour les applications Win32 (page éventuellement en anglais)
Source relatives à la spécification ARIA
-
Applications Internet enrichies accessibles (WAI-ARIA) version 1.0 (page
éventuellement en anglais)

-
ARIA User Agent Implementors Guide (page
éventuellement en anglais)
