aria_query/
aria_props_map.rs

1use std::{hash::RandomState, sync::LazyLock};
2
3use ordered_hash_map::OrderedHashMap;
4
5use crate::{
6    AriaPropertyDefinitionType,
7    types::{AriaProperty, AriaPropertyDefinition},
8};
9
10pub static ARIA: LazyLock<OrderedHashMap<AriaProperty, AriaPropertyDefinition, RandomState>> =
11    LazyLock::new(|| {
12        OrderedHashMap::from_iter([
13            (
14                AriaProperty::AriaActivedescendant,
15                AriaPropertyDefinition {
16                    r#type: AriaPropertyDefinitionType::Id,
17                    values: None,
18                    allow_undefined: None,
19                },
20            ),
21            (
22                AriaProperty::AriaAtomic,
23                AriaPropertyDefinition {
24                    r#type: AriaPropertyDefinitionType::Boolean,
25                    values: None,
26                    allow_undefined: None,
27                },
28            ),
29            (
30                AriaProperty::AriaAutocomplete,
31                AriaPropertyDefinition {
32                    r#type: AriaPropertyDefinitionType::Token,
33                    values: Some(vec![
34                        "inline".into(),
35                        "list".into(),
36                        "both".into(),
37                        "none".into(),
38                    ]),
39                    allow_undefined: None,
40                },
41            ),
42            (
43                AriaProperty::AriaBraillelabel,
44                AriaPropertyDefinition {
45                    r#type: AriaPropertyDefinitionType::String,
46                    values: None,
47                    allow_undefined: None,
48                },
49            ),
50            (
51                AriaProperty::AriaBrailleroledescription,
52                AriaPropertyDefinition {
53                    r#type: AriaPropertyDefinitionType::String,
54                    values: None,
55                    allow_undefined: None,
56                },
57            ),
58            (
59                AriaProperty::AriaBusy,
60                AriaPropertyDefinition {
61                    r#type: AriaPropertyDefinitionType::Boolean,
62                    values: None,
63                    allow_undefined: None,
64                },
65            ),
66            (
67                AriaProperty::AriaChecked,
68                AriaPropertyDefinition {
69                    r#type: AriaPropertyDefinitionType::Tristate,
70                    values: None,
71                    allow_undefined: None,
72                },
73            ),
74            (
75                AriaProperty::AriaColcount,
76                AriaPropertyDefinition {
77                    r#type: AriaPropertyDefinitionType::Integer,
78                    values: None,
79                    allow_undefined: None,
80                },
81            ),
82            (
83                AriaProperty::AriaColindex,
84                AriaPropertyDefinition {
85                    r#type: AriaPropertyDefinitionType::Integer,
86                    values: None,
87                    allow_undefined: None,
88                },
89            ),
90            (
91                AriaProperty::AriaColspan,
92                AriaPropertyDefinition {
93                    r#type: AriaPropertyDefinitionType::Integer,
94                    values: None,
95                    allow_undefined: None,
96                },
97            ),
98            (
99                AriaProperty::AriaControls,
100                AriaPropertyDefinition {
101                    r#type: AriaPropertyDefinitionType::Idlist,
102                    values: None,
103                    allow_undefined: None,
104                },
105            ),
106            (
107                AriaProperty::AriaCurrent,
108                AriaPropertyDefinition {
109                    r#type: AriaPropertyDefinitionType::Token,
110                    values: Some(vec![
111                        "page".into(),
112                        "step".into(),
113                        "location".into(),
114                        "date".into(),
115                        "time".into(),
116                        "true".into(),
117                        "false".into(),
118                    ]),
119                    allow_undefined: None,
120                },
121            ),
122            (
123                AriaProperty::AriaDescribedby,
124                AriaPropertyDefinition {
125                    r#type: AriaPropertyDefinitionType::Idlist,
126                    values: None,
127                    allow_undefined: None,
128                },
129            ),
130            (
131                AriaProperty::AriaDescription,
132                AriaPropertyDefinition {
133                    r#type: AriaPropertyDefinitionType::String,
134                    values: None,
135                    allow_undefined: None,
136                },
137            ),
138            (
139                AriaProperty::AriaDetails,
140                AriaPropertyDefinition {
141                    r#type: AriaPropertyDefinitionType::Id,
142                    values: None,
143                    allow_undefined: None,
144                },
145            ),
146            (
147                AriaProperty::AriaDisabled,
148                AriaPropertyDefinition {
149                    r#type: AriaPropertyDefinitionType::Boolean,
150                    values: None,
151                    allow_undefined: None,
152                },
153            ),
154            (
155                AriaProperty::AriaDropeffect,
156                AriaPropertyDefinition {
157                    r#type: AriaPropertyDefinitionType::Tokenlist,
158                    values: Some(vec![
159                        "copy".into(),
160                        "execute".into(),
161                        "link".into(),
162                        "move".into(),
163                        "none".into(),
164                        "popup".into(),
165                    ]),
166                    allow_undefined: None,
167                },
168            ),
169            (
170                AriaProperty::AriaErrormessage,
171                AriaPropertyDefinition {
172                    r#type: AriaPropertyDefinitionType::Id,
173                    values: None,
174                    allow_undefined: None,
175                },
176            ),
177            (
178                AriaProperty::AriaExpanded,
179                AriaPropertyDefinition {
180                    r#type: AriaPropertyDefinitionType::Boolean,
181                    values: None,
182                    allow_undefined: Some(true),
183                },
184            ),
185            (
186                AriaProperty::AriaFlowto,
187                AriaPropertyDefinition {
188                    r#type: AriaPropertyDefinitionType::Idlist,
189                    values: None,
190                    allow_undefined: None,
191                },
192            ),
193            (
194                AriaProperty::AriaGrabbed,
195                AriaPropertyDefinition {
196                    r#type: AriaPropertyDefinitionType::Boolean,
197                    values: None,
198                    allow_undefined: Some(true),
199                },
200            ),
201            (
202                AriaProperty::AriaHaspopup,
203                AriaPropertyDefinition {
204                    r#type: AriaPropertyDefinitionType::Token,
205                    values: Some(vec![
206                        "false".into(),
207                        "true".into(),
208                        "menu".into(),
209                        "listbox".into(),
210                        "tree".into(),
211                        "grid".into(),
212                        "dialog".into(),
213                    ]),
214                    allow_undefined: None,
215                },
216            ),
217            (
218                AriaProperty::AriaHidden,
219                AriaPropertyDefinition {
220                    r#type: AriaPropertyDefinitionType::Boolean,
221                    values: None,
222                    allow_undefined: Some(true),
223                },
224            ),
225            (
226                AriaProperty::AriaInvalid,
227                AriaPropertyDefinition {
228                    r#type: AriaPropertyDefinitionType::Token,
229                    values: Some(vec![
230                        "grammar".into(),
231                        "false".into(),
232                        "spelling".into(),
233                        "true".into(),
234                    ]),
235                    allow_undefined: None,
236                },
237            ),
238            (
239                AriaProperty::AriaKeyshortcuts,
240                AriaPropertyDefinition {
241                    r#type: AriaPropertyDefinitionType::String,
242                    values: None,
243                    allow_undefined: None,
244                },
245            ),
246            (
247                AriaProperty::AriaLabel,
248                AriaPropertyDefinition {
249                    r#type: AriaPropertyDefinitionType::String,
250                    values: None,
251                    allow_undefined: None,
252                },
253            ),
254            (
255                AriaProperty::AriaLabelledby,
256                AriaPropertyDefinition {
257                    r#type: AriaPropertyDefinitionType::Idlist,
258                    values: None,
259                    allow_undefined: None,
260                },
261            ),
262            (
263                AriaProperty::AriaLevel,
264                AriaPropertyDefinition {
265                    r#type: AriaPropertyDefinitionType::Integer,
266                    values: None,
267                    allow_undefined: None,
268                },
269            ),
270            (
271                AriaProperty::AriaLive,
272                AriaPropertyDefinition {
273                    r#type: AriaPropertyDefinitionType::Token,
274                    values: Some(vec!["assertive".into(), "off".into(), "polite".into()]),
275                    allow_undefined: None,
276                },
277            ),
278            (
279                AriaProperty::AriaModal,
280                AriaPropertyDefinition {
281                    r#type: AriaPropertyDefinitionType::Boolean,
282                    values: None,
283                    allow_undefined: None,
284                },
285            ),
286            (
287                AriaProperty::AriaMultiline,
288                AriaPropertyDefinition {
289                    r#type: AriaPropertyDefinitionType::Boolean,
290                    values: None,
291                    allow_undefined: None,
292                },
293            ),
294            (
295                AriaProperty::AriaMultiselectable,
296                AriaPropertyDefinition {
297                    r#type: AriaPropertyDefinitionType::Boolean,
298                    values: None,
299                    allow_undefined: None,
300                },
301            ),
302            (
303                AriaProperty::AriaOrientation,
304                AriaPropertyDefinition {
305                    r#type: AriaPropertyDefinitionType::Token,
306                    values: Some(vec![
307                        "vertical".into(),
308                        "undefined".into(),
309                        "horizontal".into(),
310                    ]),
311                    allow_undefined: None,
312                },
313            ),
314            (
315                AriaProperty::AriaOwns,
316                AriaPropertyDefinition {
317                    r#type: AriaPropertyDefinitionType::Idlist,
318                    values: None,
319                    allow_undefined: None,
320                },
321            ),
322            (
323                AriaProperty::AriaPlaceholder,
324                AriaPropertyDefinition {
325                    r#type: AriaPropertyDefinitionType::String,
326                    values: None,
327                    allow_undefined: None,
328                },
329            ),
330            (
331                AriaProperty::AriaPosinset,
332                AriaPropertyDefinition {
333                    r#type: AriaPropertyDefinitionType::Integer,
334                    values: None,
335                    allow_undefined: None,
336                },
337            ),
338            (
339                AriaProperty::AriaPressed,
340                AriaPropertyDefinition {
341                    r#type: AriaPropertyDefinitionType::Tristate,
342                    values: None,
343                    allow_undefined: None,
344                },
345            ),
346            (
347                AriaProperty::AriaReadonly,
348                AriaPropertyDefinition {
349                    r#type: AriaPropertyDefinitionType::Boolean,
350                    values: None,
351                    allow_undefined: None,
352                },
353            ),
354            (
355                AriaProperty::AriaRelevant,
356                AriaPropertyDefinition {
357                    r#type: AriaPropertyDefinitionType::Tokenlist,
358                    values: Some(vec![
359                        "additions".into(),
360                        "all".into(),
361                        "removals".into(),
362                        "text".into(),
363                    ]),
364                    allow_undefined: None,
365                },
366            ),
367            (
368                AriaProperty::AriaRequired,
369                AriaPropertyDefinition {
370                    r#type: AriaPropertyDefinitionType::Boolean,
371                    values: None,
372                    allow_undefined: None,
373                },
374            ),
375            (
376                AriaProperty::AriaRoledescription,
377                AriaPropertyDefinition {
378                    r#type: AriaPropertyDefinitionType::String,
379                    values: None,
380                    allow_undefined: None,
381                },
382            ),
383            (
384                AriaProperty::AriaRowcount,
385                AriaPropertyDefinition {
386                    r#type: AriaPropertyDefinitionType::Integer,
387                    values: None,
388                    allow_undefined: None,
389                },
390            ),
391            (
392                AriaProperty::AriaRowindex,
393                AriaPropertyDefinition {
394                    r#type: AriaPropertyDefinitionType::Integer,
395                    values: None,
396                    allow_undefined: None,
397                },
398            ),
399            (
400                AriaProperty::AriaRowspan,
401                AriaPropertyDefinition {
402                    r#type: AriaPropertyDefinitionType::Integer,
403                    values: None,
404                    allow_undefined: None,
405                },
406            ),
407            (
408                AriaProperty::AriaSelected,
409                AriaPropertyDefinition {
410                    r#type: AriaPropertyDefinitionType::Boolean,
411                    values: None,
412                    allow_undefined: Some(true),
413                },
414            ),
415            (
416                AriaProperty::AriaSetsize,
417                AriaPropertyDefinition {
418                    r#type: AriaPropertyDefinitionType::Integer,
419                    values: None,
420                    allow_undefined: None,
421                },
422            ),
423            (
424                AriaProperty::AriaRelevant,
425                AriaPropertyDefinition {
426                    r#type: AriaPropertyDefinitionType::Token,
427                    values: Some(vec![
428                        "ascending".into(),
429                        "descending".into(),
430                        "none".into(),
431                        "other".into(),
432                    ]),
433                    allow_undefined: None,
434                },
435            ),
436            (
437                AriaProperty::AriaValuemax,
438                AriaPropertyDefinition {
439                    r#type: AriaPropertyDefinitionType::Number,
440                    values: None,
441                    allow_undefined: None,
442                },
443            ),
444            (
445                AriaProperty::AriaValuemin,
446                AriaPropertyDefinition {
447                    r#type: AriaPropertyDefinitionType::Number,
448                    values: None,
449                    allow_undefined: None,
450                },
451            ),
452            (
453                AriaProperty::AriaValuenow,
454                AriaPropertyDefinition {
455                    r#type: AriaPropertyDefinitionType::Number,
456                    values: None,
457                    allow_undefined: None,
458                },
459            ),
460            (
461                AriaProperty::AriaValuetext,
462                AriaPropertyDefinition {
463                    r#type: AriaPropertyDefinitionType::String,
464                    values: None,
465                    allow_undefined: None,
466                },
467            ),
468        ])
469    });