1/*
2 * Copyright (c) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @addtogroup ArkUI_Accessibility
18 * @{
19 *
20 * @brief Describes the native capabilities supported by ArkUI Accessibility, such as querying accessibility nodes and
21 * reporting accessibility events.
22 *
23 * @since 13
24 */
25
26/**
27 * @file native_interface_accessibility.h
28 *
29 * @brief Declares the APIs used to access the native Accessibility.
30 * @syscap SystemCapability.ArkUI.ArkUI.Full
31 * @kit ArkUI
32 * @since 13
33 */
34#ifndef _NATIVE_INTERFACE_ACCESSIBILITY_H
35#define _NATIVE_INTERFACE_ACCESSIBILITY_H
36
37#include <cstdint>
38
39#ifdef __cplusplus
40extern "C"{
41#endif
42
43/**
44 * @brief Defines a struct for accessibility element information.
45 *
46 * @since 13
47 */
48typedef struct ArkUI_AccessibilityElementInfo ArkUI_AccessibilityElementInfo;
49
50/**
51 * @brief Defines a struct for accessibility event information.
52 *
53 * @since 13
54 */
55typedef struct ArkUI_AccessibilityEventInfo ArkUI_AccessibilityEventInfo;
56
57/**
58 * @brief Defines a struct for the local provider of accessibility.
59 *
60 * @since 13
61 */
62typedef struct ArkUI_AccessibilityProvider ArkUI_AccessibilityProvider;
63
64/**
65 * @brief Defines a struct for accessibility action arguments.
66 *
67 * @since 13
68 */
69typedef struct ArkUI_AccessibilityActionArguments ArkUI_AccessibilityActionArguments;
70
71/**
72 * @brief Defines an enum for accessibility action types.
73 *
74 * @since 13
75 */
76typedef enum {
77    /** Invalid action. */
78    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_INVALID = 0,
79    /** Response to a click. */
80    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CLICK = 0x00000010,
81    /** Response to a long click. */
82    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_LONG_CLICK = 0x00000020,
83    /** Accessibility focus acquisition. */
84    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_GAIN_ACCESSIBILITY_FOCUS = 0x00000040,
85    /** Accessibility focus clearance. */
86    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080,
87    /** Forward scroll action. */
88    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SCROLL_FORWARD = 0x00000100,
89    /** Backward scroll action. */
90    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SCROLL_BACKWARD = 0x00000200,
91    /** Copy action for text content. */
92    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_COPY = 0x00000400,
93    /** Paste action for text content. */
94    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_PASTE = 0x00000800,
95    /** Cut action for text content. */
96    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CUT = 0x00001000,
97    /** Text selection action, requiring the setting of <b>selectTextBegin</b>, <b>TextEnd</b>, and <b>TextInForward</b>
98     *  parameters to select a text segment in the text box. */
99    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SELECT_TEXT = 0x00002000,
100    /** Text content setting action. */
101    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SET_TEXT = 0x00004000,
102    /** Cursor position setting action. */
103    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SET_CURSOR_POSITION = 0x00100000,
104} ArkUI_Accessibility_ActionType;
105
106/**
107 * @brief Defines an enum for accessibility event types.
108 *
109 * @since 13
110 */
111typedef enum {
112    /** Invalid event. */
113    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_INVALID = 0,
114    /** Click event, sent after the UI component responds. */
115    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_CLICKED = 0x00000001,
116    /** Long click event, sent after the UI component responds. */
117    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_LONG_CLICKED = 0x00000002,
118    /** Selection event, sent after the UI component responds. */
119    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_SELECTED = 0x00000004,
120    /** Text update event, sent when text is updated. */
121    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_TEXT_UPDATE = 0x00000010,
122    /** Page state update event, sent when the page transitions, switches, resizes, or moves. */
123    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_STATE_UPDATE = 0x00000020,
124    /** Page content update event, sent when the page content changes. */
125    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_CONTENT_UPDATE = 0x00000800,
126    /** Scrolled event, sent when a scrollable component experiences a scroll event. */
127    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_SCROLLED = 0x000001000,
128    /** Accessibility focus event, sent after the UI component responds. */
129    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_ACCESSIBILITY_FOCUSED = 0x00008000,
130    /** Accessibility focus cleared event, sent after the UI component responds. */
131    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_ACCESSIBILITY_FOCUS_CLEARED = 0x00010000,
132    /** FOcus request for a specific node. */
133    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_REQUEST_ACCESSIBILITY_FOCUS = 0x02000000,
134    /** Page open event reported by the UI component. */
135    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_OPEN = 0x20000000,
136    /** Page close event reported by the UI component. */
137    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_CLOSE = 0x08000000,
138    /** Announcement event, indicating a request to proactively announce specified content. */
139    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_ANNOUNCE_FOR_ACCESSIBILITY = 0x10000000,
140    /** Focus update event, used for focus update scenarios. */
141    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_FOCUS_NODE_UPDATE = 0x10000001,
142} ArkUI_AccessibilityEventType;
143
144/**
145 * @brief Defines a struct for the accessible action.
146 *
147 * @since 13
148 */
149typedef struct {
150    /** Action type. */
151    ArkUI_Accessibility_ActionType actionType;
152    /** Action description. */
153    const char* description;
154} ArkUI_AccessibleAction;
155
156/**
157 * @brief Defines a struct for the accessible rectangle.
158 *
159 * @since 13
160 */
161typedef struct {
162    /** X coordinate of the upper left corner. */
163    int32_t leftTopX;
164    /** Y coordinate of the upper left corner. */
165    int32_t leftTopY;
166    /** X coordinate of the lower right corner. */
167    int32_t rightBottomX;
168    /** Y coordinate of the lower right corner. */
169    int32_t rightBottomY;
170} ArkUI_AccessibleRect;
171
172/**
173 * @brief Define a struct for the accessible range information.
174 *
175 * @since 13
176 */
177typedef struct {
178    /** Minimum value. */
179    double min;
180    /** Maximum value. */
181    double max;
182    /** Current value. */
183    double current;
184} ArkUI_AccessibleRangeInfo;
185
186/**
187 * @brief Defines a struct for the accessible grid information.
188 *
189 * @since 13
190 */
191typedef struct {
192    /** Number of rows. */
193    int32_t rowCount;
194    /** Number of columns. */
195    int32_t columnCount;
196    /** Selection mode. The value <b>0</b> indicates that only one row can be selected. */
197    int32_t selectionMode;
198} ArkUI_AccessibleGridInfo;
199
200/**
201 * @brief Defines a struct for the accessible grid item information.
202 *
203 * @since 13
204 */
205typedef struct {
206    /** Whether it is a header. */
207    bool heading;
208    /** Whether it is selected. */
209    bool selected;
210    /** Column index. */
211    int32_t columnIndex;
212    /** Row index. */
213    int32_t rowIndex;
214    /** Column span. */
215    int32_t columnSpan;
216    /** Row span. */
217    int32_t rowSpan;
218} ArkUI_AccessibleGridItemInfo;
219
220/**
221 * @brief Enumerates the accessibility error codes.
222 *
223 * @since 13
224 */
225typedef enum {
226    /**
227     * @error Success.
228     */
229    ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL = 0,
230    /**
231     * @error Failure.
232     */
233    ARKUI_ACCESSIBILITY_NATIVE_RESULT_FAILED = -1,
234    /**
235     * @error Invalid parameter.
236     */
237    ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER = -2,
238    /**
239     * @error Out of memory.
240     */
241    ARKUI_ACCESSIBILITY_NATIVE_RESULT_OUT_OF_MEMORY = -3,
242} ArkUI_AcessbilityErrorCode;
243
244/**
245 * @brief Defines an enum for the accessibility search modes.
246 *
247 * @since 13
248 */
249typedef enum {
250    /** Search for current nodes. */
251    ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_CURRENT = 0,
252    /** Search for parent nodes. */
253    ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_PREDECESSORS = 1 << 0,
254    /** Search for sibling nodes. */
255    ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_SIBLINGS = 1 << 1,
256    /** Search for child nodes at the next level. */
257    ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_CHILDREN = 1 << 2,
258    /** Search for all child nodes. */
259    ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_RECURSIVE_CHILDREN = 1 << 3,
260} ArkUI_AccessibilitySearchMode;
261
262/**
263 * @brief Defines an enum for the accessibility focus types.
264 *
265 * @since 13
266 */
267typedef enum {
268    /** Invalid type. */
269    ARKUI_ACCESSIBILITY_NATIVE_FOCUS_TYPE_INVALID = -1,
270    /** Input focus type. */
271    ARKUI_ACCESSIBILITY_NATIVE_FOCUS_TYPE_INPUT = 1 << 0,
272    /** Accessibility focus type. */
273    ARKUI_ACCESSIBILITY_NATIVE_FOCUS_TYPE_ACCESSIBILITY = 1 << 1,
274} ArkUI_AccessibilityFocusType;
275
276/**
277 * @brief Enumerates the directions for moving the accessibility focus.
278 *
279 * @since 13
280 */
281typedef enum {
282    /** Invalid direction. */
283    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_INVALID = 0,
284    /** Up. */
285    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_UP = 0x00000001,
286    /** Down. */
287    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_DOWN = 0x00000002,
288    /** Left. */
289    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_LEFT = 0x00000004,
290    /** Right. */
291    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_RIGHT = 0x00000008,
292    /** Forward. */
293    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_FORWARD = 0x00000010,
294    /** Backward. */
295    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_BACKWARD = 0x00000020,
296} ArkUI_AccessibilityFocusMoveDirection;
297
298/**
299 * @brief Defines a struct for the accessibility element information list.
300 *
301 * @since 13
302 */
303typedef struct ArkUI_AccessibilityElementInfoList ArkUI_AccessibilityElementInfoList;
304
305/**
306 * @brief Registers callbacks for the accessibility provider.
307 *
308 * @since 13
309 */
310typedef struct ArkUI_AccessibilityProviderCallbacks {
311    /**
312    * @brief Called to obtain element information based on a specified node.
313    *
314    * @param elementId Indicates the element ID.
315    * @param mode Indicates accessibility search mode.
316    * @param requestId Indicates the request ID.
317    * @param elementList Indicates accessibility elementInfo list.
318    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
319    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
320    */
321    int32_t (*findAccessibilityNodeInfosById)(int64_t elementId, ArkUI_AccessibilitySearchMode mode,
322        int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList);
323    /**
324    * @brief Called to obtain element information based on a specified node and text content.
325    *
326    * @param elementId Indicates the element ID.
327    * @param text Indicates accessibility text.
328    * @param requestId Indicates the request ID.
329    * @param elementList Indicates accessibility elementInfo list.
330    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
331    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
332    */
333    int32_t (*findAccessibilityNodeInfosByText)(int64_t elementId, const char* text, int32_t requestId,
334        ArkUI_AccessibilityElementInfoList* elementList);
335    /**
336    * @brief Called to obtain focused element information based on a specified node.
337    *
338    * @param elementId Indicates the element ID.
339    * @param focusType Indicates focus type.
340    * @param requestId Indicates the request ID.
341    * @param elementInfo Indicates accessibility elementInfo.
342    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
343    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
344    */
345    int32_t (*findFocusedAccessibilityNode)(int64_t elementId, ArkUI_AccessibilityFocusType focusType,
346        int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo);
347    /**
348    * @brief Called to find the next focusable node based on the reference node.
349    *
350    * @param elementId Indicates the element ID.
351    * @param direction Indicates direction.
352    * @param requestId Indicates the request ID.
353    * @param elementInfo Indicates accessibility elementInfo.
354    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
355    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
356    */
357    int32_t (*findNextFocusAccessibilityNode)(
358        int64_t elementId, ArkUI_AccessibilityFocusMoveDirection direction,
359        int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo);
360    /**
361    * @brief Called to execute a specified action on a specified node.
362    *
363    * @param elementId Indicates the element ID.
364    * @param action Indicates action.
365    * @param actionArguments Indicates action arguments.
366    * @param requestId Indicates the request ID.
367    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
368    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
369    */
370    int32_t (*executeAccessibilityAction)(int64_t elementId, ArkUI_Accessibility_ActionType action,
371        ArkUI_AccessibilityActionArguments *actionArguments, int32_t requestId);
372    /**
373    * @brief Called to clear the focus state of the current focused node.
374    *
375    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
376    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_FAILED} if the operation is failed.
377    */
378    int32_t (*clearFocusedFocusAccessibilityNode)();
379    /**
380    * @brief Called to query the current cursor position of the specified node.
381    *
382    * @param elementId Indicates the element ID.
383    * @param requestId Indicates the request ID.
384    * @param index Indicates index.
385    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
386    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
387    */
388    int32_t (*getAccessibilityNodeCursorPosition)(int64_t elementId, int32_t requestId, int32_t* index);
389} ArkUI_AccessibilityProviderCallbacks;
390
391/**
392 * @brief Registers a callback for this <b>ArkUI_AccessibilityProvider</b> instance.
393 *
394 * @param provider Indicates the pointer to the <b>ArkUI_AccessibilityProvider</b> instance.
395 * @param callbacks Indicates the pointer to the <b>GetAccessibilityNodeCursorPosition</b> callback.
396 * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
397 *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
398 * @since 13
399 */
400int32_t OH_ArkUI_AccessibilityProviderRegisterCallback(
401    ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityProviderCallbacks* callbacks);
402
403/**
404 * @brief Sends accessibility event information.
405 *
406 * @param provider Indicates the pointer to the <b>ArkUI_AccessibilityProvider</b> instance.
407 * @param eventInfo Indicates the pointer to the accessibility event information.
408 * @param callback Indicates the pointer to the callback that is called after the event is sent.
409 * @since 13
410 */
411void OH_ArkUI_SendAccessibilityAsyncEvent(
412    ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityEventInfo* eventInfo,
413    void (*callback)(int32_t errorCode));
414
415/**
416 * @brief Adds and obtains the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
417 *
418 * @param list Indicates the pointer to an <b>ArkUI_AccessibilityElementInfoList</b> object.
419 * @return Returns the pointer to the <b>ArkUI_AccessibilityElementInfo</b> object.
420 * @since 13
421 */
422ArkUI_AccessibilityElementInfo* OH_ArkUI_AddAndGetAccessibilityElementInfo(
423    ArkUI_AccessibilityElementInfoList* list);
424
425/**
426* @brief Sets the element ID for an <b>ArkUI_AccessibilityElementInfo</b> object.
427*
428* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
429* @param elementId Indicates the element ID.
430* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
431*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
432* @since 13
433*/
434int32_t OH_ArkUI_AccessibilityElementInfoSetElementId(
435    ArkUI_AccessibilityElementInfo* elementInfo, int32_t elementId);
436
437/**
438* @brief Sets the parent ID for an <b>ArkUI_AccessibilityElementInfo</b> object.
439*
440* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
441* @param parentId Indicates the parent ID.
442* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
443*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
444* @since 13
445*/
446int32_t OH_ArkUI_AccessibilityElementInfoSetParentId(
447    ArkUI_AccessibilityElementInfo* elementInfo, int32_t parentId);
448
449/**
450* @brief Sets the component type for an <b>ArkUI_AccessibilityElementInfo</b> object.
451*
452* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
453* @param componentType Indicates the component type.
454* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
455*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
456* @since 13
457*/
458int32_t OH_ArkUI_AccessibilityElementInfoSetComponentType(
459    ArkUI_AccessibilityElementInfo* elementInfo, const char* componentType);
460
461/**
462* @brief Sets the component content for an <b>ArkUI_AccessibilityElementInfo</b> object.
463*
464* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
465* @param contents Indicates the component content.
466* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
467*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
468* @since 13
469*/
470int32_t OH_ArkUI_AccessibilityElementInfoSetContents(
471    ArkUI_AccessibilityElementInfo* elementInfo, const char* contents);
472
473/**
474* @brief Sets the hint text for an <b>ArkUI_AccessibilityElementInfo</b> object.
475*
476* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
477* @param hintText Indicates the hint text.
478* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
479*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
480* @since 13
481*/
482int32_t OH_ArkUI_AccessibilityElementInfoSetHintText(
483    ArkUI_AccessibilityElementInfo* elementInfo, const char* hintText);
484
485/**
486* @brief Sets the accessibility text for an <b>ArkUI_AccessibilityElementInfo</b> object.
487*
488* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
489* @param accessibilityText Indicates the accessibility text.
490* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
491*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
492* @since 13
493*/
494int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityText(
495    ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityText);
496
497/**
498* @brief Sets the accessibility description for an <b>ArkUI_AccessibilityElementInfo</b> object.
499*
500* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
501* @param accessibilityDescription Indicates the accessibility description.
502* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
503*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
504* @since 13
505*/
506int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityDescription(
507    ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityDescription);
508
509/**
510* @brief Set the number of child nodes and child node IDs for an <b>ArkUI_AccessibilityElementInfo</b> object.
511*
512* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
513* @param childCount Indicates the number of child nodes.
514* @param childNodeIds Indicates an array of child node IDs.
515* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
516*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
517* @since 13
518*/
519int32_t OH_ArkUI_AccessibilityElementInfoSetChildNodeIds(
520    ArkUI_AccessibilityElementInfo* elementInfo, int32_t childCount, int64_t* childNodeIds);
521
522/**
523* @brief Sets the operation actions for an <b>ArkUI_AccessibilityElementInfo</b> object.
524*
525* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
526* @param operationCount Indicates the operation count.
527* @param operationActions Indicates the operation actions.
528* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
529*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
530* @since 13
531*/
532int32_t OH_ArkUI_AccessibilityElementInfoSetOperationActions(ArkUI_AccessibilityElementInfo* elementInfo,
533    int32_t operationCount, ArkUI_AccessibleAction* operationActions);
534
535/**
536* @brief Sets the screen area for an <b>ArkUI_AccessibilityElementInfo</b> object.
537*
538* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
539* @param screenRect Indicates the screen area.
540* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
541*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
542* @since 13
543*/
544int32_t OH_ArkUI_AccessibilityElementInfoSetScreenRect(
545    ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRect* screenRect);
546
547/**
548* @brief Sets whether the element is checkable for an <b>ArkUI_AccessibilityElementInfo</b> object.
549*
550* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
551* @param checkable Indicates whether the element is checkable.
552* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
553*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
554* @since 13
555*/
556int32_t OH_ArkUI_AccessibilityElementInfoSetCheckable(
557    ArkUI_AccessibilityElementInfo* elementInfo, bool checkable);
558
559/**
560* @brief Sets whether the element is checked for an <b>ArkUI_AccessibilityElementInfo</b> object.
561*
562* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
563* @param checked Indicates whether the element is checked.
564* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
565*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
566* @since 13
567*/
568int32_t OH_ArkUI_AccessibilityElementInfoSetChecked(
569    ArkUI_AccessibilityElementInfo* elementInfo, bool checked);
570
571/**
572* @brief Sets whether the element is focusable for an <b>ArkUI_AccessibilityElementInfo</b> object.
573* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
574* @param focusable Indicates whether the element is focusable.
575* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
576*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
577* @since 13
578*/
579int32_t OH_ArkUI_AccessibilityElementInfoSetFocusable(
580    ArkUI_AccessibilityElementInfo* elementInfo, bool focusable);
581
582/**
583* @brief Sets whether the element is focused for an <b>ArkUI_AccessibilityElementInfo</b> object.
584*
585* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
586* @param isFocused Indicates whether the element is focused.
587* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
588*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
589* @since 13
590*/
591int32_t OH_ArkUI_AccessibilityElementInfoSetFocused(
592    ArkUI_AccessibilityElementInfo* elementInfo, bool isFocused);
593
594/**
595* @brief Sets whether the element is visible for an <b>ArkUI_AccessibilityElementInfo</b> object.
596*
597* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
598* @param isVisible Indicates whether the element is visible.
599* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
600*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
601* @since 13
602*/
603int32_t OH_ArkUI_AccessibilityElementInfoSetVisible(
604    ArkUI_AccessibilityElementInfo* elementInfo, bool isVisible);
605
606/**
607* @brief Sets the accessibility focus state for an <b>ArkUI_AccessibilityElementInfo</b> object.
608*
609* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
610* @param accessibilityFocused Indicates whether the element has accessibility focus.
611* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
612*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
613* @since 13
614*/
615int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityFocused(
616    ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityFocused);
617
618/**
619* @brief Sets whether the element is selected for an <b>ArkUI_AccessibilityElementInfo</b> object.
620*
621* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
622* @param selected Indicates whether the element is selected.
623* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
624*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
625* @since 13
626*/
627int32_t OH_ArkUI_AccessibilityElementInfoSetSelected(
628    ArkUI_AccessibilityElementInfo* elementInfo, bool selected);
629
630/**
631* @brief Sets whether the element is clickable for an <b>ArkUI_AccessibilityElementInfo</b> object.
632*
633* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
634* @param clickable Indicates whether the element is clickable.
635* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
636*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
637* @since 13
638*/
639int32_t OH_ArkUI_AccessibilityElementInfoSetClickable(
640    ArkUI_AccessibilityElementInfo* elementInfo, bool clickable);
641
642/**
643* @brief Sets whether the element is long clickable for an <b>ArkUI_AccessibilityElementInfo</b> object.
644*
645* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
646* @param longClickable Indicates whether the element is long clickable.
647* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
648*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
649* @since 13
650*/
651int32_t OH_ArkUI_AccessibilityElementInfoSetLongClickable(
652    ArkUI_AccessibilityElementInfo* elementInfo, bool longClickable);
653
654/**
655* @brief Sets whether the element is enabled for an <b>ArkUI_AccessibilityElementInfo</b> object.
656*
657* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
658* @param isEnabled Indicates whether the element is enabled.
659* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
660*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
661* @since 13
662*/
663int32_t OH_ArkUI_AccessibilityElementInfoSetEnabled(
664    ArkUI_AccessibilityElementInfo* elementInfo, bool isEnabled);
665
666/**
667* @brief Sets whether the element is a password for an <b>ArkUI_AccessibilityElementInfo</b> object.
668*
669* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
670* @param isPassword Indicates whether the element is a password.
671* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
672*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
673* @since 13
674*/
675int32_t OH_ArkUI_AccessibilityElementInfoSetIsPassword(
676    ArkUI_AccessibilityElementInfo* elementInfo, bool isPassword);
677
678/**
679* @brief Sets whether the element is scrollable for an <b>ArkUI_AccessibilityElementInfo</b> object.
680*
681* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
682* @param scrollable Indicates whether the element is scrollable.
683* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
684*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
685* @since 13
686*/
687int32_t OH_ArkUI_AccessibilityElementInfoSetScrollable(
688    ArkUI_AccessibilityElementInfo* elementInfo, bool scrollable);
689
690/**
691* @brief Sets whether the element is editable for an <b>ArkUI_AccessibilityElementInfo</b> object.
692*
693* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
694* @param editable Indicates whether the element is editable.
695* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
696*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
697* @since 13
698*/
699int32_t OH_ArkUI_AccessibilityElementInfoSetEditable(
700    ArkUI_AccessibilityElementInfo* elementInfo, bool editable);
701
702/**
703* @brief Sets whether the element is a hint for an <b>ArkUI_AccessibilityElementInfo</b> object.
704*
705* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
706* @param isHint Indicates whether the element is a hint.
707* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
708*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
709* @since 13
710*/
711int32_t OH_ArkUI_AccessibilityElementInfoSetIsHint(
712    ArkUI_AccessibilityElementInfo* elementInfo, bool isHint);
713
714/**
715* @brief Sets the range information for an <b>ArkUI_AccessibilityElementInfo</b> object.
716*
717* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
718* @param rangeInfo Indicates the range information.
719* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
720*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
721* @since 13
722*/
723int32_t OH_ArkUI_AccessibilityElementInfoSetRangeInfo(
724    ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRangeInfo* rangeInfo);
725
726/**
727* @brief Sets the grid information for an <b>ArkUI_AccessibilityElementInfo</b> object.
728*
729* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
730* @param gridInfo Indicates the grid information.
731* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
732*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
733* @since 13
734*/
735int32_t OH_ArkUI_AccessibilityElementInfoSetGridInfo(
736    ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridInfo* gridInfo);
737
738/**
739* @brief Sets the grid item for an <b>ArkUI_AccessibilityElementInfo</b> object.
740*
741* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
742* @param gridItem Indicates the grid item.
743* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
744*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
745* @since 13
746*/
747int32_t OH_ArkUI_AccessibilityElementInfoSetGridItemInfo(
748    ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridItemInfo* gridItem);
749
750/**
751* @brief Sets the starting index of the selected text for an <b>ArkUI_AccessibilityElementInfo</b> object.
752*
753* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
754* @param selectedTextStart Indicates the starting index of the selected text
755* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
756*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
757* @since 13
758*/
759int32_t OH_ArkUI_AccessibilityElementInfoSetSelectedTextStart(
760    ArkUI_AccessibilityElementInfo* elementInfo, int32_t selectedTextStart);
761
762/**
763* @brief Sets the end index of the selected text for an <b>ArkUI_AccessibilityElementInfo</b> object.
764*
765* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
766* @param selectedTextEnd Indicates the end index of the selected text
767* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
768*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
769* @since 13
770*/
771int32_t OH_ArkUI_AccessibilityElementInfoSetSelectedTextEnd(
772    ArkUI_AccessibilityElementInfo* elementInfo, int32_t selectedTextEnd);
773
774/**
775* @brief Sets the index of the currently selected item for an <b>ArkUI_AccessibilityElementInfo</b> object.
776*
777* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
778* @param currentItemIndex Indicates the index of the currently selected item.
779* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
780*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
781* @since 13
782*/
783int32_t OH_ArkUI_AccessibilityElementInfoSetCurrentItemIndex(
784    ArkUI_AccessibilityElementInfo* elementInfo, int32_t currentItemIndex);
785
786/**
787* @brief Sets the index of the first item for an <b>ArkUI_AccessibilityElementInfo</b> object.
788*
789* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
790* @param startItemIndex Indicates the index of the first item.
791* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
792*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
793* @since 13
794*/
795int32_t OH_ArkUI_AccessibilityElementInfoSetStartItemIndex(
796    ArkUI_AccessibilityElementInfo* elementInfo, int32_t startItemIndex);
797
798/**
799* @brief Sets the index of the last item for an <b>ArkUI_AccessibilityElementInfo</b> object.
800*
801* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
802* @param endItemIndex Indicates the index of the last item.
803* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
804*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
805* @since 13
806*/
807int32_t OH_ArkUI_AccessibilityElementInfoSetEndItemIndex(
808    ArkUI_AccessibilityElementInfo* elementInfo, int32_t endItemIndex);
809
810/**
811* @brief Sets the number of items for an <b>ArkUI_AccessibilityElementInfo</b> object.
812*
813* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
814* @param itemCount Indicates the number of items.
815* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
816*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
817* @since 13
818*/
819int32_t OH_ArkUI_AccessibilityElementInfoSetItemCount(
820    ArkUI_AccessibilityElementInfo* elementInfo, int32_t itemCount);
821
822/**
823* @brief Sets the offset for an <b>ArkUI_AccessibilityElementInfo</b> object.
824*
825* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
826* @param offset Indicates the scroll pixel offset relative to the top of the element.
827* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
828*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
829* @since 13
830*/
831int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityOffset(
832    ArkUI_AccessibilityElementInfo* elementInfo, int32_t offset);
833
834/**
835* @brief Sets the accessibility group for an <b>ArkUI_AccessibilityElementInfo</b> object.
836*
837* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
838* @param accessibilityGroup Indicates the accessibility group.
839* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
840*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
841* @since 13
842*/
843int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityGroup(
844    ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityGroup);
845
846/**
847* @brief Sets the accessibility level for an <b>ArkUI_AccessibilityElementInfo</b> object.
848*
849* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
850* @param accessibilityLevel Indicates the accessibility level.
851* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
852*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
853* @since 13
854*/
855int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityLevel(
856    ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityLevel);
857
858/**
859* @brief Sets the z-index for an <b>ArkUI_AccessibilityElementInfo</b> object.
860*
861* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
862* @param zIndex Indicates the z-index value.
863* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
864*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
865* @since 13
866*/
867int32_t OH_ArkUI_AccessibilityElementInfoSetZIndex(
868    ArkUI_AccessibilityElementInfo* elementInfo, int32_t zIndex);
869
870/**
871* @brief Sets the opacity for an <b>ArkUI_AccessibilityElementInfo</b> object.
872*
873* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
874* @param opacity Indicates the opacity.
875* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
876*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
877* @since 13
878*/
879int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityOpacity(
880    ArkUI_AccessibilityElementInfo* elementInfo, float opacity);
881
882/**
883* @brief Sets the background color for an <b>ArkUI_AccessibilityElementInfo</b> object.
884*
885* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
886* @param backgroundColor Indicates the background color.
887* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
888*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
889* @since 13
890*/
891int32_t OH_ArkUI_AccessibilityElementInfoSetBackgroundColor(
892    ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundColor);
893
894/**
895* @brief Sets the background image for an <b>ArkUI_AccessibilityElementInfo</b> object.
896*
897* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
898* @param backgroundImage Indicates the backgroundImage.
899* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
900*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
901* @since 13
902*/
903int32_t OH_ArkUI_AccessibilityElementInfoSetBackgroundImage(
904    ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundImage);
905
906/**
907* @brief Sets the blur effect for an <b>ArkUI_AccessibilityElementInfo</b> object.
908*
909* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
910* @param blur Indicates the blur effect.
911* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
912*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
913* @since 13
914*/
915int32_t OH_ArkUI_AccessibilityElementInfoSetBlur(
916    ArkUI_AccessibilityElementInfo* elementInfo, const char* blur);
917
918/**
919* @brief Sets the hit test behavior for an <b>ArkUI_AccessibilityElementInfo</b> object.
920*
921* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
922* @param hitTestBehavior Indicates the hit test behavior.
923* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
924*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
925* @since 13
926*/
927int32_t OH_ArkUI_AccessibilityElementInfoSetHitTestBehavior(
928    ArkUI_AccessibilityElementInfo* elementInfo, const char* hitTestBehavior);
929
930/**
931 * @brief Creates an <b>ArkUI_AccessibilityElementInfo</b> object.
932 *
933 * @return Returns the <b>ArkUI_AccessibilityElementInfo</b> object, or NULL if it fails to create.
934 *         The possible reason for failure is that the memory error occurred during object creation.
935 * @since 13
936 * @version 1.0
937 */
938ArkUI_AccessibilityElementInfo* OH_ArkUI_CreateAccessibilityElementInfo(void);
939
940/**
941 * @brief Destroys an <b>ArkUI_AccessibilityElementInfo</b> object.
942 *
943 * @param elementInfo Indicates the pointer to the <b>ArkUI_AccessibilityElementInfo</b> object to destroy.
944 * @since 13
945 * @version 1.0
946 */
947void OH_ArkUI_DestoryAccessibilityElementInfo(ArkUI_AccessibilityElementInfo* elementInfo);
948
949/**
950 * @brief Creates an <b>ArkUI_AccessibilityEventInfo</b> object.
951 *
952 * @return Returns the <b>ArkUI_AccessibilityEventInfo</b> object, or NULL if it fails to create.
953 *         The possible reason for failure is that the memory error occurred during object creation.
954 * @since 13
955 */
956ArkUI_AccessibilityEventInfo* OH_ArkUI_CreateAccessibilityEventInfo(void);
957
958/**
959 * @brief Destroys an <b>ArkUI_AccessibilityEventInfo</b> object.
960 *
961 * @param eventInfo Indicates the pointer to the <b>ArkUI_AccessibilityEventInfo</b> object to destroy.
962 * @since 13
963 */
964void OH_ArkUI_DestoryAccessibilityEventInfo(ArkUI_AccessibilityEventInfo* eventInfo);
965
966/**
967* @brief Sets the event type for an <b>ArkUI_AccessibilityEventInfo</b> object.
968*
969* @param eventInfo Indicates the pointer to an <b>ArkUI_AccessibilityEventInfo</b> object.
970* @param eventType Indicates the event type.
971* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
972*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
973* @since 13
974*/
975int32_t OH_ArkUI_AccessibilityEventSetEventType(
976    ArkUI_AccessibilityEventInfo* eventInfo,  ArkUI_AccessibilityEventType eventType);
977
978/**
979* @brief Sets the text announced for accessibility for an <b>ArkUI_AccessibilityEventInfo</b> object.
980*
981* @param eventInfo Indicates the pointer to an <b>ArkUI_AccessibilityEventInfo</b> object.
982* @param textAnnouncedForAccessibility Indicates the text announced for accessibility.
983* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
984*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
985* @since 13
986*/
987int32_t OH_ArkUI_AccessibilityEventSetTextAnnouncedForAccessibility(
988    ArkUI_AccessibilityEventInfo* eventInfo,  const char* textAnnouncedForAccessibility);
989
990/**
991* @brief Sets the request focus ID for an <b>ArkUI_AccessibilityEventInfo</b> object.
992*
993* @param eventInfo Indicates the pointer to an <b>ArkUI_AccessibilityEventInfo</b> object.
994* @param requestFocusId Indicates the request focus ID.
995* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
996*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
997* @since 13
998*/
999int32_t OH_ArkUI_AccessibilityEventSetRequestFocusId(
1000    ArkUI_AccessibilityEventInfo* eventInfo,  int32_t requestFocusId);
1001
1002/**
1003* @brief Sets the element information for an <b>ArkUI_AccessibilityEventInfo</b> object.
1004*
1005* @param eventInfo Indicates the pointer to an <b>ArkUI_AccessibilityEventInfo</b> object.
1006* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
1007* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
1008*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
1009* @since 13
1010*/
1011int32_t OH_ArkUI_AccessibilityEventSetElementInfo(
1012    ArkUI_AccessibilityEventInfo* eventInfo,  ArkUI_AccessibilityElementInfo* elementInfo);
1013
1014/**
1015* @brief Obtains the value of a key from an <b>ArkUI_AccessibilityActionArguments</b> object.
1016*
1017* @param arguments Indicates the pointer to an <b>ArkUI_AccessibilityActionArguments</b> object.
1018* @param key Indicates the key.
1019* @param value Indicates the value.
1020* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
1021*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
1022* @since 13
1023*/
1024int32_t OH_ArkUI_FindAccessibilityActionArgumentByKey(
1025    ArkUI_AccessibilityActionArguments* arguments, const char* key, char** value);
1026#ifdef __cplusplus
1027};
1028#endif
1029#endif // _NATIVE_INTERFACE_ACCESSIBILITY_H
1030