1
1
<!DOCTYPE html>
2
2
< html lang ="en " xml:lang ="en " xmlns ="http://www.w3.org/1999/xhtml ">
3
3
< head >
4
- < meta charset ="UTF-8 "> </ meta >
4
+ < meta charset ="UTF-8 "/ >
5
5
< title > Understanding Name, Role, Value</ title >
6
6
< link rel ="stylesheet " type ="text/css " href ="../../css/sources.css " class ="remove "/>
7
7
</ head >
8
8
< body >
9
9
< h1 > Understanding Name, Role, Value</ h1 >
10
-
11
10
< section id ="brief ">
12
11
< h2 > In brief</ h2 >
13
12
< dl >
14
13
< dt > Goal</ dt > < dd > People using assistive technology understand all components.</ dd >
15
14
< dt > What to do</ dt > < dd > Give components correct names, roles, states, and values.</ dd >
16
- < dt > Why it's important</ dt > < dd > Assistive technology only works well when code is done properly.</ dd >
15
+ < dt > Why it's important</ dt > < dd > Assistive technology only works well when code is done properly.</ dd >
17
16
</ dl >
18
-
19
17
</ section >
20
-
21
18
< section id ="intent ">
22
19
< h2 > Intent of Name, Role, Value</ h2 >
23
-
24
-
25
20
< p > The intent of this Success Criterion is to ensure that Assistive Technologies (AT)
26
21
can gather appropriate information about, activate (or set) and keep up to date on the status of
27
22
user interface controls in the content.
28
23
</ p >
29
-
30
24
< p > When standard controls from accessible technologies are used, this process is straightforward.
31
25
If the user interface elements are used according to specification the conditions
32
26
of this provision will be met. (See examples of Success Criterion 4.1.2 below)
33
27
</ p >
34
-
35
28
< p > If custom controls are created, however, or interface elements are programmed (in
36
29
code or script) to have a different role and/or function than usual, then additional
37
30
measures need to be taken to ensure that the controls provide important and appropriate information
38
31
to assistive technologies and allow themselves to be controlled by assistive technologies.
39
32
</ p >
40
-
41
33
< p > What roles and states are appropriate to convey to assistive technology will depend
42
34
on what the control represents. Specifics about such information are defined by other
43
35
specifications, such as < a href ="https://www.w3.org/TR/wai-aria/ "> WAI-ARIA</ a > , or the
44
36
relevant platform standards. Another factor to consider is whether there is sufficient
45
37
< a > accessibility support</ a > with assistive technologies to convey the information as specified.
46
38
</ p >
47
-
48
39
< p > A particularly important state of a user interface control is whether or not it has
49
40
focus. The focus state of a control can be programmatically determined, and notifications
50
41
about change of focus are sent to user agents and assistive technology. Other examples
51
42
of user interface control states are whether or not a checkbox or radio button has
52
43
been selected, or whether a collapsible tree view or accordion is expanded or collapsed.
53
44
</ p >
54
45
55
-
56
46
< div class ="note ">
57
-
58
47
< p > Success Criterion 4.1.2 requires a programmatically determinable name for all user
59
48
interface components. Names may be visible or invisible. Occasionally, the name needs
60
49
to be visible, in which case it is identified as a label. Refer to the definition of
61
50
name and label in the glossary for more information.
62
51
</ p >
63
-
64
52
</ div >
65
-
66
-
67
53
</ section >
68
54
< section id ="benefits ">
69
55
< h2 > Benefits of Name, Role, Value</ h2 >
70
-
71
-
72
56
< ul >
73
-
74
57
< li > Providing role, state, and value information on all user interface components enables
75
58
compatibility with assistive technology, such as screen readers, screen magnifiers,
76
59
and speech recognition software, used by people with disabilities.
77
60
</ li >
78
-
79
61
</ ul >
80
-
81
62
</ section >
82
-
83
63
< section id ="examples ">
84
64
< h2 > Examples of Name, Role, Value</ h2 >
85
-
86
65
< dl >
87
66
< dt > Accessible APIs</ dt >
88
67
< dd > A Java applet uses the accessibility API defined by the language.</ dd >
89
68
</ dl >
90
-
91
69
</ section >
92
-
93
70
< section id ="resources ">
94
71
< h2 > Resources for Name, Role, Value</ h2 >
95
-
96
-
97
72
< ul >
98
73
< li >
99
74
< a href ="https://www.w3.org/WAI/PF/roadmap/ "> Dynamic Accessible Web Content Roadmap</ a >
@@ -105,270 +80,135 @@ <h2>Resources for Name, Role, Value</h2>
105
80
< a href ="https://www.w3.org/TR/wai-aria/ "> Web Accessibility Initiative - Accessible Rich Internet Applications (ARIA)</ a >
106
81
</ li >
107
82
</ ul >
108
-
109
83
</ section >
110
-
111
84
< section id ="techniques ">
112
85
< h2 > Techniques for Name, Role, Value</ h2 >
113
-
114
-
115
86
< section id ="sufficient ">
116
87
< h3 > Sufficient Techniques for Name, Role, Value</ h3 >
117
-
118
-
119
88
< section class ="situation " id ="name-role-value-situation-0 ">
120
-
121
89
< h4 > Situation A: If using a standard user interface component in a markup language (e.g.,
122
90
HTML):
123
91
</ h4 >
124
-
125
92
< ul >
126
-
127
93
< li >
128
-
129
94
< a href ="../Techniques/aria/ARIA14 " class ="aria "> </ a >
130
-
131
95
</ li >
132
-
133
96
< li >
134
-
135
97
< a href ="../Techniques/aria/ARIA16 " class ="aria "> </ a >
136
-
137
98
</ li >
138
-
139
99
< li >
140
-
141
- < p >
142
-
143
- < a href ="../Techniques/general/G108 " class ="general "> Using markup features to expose the name and role, allow user-settable properties
144
- to be directly set, and provide notification of changes
145
- </ a > using technology-specific techniques below:
100
+ < p >
101
+ < a href ="../Techniques/general/G108 " class ="general "> </ a > using technology-specific techniques below:
146
102
</ p >
147
-
148
103
< ul >
149
-
150
104
< li >
151
-
152
- < a href ="../Techniques/html/H91 " class ="html "> Using HTML form controls and links</ a >
153
-
105
+ < a href ="../Techniques/html/H91 " class ="html "> </ a >
154
106
</ li >
155
-
156
107
< li >
157
-
158
- < a href ="../Techniques/html/H44 " class ="html "> Using label elements to associate text labels with form controls</ a >
159
-
108
+ < a href ="../Techniques/html/H44 " class ="html "> </ a >
160
109
</ li >
161
-
162
110
< li >
163
-
164
- < a href ="../Techniques/html/H64 " class ="html "> Using the title attribute of the frame element</ a >
165
-
111
+ < a href ="../Techniques/html/H64 " class ="html "> </ a >
166
112
</ li >
167
-
168
113
< li >
169
-
170
- < a href ="../Techniques/html/H65 " class ="html "> Using the title attribute to identify form controls when the label element cannot
171
- be used
172
- </ a >
173
-
114
+ < a href ="../Techniques/html/H65 " class ="html "> </ a >
174
115
</ li >
175
-
176
116
< li >
177
-
178
- < a href ="../Techniques/html/H88 " class ="html "> Using (X)HTML according to spec</ a >
179
-
117
+ < a href ="../Techniques/html/H88 " class ="html "> </ a >
180
118
</ li >
181
-
182
119
</ ul >
183
-
184
120
</ li >
185
-
186
121
</ ul >
187
-
188
122
</ section >
189
-
190
123
< section class ="situation " id ="name-role-value-situation-1 ">
191
-
192
124
< h4 > Situation B: If using script or code to re-purpose a standard user interface component
193
125
in a markup language:
194
126
</ h4 >
195
-
196
127
< ul >
197
-
198
128
< li >
199
-
200
129
< p > Exposing the names and roles, allowing user-settable properties to be directly set,
201
130
and providing notification of changes using one of the following techniques:
202
131
</ p >
203
-
204
132
< ul >
205
-
206
133
< li >
207
-
208
134
< a href ="../Techniques/aria/ARIA16 " class ="aria "> </ a >
209
-
210
135
</ li >
211
-
212
136
</ ul >
213
-
214
137
</ li >
215
-
216
138
</ ul >
217
-
218
139
</ section >
219
-
220
140
< section class ="situation " id ="name-role-value-situation-2 ">
221
-
222
141
< h4 > Situation C: If using a standard user interface component in a programming technology:</ h4 >
223
-
224
142
< ul >
225
-
226
143
< li >
227
-
228
144
< p >
229
-
230
- < a href ="../Techniques/general/G135 " class ="general "> Using the accessibility API features of a technology to expose the names and roles,
231
- allow user-settable properties to be directly set, and provide notification of changes
232
- </ a > using technology-specific techniques below:
233
-
145
+ < a href ="../Techniques/general/G135 " class ="general "> </ a > using technology-specific techniques below:
234
146
</ p >
235
-
236
147
< ul >
237
-
238
148
< li >
239
-
240
149
< a href ="../Techniques/pdf/PDF10 " class ="pdf "> </ a >
241
-
242
150
</ li >
243
-
244
151
< li >
245
-
246
152
< a href ="../Techniques/pdf/PDF12 " class ="pdf "> </ a >
247
-
248
153
</ li >
249
-
250
154
</ ul >
251
-
252
155
</ li >
253
-
254
156
</ ul >
255
-
256
157
</ section >
257
-
258
158
< section class ="situation " id ="name-role-value-situation-3 ">
259
-
260
159
< h4 > Situation D: If creating your own user interface component in a programming language:</ h4 >
261
-
262
160
< ul >
263
-
264
161
< li >
265
-
266
162
< p >
267
-
268
- < a href ="../Techniques/general/G10 " class ="general "> Creating components using a technology that supports the accessibility API features
269
- of the platforms on which the user agents will be run to expose the names and roles,
270
- allow user-settable properties to be directly set, and provide notification of changes
271
- </ a > using technology-specific techniques below:
272
-
163
+ < a href ="../Techniques/general/G10 " class ="general "> </ a > using technology-specific techniques below:
273
164
</ p >
274
-
275
165
< ul >
276
-
277
166
< li >
278
-
279
167
< a href ="../Techniques/aria/ARIA4 " class ="aria "> </ a >
280
-
281
168
</ li >
282
-
283
169
< li >
284
-
285
170
< a href ="../Techniques/aria/ARIA5 " class ="aria "> </ a >
286
-
287
171
</ li >
288
-
289
172
< li >
290
-
291
173
< a href ="../Techniques/aria/ARIA16 " class ="aria "> </ a >
292
-
293
174
</ li >
294
-
295
175
</ ul >
296
-
297
176
</ li >
298
-
299
177
</ ul >
300
-
301
178
</ section >
302
-
303
179
</ section >
304
-
305
180
< section id ="advisory ">
306
181
< h3 > Additional Techniques (Advisory) for Name, Role, Value</ h3 >
307
-
308
182
</ section >
309
-
310
183
< section id ="failure ">
311
184
< h3 > Failures for Name, Role, Value</ h3 >
312
-
313
-
314
185
< ul >
315
-
316
186
< li >
317
-
318
- < a href ="../Techniques/failures/F59 " class ="failure "> Failure due to using script to make div or span a user interface control in HTML</ a >
319
-
187
+ < a href ="../Techniques/failures/F59 " class ="failure "> </ a >
188
+ </ li >
189
+ < li >
190
+ < a href ="../Techniques/failures/F15 " class ="failure "> </ a >
320
191
</ li >
321
-
322
192
< li >
323
-
324
- < a href ="../Techniques/failures/F15 " class ="failure "> Failure due to implementing custom controls that do not use an accessibility API</ a >
325
-
193
+ < a href ="../Techniques/failures/F20 " class ="failure "> </ a >
326
194
</ li >
327
-
328
195
< li >
329
-
330
- < a href ="../Techniques/failures/F20 " class ="failure "> Failure due to not updating text alternatives when changes to non-text content occur</ a >
331
-
196
+ < a href ="../Techniques/failures/F42 " class ="failure "> </ a >
332
197
</ li >
333
-
334
198
< li >
335
-
336
- < a href ="../Techniques/failures/F68 " class ="failure "> Failure of 1.3.1 and 4.1.2 due to the association of label and user interface controls
337
- not being programmatically determinable
338
- </ a >
339
-
199
+ < a href ="../Techniques/failures/F68 " class ="failure "> </ a >
340
200
</ li >
341
-
342
201
< li >
343
-
344
- < a href ="../Techniques/failures/F79 " class ="failure "> Failure of Success Criterion 4.1.2 due to the focus state of a user interface component
345
- not being programmatically determinable or no notification of change of focus state
346
- available
347
- </ a >
348
-
202
+ < a href ="../Techniques/failures/F79 " class ="failure "> </ a >
349
203
</ li >
350
-
351
204
< li >
352
-
353
- < a href ="../Techniques/failures/F86 " class ="failure "> Failure of Success Criterion 4.1.2 due to not providing names for each part of a multi-part
354
- form field, such as a US telephone number
355
- </ a >
356
-
205
+ < a href ="../Techniques/failures/F86 " class ="failure "> </ a >
357
206
</ li >
358
-
359
207
< li >
360
-
361
- < a href ="../Techniques/failures/F89 " class ="failure "> Failure of 2.4.4 due to using null alt on an image where the image is the only content
362
- in a link
363
- </ a >
364
-
208
+ < a href ="../Techniques/failures/F89 " class ="failure "> </ a >
365
209
</ li >
366
-
367
210
</ ul >
368
-
369
211
</ section >
370
-
371
212
</ section >
372
-
373
213
</ body >
374
214
</ html >
0 commit comments