-
Notifications
You must be signed in to change notification settings - Fork 8k
/
index.md
128 lines (94 loc) · 5.77 KB
/
index.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
---
title: Utiliser le rôle group
slug: Web/Accessibility/ARIA/Roles/group_role
---
{{AccessibilitySidebar}}
### Description
Cette technique présente l'utilisation du rôle [group](http://www.w3.org/TR/wai-aria/roles#group) et décrit les effets produits sur les navigateurs et les technologies d'assistance.
Le rôle `group` est utilisé pour identifier un ensemble d'objets de l'interface utilisateur qui, contrairement à une [`region`](http://www.w3.org/TR/wai-aria/roles#region), ne sont pas destinés à être intégrés dans une table de contenus ou une page récapitulative (telles que des structures dynamiquement créées par des scripts ou par les technologies d'assistance) ; un groupe ne devrait pas être considéré comme une partie perceptible majeure d'une page. Lorsque le rôle `group` est ajouté à un élément, , le navigateur émettra un événement `group` accessible aux produits de technologie d'assistance qui pourront alors le notifier à l'utilisateur.
Un groupe devrait utilisé pour former un ensemble logique d'éléments avec des fonctions connexes, tels que les enfants dans un composant d'arborescence formant un ensemble apparenté dans une hiérarchie, ou une collection d'éléments ayant le même conteneur dans un répertoire. Cependant, lorsqu'on utilise un groupe pour former une liste, les développeurs doivent limiter ses enfants aux éléments [listitem](http://www.w3.org/TR/wai-aria/roles#listitem). Les éléments de groupe devraient être imbriqués.
La gestion correcte d'un groupe par les technologies d'assistance est déterminée par le contexte dans lequel il est fourni.
Si un auteur pense qu'une section est suffisamment importante pour faire partie de la table des matières d'une page, il devrait assigner un rôle de [`region`](http://www.w3.org/TR/wai-aria/roles#region) ou un rôle standard de [point de repère](http://www.w3.org/TR/wai-aria/roles#landmark_roles) à cette section.
### Effets possibles sur les agents utilisateurs et les technologies d'assistance
Lorsque le rôle `group` est ajouté à un élément, ou qu'un tel élément devient visible, l'agent utilisateur devrait suivre les étapes suivantes :
- Présenter l'élément ayant un rôle de groupe à l'API d'accessibilité du système d'exploitation ;
- Déclencher un événement groupe accessible à l'aide l'API d'accessibilité du système d'exploitation si elle le prend en charge.
Les technologies d'assistance devraient être à l'écoute de tels événements et les notifier à l'utilisateur en conséquence :
- Les lecteurs d'écran devraient annoncer le groupe lorsque le focus atteint l'un des contrôles appartenant au groupe, et si [aria-describedby](http://www.w3.org/TR/wai-aria/states_and_properties#aria-describedby) a été défini, la description peut être lue. Après cela seulement le contrôle focalisé devrait être annoncé.
- Les loupes d'écran devraient agrandir le groupe.
> **Note :** il existe plusieurs points de vue sur la façon dont les technologies d'assistance devraient traiter cette technique. L'information fournie ci-dessus est l'une de ces opinions et n'est pas normative.
### Exemples
#### Exemple 1 : Utiliser le rôle `group` avec une arborescence HTML
L'extrait de code ci-dessous montre comment le rôle `group` est ajouté directement dans le code source HTML.
```html
<div id="tree1" class="tree" role="tree" tabindex="-1">
<div
id="animals"
class="groupHeader"
role="presentation"
aria-owns="animalGroup"
aria-expanded="true">
<img
class="headerImg"
role="presentation"
tabindex="-1"
src="images/treeExpanded.gif" />
<span role="treeitem" tabindex="0">Animaux</span>
</div>
<div id="animalGroup" class="group" role="group">
<div id="birds" class="treeitem" role="presentation">
<span role="treeitem" tabindex="-1">Oiseaux</span>
</div>
<div
id="cats"
class="groupHeader"
role="presentation"
aria-owns="catGroup"
aria-expanded="false">
<img
class="headerImg"
role="presentation"
tabindex="-1"
src="images/treeContracted.gif" />
<span role="treeitem" tabindex="0">Chats</span>
</div>
<div id="catGroup" class="group" role="group">
<div id="siamese" class="treeitem" role="presentation">
<span role="treeitem" tabindex="-1">Siamois</span>
</div>
<div id="tabby" class="treeitem" role="presentation">
<span role="treeitem" tabindex="-1">Tigré</span>
</div>
</div>
</div>
</div>
```
#### Exemple 2 : Utiliser le rôle `group` avec un menu déroulant HTML
L'extrait de code ci-dessous montre comment le rôle `group` est ajouté directement au code source HTML.
```html
<div role="menu">
<ul role="group">
<li role="menuitem">Courrier entrant</li>
<li role="menuitem">Archive</li>
<li role="menuitem">Corbeille</li>
</ul>
<ul role="group">
<li role="menuitem">Dossier personnalisé 1</li>
<li role="menuitem">Dossier personnalisé 2</li>
<li role="menuitem">Dossier personnalisé 3</li>
</ul>
<ul role="group">
<li role="menuitem">Nouveau dossier</li>
</ul>
</div>
```
#### Exemples concrets
- <http://test.cita.illinois.edu/aria/tree/tree2.php>
### Notes
- Les membres du groupe qui se trouve à l'extérieur du sous-arbre DOM du groupe doivent avoir leurs relations avec ce dernier explicitement assignées afin de participer au groupe.
### Attributs ARIA utilisés
- [group (en)](http://www.w3.org/TR/wai-aria/roles#group)
### Techniques ARIA connexes
- Rôle [region (en)](http://www.w3.org/TR/wai-aria/roles#region)
### Autres ressources
- Bonnes pratiques ARIA – Répertoires, groupes et zones : [Directories, Groups, and Regions (en)](http://www.w3.org/TR/wai-aria-practices/#kbd_layout_groupheading)