cdp_protocol/
accessibility.rs

1// Auto-generated from Chrome at version 143.0.7499.110 domain: Accessibility
2use super::dom;
3use super::page;
4use super::runtime;
5#[allow(unused_imports)]
6use super::types::*;
7#[allow(unused_imports)]
8use serde::{Deserialize, Serialize};
9#[allow(unused_imports)]
10use serde_json::Value as Json;
11pub type AxNodeId = String;
12#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
13pub enum AxValueType {
14    #[serde(rename = "boolean")]
15    Boolean,
16    #[serde(rename = "tristate")]
17    Tristate,
18    #[serde(rename = "booleanOrUndefined")]
19    BooleanOrUndefined,
20    #[serde(rename = "idref")]
21    Idref,
22    #[serde(rename = "idrefList")]
23    IdrefList,
24    #[serde(rename = "integer")]
25    Integer,
26    #[serde(rename = "node")]
27    Node,
28    #[serde(rename = "nodeList")]
29    NodeList,
30    #[serde(rename = "number")]
31    Number,
32    #[serde(rename = "string")]
33    String,
34    #[serde(rename = "computedString")]
35    ComputedString,
36    #[serde(rename = "token")]
37    Token,
38    #[serde(rename = "tokenList")]
39    TokenList,
40    #[serde(rename = "domRelation")]
41    DomRelation,
42    #[serde(rename = "role")]
43    Role,
44    #[serde(rename = "internalRole")]
45    InternalRole,
46    #[serde(rename = "valueUndefined")]
47    ValueUndefined,
48}
49#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
50pub enum AxValueSourceType {
51    #[serde(rename = "attribute")]
52    Attribute,
53    #[serde(rename = "implicit")]
54    Implicit,
55    #[serde(rename = "style")]
56    Style,
57    #[serde(rename = "contents")]
58    Contents,
59    #[serde(rename = "placeholder")]
60    Placeholder,
61    #[serde(rename = "relatedElement")]
62    RelatedElement,
63}
64#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
65pub enum AxValueNativeSourceType {
66    #[serde(rename = "description")]
67    Description,
68    #[serde(rename = "figcaption")]
69    Figcaption,
70    #[serde(rename = "label")]
71    Label,
72    #[serde(rename = "labelfor")]
73    Labelfor,
74    #[serde(rename = "labelwrapped")]
75    Labelwrapped,
76    #[serde(rename = "legend")]
77    Legend,
78    #[serde(rename = "rubyannotation")]
79    Rubyannotation,
80    #[serde(rename = "tablecaption")]
81    Tablecaption,
82    #[serde(rename = "title")]
83    Title,
84    #[serde(rename = "other")]
85    Other,
86}
87#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
88pub enum AxPropertyName {
89    #[serde(rename = "actions")]
90    Actions,
91    #[serde(rename = "busy")]
92    Busy,
93    #[serde(rename = "disabled")]
94    Disabled,
95    #[serde(rename = "editable")]
96    Editable,
97    #[serde(rename = "focusable")]
98    Focusable,
99    #[serde(rename = "focused")]
100    Focused,
101    #[serde(rename = "hidden")]
102    Hidden,
103    #[serde(rename = "hiddenRoot")]
104    HiddenRoot,
105    #[serde(rename = "invalid")]
106    Invalid,
107    #[serde(rename = "keyshortcuts")]
108    Keyshortcuts,
109    #[serde(rename = "settable")]
110    Settable,
111    #[serde(rename = "roledescription")]
112    Roledescription,
113    #[serde(rename = "live")]
114    Live,
115    #[serde(rename = "atomic")]
116    Atomic,
117    #[serde(rename = "relevant")]
118    Relevant,
119    #[serde(rename = "root")]
120    Root,
121    #[serde(rename = "autocomplete")]
122    Autocomplete,
123    #[serde(rename = "hasPopup")]
124    HasPopup,
125    #[serde(rename = "level")]
126    Level,
127    #[serde(rename = "multiselectable")]
128    Multiselectable,
129    #[serde(rename = "orientation")]
130    Orientation,
131    #[serde(rename = "multiline")]
132    Multiline,
133    #[serde(rename = "readonly")]
134    Readonly,
135    #[serde(rename = "required")]
136    Required,
137    #[serde(rename = "valuemin")]
138    Valuemin,
139    #[serde(rename = "valuemax")]
140    Valuemax,
141    #[serde(rename = "valuetext")]
142    Valuetext,
143    #[serde(rename = "checked")]
144    Checked,
145    #[serde(rename = "expanded")]
146    Expanded,
147    #[serde(rename = "modal")]
148    Modal,
149    #[serde(rename = "pressed")]
150    Pressed,
151    #[serde(rename = "selected")]
152    Selected,
153    #[serde(rename = "activedescendant")]
154    Activedescendant,
155    #[serde(rename = "controls")]
156    Controls,
157    #[serde(rename = "describedby")]
158    Describedby,
159    #[serde(rename = "details")]
160    Details,
161    #[serde(rename = "errormessage")]
162    Errormessage,
163    #[serde(rename = "flowto")]
164    Flowto,
165    #[serde(rename = "labelledby")]
166    Labelledby,
167    #[serde(rename = "owns")]
168    Owns,
169    #[serde(rename = "url")]
170    Url,
171    #[serde(rename = "activeFullscreenElement")]
172    ActiveFullscreenElement,
173    #[serde(rename = "activeModalDialog")]
174    ActiveModalDialog,
175    #[serde(rename = "activeAriaModalDialog")]
176    ActiveAriaModalDialog,
177    #[serde(rename = "ariaHiddenElement")]
178    AriaHiddenElement,
179    #[serde(rename = "ariaHiddenSubtree")]
180    AriaHiddenSubtree,
181    #[serde(rename = "emptyAlt")]
182    EmptyAlt,
183    #[serde(rename = "emptyText")]
184    EmptyText,
185    #[serde(rename = "inertElement")]
186    InertElement,
187    #[serde(rename = "inertSubtree")]
188    InertSubtree,
189    #[serde(rename = "labelContainer")]
190    LabelContainer,
191    #[serde(rename = "labelFor")]
192    LabelFor,
193    #[serde(rename = "notRendered")]
194    NotRendered,
195    #[serde(rename = "notVisible")]
196    NotVisible,
197    #[serde(rename = "presentationalRole")]
198    PresentationalRole,
199    #[serde(rename = "probablyPresentational")]
200    ProbablyPresentational,
201    #[serde(rename = "inactiveCarouselTabContent")]
202    InactiveCarouselTabContent,
203    #[serde(rename = "uninteresting")]
204    Uninteresting,
205}
206#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
207pub struct AxValueSource {
208    #[serde(rename = "type")]
209    pub r#type: AxValueSourceType,
210    #[serde(skip_serializing_if = "Option::is_none")]
211    #[serde(rename = "value")]
212    pub value: Option<AxValue>,
213    #[serde(skip_serializing_if = "Option::is_none")]
214    #[serde(default)]
215    #[serde(rename = "attribute")]
216    pub attribute: Option<String>,
217    #[serde(skip_serializing_if = "Option::is_none")]
218    #[serde(rename = "attributeValue")]
219    pub attribute_value: Option<AxValue>,
220    #[serde(skip_serializing_if = "Option::is_none")]
221    #[serde(default)]
222    #[serde(rename = "superseded")]
223    pub superseded: Option<bool>,
224    #[serde(skip_serializing_if = "Option::is_none")]
225    #[serde(rename = "nativeSource")]
226    pub native_source: Option<AxValueNativeSourceType>,
227    #[serde(skip_serializing_if = "Option::is_none")]
228    #[serde(rename = "nativeSourceValue")]
229    pub native_source_value: Option<AxValue>,
230    #[serde(skip_serializing_if = "Option::is_none")]
231    #[serde(default)]
232    #[serde(rename = "invalid")]
233    pub invalid: Option<bool>,
234    #[serde(skip_serializing_if = "Option::is_none")]
235    #[serde(default)]
236    #[serde(rename = "invalidReason")]
237    pub invalid_reason: Option<String>,
238}
239#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
240pub struct AxRelatedNode {
241    #[serde(rename = "backendDOMNodeId")]
242    pub backend_dom_node_id: dom::BackendNodeId,
243    #[serde(skip_serializing_if = "Option::is_none")]
244    #[serde(default)]
245    #[serde(rename = "idref")]
246    pub idref: Option<String>,
247    #[serde(skip_serializing_if = "Option::is_none")]
248    #[serde(default)]
249    #[serde(rename = "text")]
250    pub text: Option<String>,
251}
252#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
253pub struct AxProperty {
254    #[serde(rename = "name")]
255    pub name: AxPropertyName,
256    #[serde(rename = "value")]
257    pub value: AxValue,
258}
259#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
260pub struct AxValue {
261    #[serde(rename = "type")]
262    pub r#type: AxValueType,
263    #[serde(skip_serializing_if = "Option::is_none")]
264    #[serde(default)]
265    #[serde(rename = "value")]
266    pub value: Option<Json>,
267    #[serde(skip_serializing_if = "Option::is_none")]
268    #[serde(rename = "relatedNodes")]
269    pub related_nodes: Option<Vec<AxRelatedNode>>,
270    #[serde(skip_serializing_if = "Option::is_none")]
271    #[serde(rename = "sources")]
272    pub sources: Option<Vec<AxValueSource>>,
273}
274#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
275pub struct AxNode {
276    #[serde(rename = "nodeId")]
277    pub node_id: AxNodeId,
278    #[serde(default)]
279    #[serde(rename = "ignored")]
280    pub ignored: bool,
281    #[serde(skip_serializing_if = "Option::is_none")]
282    #[serde(rename = "ignoredReasons")]
283    pub ignored_reasons: Option<Vec<AxProperty>>,
284    #[serde(skip_serializing_if = "Option::is_none")]
285    #[serde(rename = "role")]
286    pub role: Option<AxValue>,
287    #[serde(skip_serializing_if = "Option::is_none")]
288    #[serde(rename = "chromeRole")]
289    pub chrome_role: Option<AxValue>,
290    #[serde(skip_serializing_if = "Option::is_none")]
291    #[serde(rename = "name")]
292    pub name: Option<AxValue>,
293    #[serde(skip_serializing_if = "Option::is_none")]
294    #[serde(rename = "description")]
295    pub description: Option<AxValue>,
296    #[serde(skip_serializing_if = "Option::is_none")]
297    #[serde(rename = "value")]
298    pub value: Option<AxValue>,
299    #[serde(skip_serializing_if = "Option::is_none")]
300    #[serde(rename = "properties")]
301    pub properties: Option<Vec<AxProperty>>,
302    #[serde(skip_serializing_if = "Option::is_none")]
303    #[serde(rename = "parentId")]
304    pub parent_id: Option<AxNodeId>,
305    #[serde(skip_serializing_if = "Option::is_none")]
306    #[serde(rename = "childIds")]
307    pub child_ids: Option<Vec<AxNodeId>>,
308    #[serde(skip_serializing_if = "Option::is_none")]
309    #[serde(rename = "backendDOMNodeId")]
310    pub backend_dom_node_id: Option<dom::BackendNodeId>,
311    #[serde(skip_serializing_if = "Option::is_none")]
312    #[serde(rename = "frameId")]
313    pub frame_id: Option<page::FrameId>,
314}
315#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
316#[serde(rename_all = "camelCase")]
317pub struct Disable(pub Option<serde_json::Value>);
318#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
319#[serde(rename_all = "camelCase")]
320pub struct Enable(pub Option<serde_json::Value>);
321#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
322pub struct GetPartialAXTree {
323    #[serde(skip_serializing_if = "Option::is_none")]
324    #[serde(rename = "nodeId")]
325    pub node_id: Option<dom::NodeId>,
326    #[serde(skip_serializing_if = "Option::is_none")]
327    #[serde(rename = "backendNodeId")]
328    pub backend_node_id: Option<dom::BackendNodeId>,
329    #[serde(skip_serializing_if = "Option::is_none")]
330    #[serde(rename = "objectId")]
331    pub object_id: Option<runtime::RemoteObjectId>,
332    #[serde(skip_serializing_if = "Option::is_none")]
333    #[serde(default)]
334    #[serde(rename = "fetchRelatives")]
335    pub fetch_relatives: Option<bool>,
336}
337#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
338pub struct GetFullAXTree {
339    #[serde(skip_serializing_if = "Option::is_none")]
340    #[serde(default)]
341    #[serde(rename = "depth")]
342    pub depth: Option<JsUInt>,
343    #[serde(skip_serializing_if = "Option::is_none")]
344    #[serde(rename = "frameId")]
345    pub frame_id: Option<page::FrameId>,
346}
347#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
348pub struct GetRootAXNode {
349    #[serde(skip_serializing_if = "Option::is_none")]
350    #[serde(rename = "frameId")]
351    pub frame_id: Option<page::FrameId>,
352}
353#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
354pub struct GetAXNodeAndAncestors {
355    #[serde(skip_serializing_if = "Option::is_none")]
356    #[serde(rename = "nodeId")]
357    pub node_id: Option<dom::NodeId>,
358    #[serde(skip_serializing_if = "Option::is_none")]
359    #[serde(rename = "backendNodeId")]
360    pub backend_node_id: Option<dom::BackendNodeId>,
361    #[serde(skip_serializing_if = "Option::is_none")]
362    #[serde(rename = "objectId")]
363    pub object_id: Option<runtime::RemoteObjectId>,
364}
365#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
366pub struct GetChildAXNodes {
367    #[serde(rename = "id")]
368    pub id: AxNodeId,
369    #[serde(skip_serializing_if = "Option::is_none")]
370    #[serde(rename = "frameId")]
371    pub frame_id: Option<page::FrameId>,
372}
373#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
374pub struct QueryAXTree {
375    #[serde(skip_serializing_if = "Option::is_none")]
376    #[serde(rename = "nodeId")]
377    pub node_id: Option<dom::NodeId>,
378    #[serde(skip_serializing_if = "Option::is_none")]
379    #[serde(rename = "backendNodeId")]
380    pub backend_node_id: Option<dom::BackendNodeId>,
381    #[serde(skip_serializing_if = "Option::is_none")]
382    #[serde(rename = "objectId")]
383    pub object_id: Option<runtime::RemoteObjectId>,
384    #[serde(skip_serializing_if = "Option::is_none")]
385    #[serde(default)]
386    #[serde(rename = "accessibleName")]
387    pub accessible_name: Option<String>,
388    #[serde(skip_serializing_if = "Option::is_none")]
389    #[serde(default)]
390    #[serde(rename = "role")]
391    pub role: Option<String>,
392}
393#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
394#[serde(rename_all = "camelCase")]
395pub struct DisableReturnObject {}
396#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
397#[serde(rename_all = "camelCase")]
398pub struct EnableReturnObject {}
399#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
400pub struct GetPartialAXTreeReturnObject {
401    #[serde(rename = "nodes")]
402    pub nodes: Vec<AxNode>,
403}
404#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
405pub struct GetFullAXTreeReturnObject {
406    #[serde(rename = "nodes")]
407    pub nodes: Vec<AxNode>,
408}
409#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
410pub struct GetRootAXNodeReturnObject {
411    #[serde(rename = "node")]
412    pub node: AxNode,
413}
414#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
415pub struct GetAXNodeAndAncestorsReturnObject {
416    #[serde(rename = "nodes")]
417    pub nodes: Vec<AxNode>,
418}
419#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
420pub struct GetChildAXNodesReturnObject {
421    #[serde(rename = "nodes")]
422    pub nodes: Vec<AxNode>,
423}
424#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
425pub struct QueryAXTreeReturnObject {
426    #[serde(rename = "nodes")]
427    pub nodes: Vec<AxNode>,
428}
429impl Method for Disable {
430    const NAME: &'static str = "Accessibility.disable";
431    type ReturnObject = DisableReturnObject;
432}
433impl Method for Enable {
434    const NAME: &'static str = "Accessibility.enable";
435    type ReturnObject = EnableReturnObject;
436}
437impl Method for GetPartialAXTree {
438    const NAME: &'static str = "Accessibility.getPartialAXTree";
439    type ReturnObject = GetPartialAXTreeReturnObject;
440}
441impl Method for GetFullAXTree {
442    const NAME: &'static str = "Accessibility.getFullAXTree";
443    type ReturnObject = GetFullAXTreeReturnObject;
444}
445impl Method for GetRootAXNode {
446    const NAME: &'static str = "Accessibility.getRootAXNode";
447    type ReturnObject = GetRootAXNodeReturnObject;
448}
449impl Method for GetAXNodeAndAncestors {
450    const NAME: &'static str = "Accessibility.getAXNodeAndAncestors";
451    type ReturnObject = GetAXNodeAndAncestorsReturnObject;
452}
453impl Method for GetChildAXNodes {
454    const NAME: &'static str = "Accessibility.getChildAXNodes";
455    type ReturnObject = GetChildAXNodesReturnObject;
456}
457impl Method for QueryAXTree {
458    const NAME: &'static str = "Accessibility.queryAXTree";
459    type ReturnObject = QueryAXTreeReturnObject;
460}
461pub mod events {
462    #[allow(unused_imports)]
463    use super::super::types::*;
464    #[allow(unused_imports)]
465    use serde::{Deserialize, Serialize};
466    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
467    pub struct LoadCompleteEvent {
468        pub params: LoadCompleteEventParams,
469    }
470    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
471    pub struct LoadCompleteEventParams {
472        #[serde(rename = "root")]
473        pub root: super::AxNode,
474    }
475    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
476    pub struct NodesUpdatedEvent {
477        pub params: NodesUpdatedEventParams,
478    }
479    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
480    pub struct NodesUpdatedEventParams {
481        #[serde(rename = "nodes")]
482        pub nodes: Vec<super::AxNode>,
483    }
484}