cdp_protocol/
accessibility.rs

1// Auto-generated from Chrome at version 140.0.7339.186 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}
172#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
173pub struct AxValueSource {
174    #[serde(rename = "type")]
175    pub r#type: AxValueSourceType,
176    #[serde(skip_serializing_if = "Option::is_none")]
177    #[serde(rename = "value")]
178    pub value: Option<AxValue>,
179    #[serde(skip_serializing_if = "Option::is_none")]
180    #[serde(default)]
181    #[serde(rename = "attribute")]
182    pub attribute: Option<String>,
183    #[serde(skip_serializing_if = "Option::is_none")]
184    #[serde(rename = "attributeValue")]
185    pub attribute_value: Option<AxValue>,
186    #[serde(skip_serializing_if = "Option::is_none")]
187    #[serde(default)]
188    #[serde(rename = "superseded")]
189    pub superseded: Option<bool>,
190    #[serde(skip_serializing_if = "Option::is_none")]
191    #[serde(rename = "nativeSource")]
192    pub native_source: Option<AxValueNativeSourceType>,
193    #[serde(skip_serializing_if = "Option::is_none")]
194    #[serde(rename = "nativeSourceValue")]
195    pub native_source_value: Option<AxValue>,
196    #[serde(skip_serializing_if = "Option::is_none")]
197    #[serde(default)]
198    #[serde(rename = "invalid")]
199    pub invalid: Option<bool>,
200    #[serde(skip_serializing_if = "Option::is_none")]
201    #[serde(default)]
202    #[serde(rename = "invalidReason")]
203    pub invalid_reason: Option<String>,
204}
205#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
206pub struct AxRelatedNode {
207    #[serde(rename = "backendDOMNodeId")]
208    pub backend_dom_node_id: dom::BackendNodeId,
209    #[serde(skip_serializing_if = "Option::is_none")]
210    #[serde(default)]
211    #[serde(rename = "idref")]
212    pub idref: Option<String>,
213    #[serde(skip_serializing_if = "Option::is_none")]
214    #[serde(default)]
215    #[serde(rename = "text")]
216    pub text: Option<String>,
217}
218#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
219pub struct AxProperty {
220    #[serde(rename = "name")]
221    pub name: AxPropertyName,
222    #[serde(rename = "value")]
223    pub value: AxValue,
224}
225#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
226pub struct AxValue {
227    #[serde(rename = "type")]
228    pub r#type: AxValueType,
229    #[serde(skip_serializing_if = "Option::is_none")]
230    #[serde(default)]
231    #[serde(rename = "value")]
232    pub value: Option<Json>,
233    #[serde(skip_serializing_if = "Option::is_none")]
234    #[serde(rename = "relatedNodes")]
235    pub related_nodes: Option<Vec<AxRelatedNode>>,
236    #[serde(skip_serializing_if = "Option::is_none")]
237    #[serde(rename = "sources")]
238    pub sources: Option<Vec<AxValueSource>>,
239}
240#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
241pub struct AxNode {
242    #[serde(rename = "nodeId")]
243    pub node_id: AxNodeId,
244    #[serde(default)]
245    #[serde(rename = "ignored")]
246    pub ignored: bool,
247    #[serde(skip_serializing_if = "Option::is_none")]
248    #[serde(rename = "ignoredReasons")]
249    pub ignored_reasons: Option<Vec<AxProperty>>,
250    #[serde(skip_serializing_if = "Option::is_none")]
251    #[serde(rename = "role")]
252    pub role: Option<AxValue>,
253    #[serde(skip_serializing_if = "Option::is_none")]
254    #[serde(rename = "chromeRole")]
255    pub chrome_role: Option<AxValue>,
256    #[serde(skip_serializing_if = "Option::is_none")]
257    #[serde(rename = "name")]
258    pub name: Option<AxValue>,
259    #[serde(skip_serializing_if = "Option::is_none")]
260    #[serde(rename = "description")]
261    pub description: Option<AxValue>,
262    #[serde(skip_serializing_if = "Option::is_none")]
263    #[serde(rename = "value")]
264    pub value: Option<AxValue>,
265    #[serde(skip_serializing_if = "Option::is_none")]
266    #[serde(rename = "properties")]
267    pub properties: Option<Vec<AxProperty>>,
268    #[serde(skip_serializing_if = "Option::is_none")]
269    #[serde(rename = "parentId")]
270    pub parent_id: Option<AxNodeId>,
271    #[serde(skip_serializing_if = "Option::is_none")]
272    #[serde(rename = "childIds")]
273    pub child_ids: Option<Vec<AxNodeId>>,
274    #[serde(skip_serializing_if = "Option::is_none")]
275    #[serde(rename = "backendDOMNodeId")]
276    pub backend_dom_node_id: Option<dom::BackendNodeId>,
277    #[serde(skip_serializing_if = "Option::is_none")]
278    #[serde(rename = "frameId")]
279    pub frame_id: Option<page::FrameId>,
280}
281#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
282#[serde(rename_all = "camelCase")]
283pub struct Disable(pub Option<serde_json::Value>);
284#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
285#[serde(rename_all = "camelCase")]
286pub struct Enable(pub Option<serde_json::Value>);
287#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
288pub struct GetPartialAXTree {
289    #[serde(skip_serializing_if = "Option::is_none")]
290    #[serde(rename = "nodeId")]
291    pub node_id: Option<dom::NodeId>,
292    #[serde(skip_serializing_if = "Option::is_none")]
293    #[serde(rename = "backendNodeId")]
294    pub backend_node_id: Option<dom::BackendNodeId>,
295    #[serde(skip_serializing_if = "Option::is_none")]
296    #[serde(rename = "objectId")]
297    pub object_id: Option<runtime::RemoteObjectId>,
298    #[serde(skip_serializing_if = "Option::is_none")]
299    #[serde(default)]
300    #[serde(rename = "fetchRelatives")]
301    pub fetch_relatives: Option<bool>,
302}
303#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
304pub struct GetFullAXTree {
305    #[serde(skip_serializing_if = "Option::is_none")]
306    #[serde(default)]
307    #[serde(rename = "depth")]
308    pub depth: Option<JsUInt>,
309    #[serde(skip_serializing_if = "Option::is_none")]
310    #[serde(rename = "frameId")]
311    pub frame_id: Option<page::FrameId>,
312}
313#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
314pub struct GetRootAXNode {
315    #[serde(skip_serializing_if = "Option::is_none")]
316    #[serde(rename = "frameId")]
317    pub frame_id: Option<page::FrameId>,
318}
319#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
320pub struct GetAXNodeAndAncestors {
321    #[serde(skip_serializing_if = "Option::is_none")]
322    #[serde(rename = "nodeId")]
323    pub node_id: Option<dom::NodeId>,
324    #[serde(skip_serializing_if = "Option::is_none")]
325    #[serde(rename = "backendNodeId")]
326    pub backend_node_id: Option<dom::BackendNodeId>,
327    #[serde(skip_serializing_if = "Option::is_none")]
328    #[serde(rename = "objectId")]
329    pub object_id: Option<runtime::RemoteObjectId>,
330}
331#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
332pub struct GetChildAXNodes {
333    #[serde(rename = "id")]
334    pub id: AxNodeId,
335    #[serde(skip_serializing_if = "Option::is_none")]
336    #[serde(rename = "frameId")]
337    pub frame_id: Option<page::FrameId>,
338}
339#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
340pub struct QueryAXTree {
341    #[serde(skip_serializing_if = "Option::is_none")]
342    #[serde(rename = "nodeId")]
343    pub node_id: Option<dom::NodeId>,
344    #[serde(skip_serializing_if = "Option::is_none")]
345    #[serde(rename = "backendNodeId")]
346    pub backend_node_id: Option<dom::BackendNodeId>,
347    #[serde(skip_serializing_if = "Option::is_none")]
348    #[serde(rename = "objectId")]
349    pub object_id: Option<runtime::RemoteObjectId>,
350    #[serde(skip_serializing_if = "Option::is_none")]
351    #[serde(default)]
352    #[serde(rename = "accessibleName")]
353    pub accessible_name: Option<String>,
354    #[serde(skip_serializing_if = "Option::is_none")]
355    #[serde(default)]
356    #[serde(rename = "role")]
357    pub role: Option<String>,
358}
359#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
360#[serde(rename_all = "camelCase")]
361pub struct DisableReturnObject {}
362#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
363#[serde(rename_all = "camelCase")]
364pub struct EnableReturnObject {}
365#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
366pub struct GetPartialAXTreeReturnObject {
367    #[serde(rename = "nodes")]
368    pub nodes: Vec<AxNode>,
369}
370#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
371pub struct GetFullAXTreeReturnObject {
372    #[serde(rename = "nodes")]
373    pub nodes: Vec<AxNode>,
374}
375#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
376pub struct GetRootAXNodeReturnObject {
377    #[serde(rename = "node")]
378    pub node: AxNode,
379}
380#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
381pub struct GetAXNodeAndAncestorsReturnObject {
382    #[serde(rename = "nodes")]
383    pub nodes: Vec<AxNode>,
384}
385#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
386pub struct GetChildAXNodesReturnObject {
387    #[serde(rename = "nodes")]
388    pub nodes: Vec<AxNode>,
389}
390#[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
391pub struct QueryAXTreeReturnObject {
392    #[serde(rename = "nodes")]
393    pub nodes: Vec<AxNode>,
394}
395impl Method for Disable {
396    const NAME: &'static str = "Accessibility.disable";
397    type ReturnObject = DisableReturnObject;
398}
399impl Method for Enable {
400    const NAME: &'static str = "Accessibility.enable";
401    type ReturnObject = EnableReturnObject;
402}
403impl Method for GetPartialAXTree {
404    const NAME: &'static str = "Accessibility.getPartialAXTree";
405    type ReturnObject = GetPartialAXTreeReturnObject;
406}
407impl Method for GetFullAXTree {
408    const NAME: &'static str = "Accessibility.getFullAXTree";
409    type ReturnObject = GetFullAXTreeReturnObject;
410}
411impl Method for GetRootAXNode {
412    const NAME: &'static str = "Accessibility.getRootAXNode";
413    type ReturnObject = GetRootAXNodeReturnObject;
414}
415impl Method for GetAXNodeAndAncestors {
416    const NAME: &'static str = "Accessibility.getAXNodeAndAncestors";
417    type ReturnObject = GetAXNodeAndAncestorsReturnObject;
418}
419impl Method for GetChildAXNodes {
420    const NAME: &'static str = "Accessibility.getChildAXNodes";
421    type ReturnObject = GetChildAXNodesReturnObject;
422}
423impl Method for QueryAXTree {
424    const NAME: &'static str = "Accessibility.queryAXTree";
425    type ReturnObject = QueryAXTreeReturnObject;
426}
427pub mod events {
428    #[allow(unused_imports)]
429    use super::super::types::*;
430    #[allow(unused_imports)]
431    use serde::{Deserialize, Serialize};
432    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
433    pub struct LoadCompleteEvent {
434        pub params: LoadCompleteEventParams,
435    }
436    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
437    pub struct LoadCompleteEventParams {
438        #[serde(rename = "root")]
439        pub root: super::AxNode,
440    }
441    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
442    pub struct NodesUpdatedEvent {
443        pub params: NodesUpdatedEventParams,
444    }
445    #[derive(Deserialize, Serialize, Debug, Clone, PartialEq)]
446    pub struct NodesUpdatedEventParams {
447        #[serde(rename = "nodes")]
448        pub nodes: Vec<super::AxNode>,
449    }
450}