123b3eb3cSopenharmony_ci/*
223b3eb3cSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd.
323b3eb3cSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
423b3eb3cSopenharmony_ci * you may not use this file except in compliance with the License.
523b3eb3cSopenharmony_ci * You may obtain a copy of the License at
623b3eb3cSopenharmony_ci *
723b3eb3cSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
823b3eb3cSopenharmony_ci *
923b3eb3cSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1023b3eb3cSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1123b3eb3cSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1223b3eb3cSopenharmony_ci * See the License for the specific language governing permissions and
1323b3eb3cSopenharmony_ci * limitations under the License.
1423b3eb3cSopenharmony_ci */
1523b3eb3cSopenharmony_ci
1623b3eb3cSopenharmony_ci/**
1723b3eb3cSopenharmony_ci * @addtogroup ArkUI_Accessibility
1823b3eb3cSopenharmony_ci * @{
1923b3eb3cSopenharmony_ci *
2023b3eb3cSopenharmony_ci * @brief Describes the native capabilities supported by ArkUI Accessibility, such as querying accessibility nodes and
2123b3eb3cSopenharmony_ci * reporting accessibility events.
2223b3eb3cSopenharmony_ci *
2323b3eb3cSopenharmony_ci * @since 13
2423b3eb3cSopenharmony_ci */
2523b3eb3cSopenharmony_ci
2623b3eb3cSopenharmony_ci/**
2723b3eb3cSopenharmony_ci * @file native_interface_accessibility.h
2823b3eb3cSopenharmony_ci *
2923b3eb3cSopenharmony_ci * @brief Declares the APIs used to access the native Accessibility.
3023b3eb3cSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
3123b3eb3cSopenharmony_ci * @kit ArkUI
3223b3eb3cSopenharmony_ci * @since 13
3323b3eb3cSopenharmony_ci */
3423b3eb3cSopenharmony_ci#ifndef _NATIVE_INTERFACE_ACCESSIBILITY_H
3523b3eb3cSopenharmony_ci#define _NATIVE_INTERFACE_ACCESSIBILITY_H
3623b3eb3cSopenharmony_ci
3723b3eb3cSopenharmony_ci#include <cstdint>
3823b3eb3cSopenharmony_ci
3923b3eb3cSopenharmony_ci#ifdef __cplusplus
4023b3eb3cSopenharmony_ciextern "C"{
4123b3eb3cSopenharmony_ci#endif
4223b3eb3cSopenharmony_ci
4323b3eb3cSopenharmony_ci/**
4423b3eb3cSopenharmony_ci * @brief Defines a struct for accessibility element information.
4523b3eb3cSopenharmony_ci *
4623b3eb3cSopenharmony_ci * @since 13
4723b3eb3cSopenharmony_ci */
4823b3eb3cSopenharmony_citypedef struct ArkUI_AccessibilityElementInfo ArkUI_AccessibilityElementInfo;
4923b3eb3cSopenharmony_ci
5023b3eb3cSopenharmony_ci/**
5123b3eb3cSopenharmony_ci * @brief Defines a struct for accessibility event information.
5223b3eb3cSopenharmony_ci *
5323b3eb3cSopenharmony_ci * @since 13
5423b3eb3cSopenharmony_ci */
5523b3eb3cSopenharmony_citypedef struct ArkUI_AccessibilityEventInfo ArkUI_AccessibilityEventInfo;
5623b3eb3cSopenharmony_ci
5723b3eb3cSopenharmony_ci/**
5823b3eb3cSopenharmony_ci * @brief Defines a struct for the local provider of accessibility.
5923b3eb3cSopenharmony_ci *
6023b3eb3cSopenharmony_ci * @since 13
6123b3eb3cSopenharmony_ci */
6223b3eb3cSopenharmony_citypedef struct ArkUI_AccessibilityProvider ArkUI_AccessibilityProvider;
6323b3eb3cSopenharmony_ci
6423b3eb3cSopenharmony_ci/**
6523b3eb3cSopenharmony_ci * @brief Defines a struct for accessibility action arguments.
6623b3eb3cSopenharmony_ci *
6723b3eb3cSopenharmony_ci * @since 13
6823b3eb3cSopenharmony_ci */
6923b3eb3cSopenharmony_citypedef struct ArkUI_AccessibilityActionArguments ArkUI_AccessibilityActionArguments;
7023b3eb3cSopenharmony_ci
7123b3eb3cSopenharmony_ci/**
7223b3eb3cSopenharmony_ci * @brief Defines an enum for accessibility action types.
7323b3eb3cSopenharmony_ci *
7423b3eb3cSopenharmony_ci * @since 13
7523b3eb3cSopenharmony_ci */
7623b3eb3cSopenharmony_citypedef enum {
7723b3eb3cSopenharmony_ci    /** Invalid action. */
7823b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_INVALID = 0,
7923b3eb3cSopenharmony_ci    /** Response to a click. */
8023b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CLICK = 0x00000010,
8123b3eb3cSopenharmony_ci    /** Response to a long click. */
8223b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_LONG_CLICK = 0x00000020,
8323b3eb3cSopenharmony_ci    /** Accessibility focus acquisition. */
8423b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_GAIN_ACCESSIBILITY_FOCUS = 0x00000040,
8523b3eb3cSopenharmony_ci    /** Accessibility focus clearance. */
8623b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080,
8723b3eb3cSopenharmony_ci    /** Forward scroll action. */
8823b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SCROLL_FORWARD = 0x00000100,
8923b3eb3cSopenharmony_ci    /** Backward scroll action. */
9023b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SCROLL_BACKWARD = 0x00000200,
9123b3eb3cSopenharmony_ci    /** Copy action for text content. */
9223b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_COPY = 0x00000400,
9323b3eb3cSopenharmony_ci    /** Paste action for text content. */
9423b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_PASTE = 0x00000800,
9523b3eb3cSopenharmony_ci    /** Cut action for text content. */
9623b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CUT = 0x00001000,
9723b3eb3cSopenharmony_ci    /** Text selection action, requiring the setting of <b>selectTextBegin</b>, <b>TextEnd</b>, and <b>TextInForward</b>
9823b3eb3cSopenharmony_ci     *  parameters to select a text segment in the text box. */
9923b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SELECT_TEXT = 0x00002000,
10023b3eb3cSopenharmony_ci    /** Text content setting action. */
10123b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SET_TEXT = 0x00004000,
10223b3eb3cSopenharmony_ci    /** Cursor position setting action. */
10323b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SET_CURSOR_POSITION = 0x00100000,
10423b3eb3cSopenharmony_ci} ArkUI_Accessibility_ActionType;
10523b3eb3cSopenharmony_ci
10623b3eb3cSopenharmony_ci/**
10723b3eb3cSopenharmony_ci * @brief Defines an enum for accessibility event types.
10823b3eb3cSopenharmony_ci *
10923b3eb3cSopenharmony_ci * @since 13
11023b3eb3cSopenharmony_ci */
11123b3eb3cSopenharmony_citypedef enum {
11223b3eb3cSopenharmony_ci    /** Invalid event. */
11323b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_INVALID = 0,
11423b3eb3cSopenharmony_ci    /** Click event, sent after the UI component responds. */
11523b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_CLICKED = 0x00000001,
11623b3eb3cSopenharmony_ci    /** Long click event, sent after the UI component responds. */
11723b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_LONG_CLICKED = 0x00000002,
11823b3eb3cSopenharmony_ci    /** Selection event, sent after the UI component responds. */
11923b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_SELECTED = 0x00000004,
12023b3eb3cSopenharmony_ci    /** Text update event, sent when text is updated. */
12123b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_TEXT_UPDATE = 0x00000010,
12223b3eb3cSopenharmony_ci    /** Page state update event, sent when the page transitions, switches, resizes, or moves. */
12323b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_STATE_UPDATE = 0x00000020,
12423b3eb3cSopenharmony_ci    /** Page content update event, sent when the page content changes. */
12523b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_CONTENT_UPDATE = 0x00000800,
12623b3eb3cSopenharmony_ci    /** Scrolled event, sent when a scrollable component experiences a scroll event. */
12723b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_SCROLLED = 0x000001000,
12823b3eb3cSopenharmony_ci    /** Accessibility focus event, sent after the UI component responds. */
12923b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_ACCESSIBILITY_FOCUSED = 0x00008000,
13023b3eb3cSopenharmony_ci    /** Accessibility focus cleared event, sent after the UI component responds. */
13123b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_ACCESSIBILITY_FOCUS_CLEARED = 0x00010000,
13223b3eb3cSopenharmony_ci    /** FOcus request for a specific node. */
13323b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_REQUEST_ACCESSIBILITY_FOCUS = 0x02000000,
13423b3eb3cSopenharmony_ci    /** Page open event reported by the UI component. */
13523b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_OPEN = 0x20000000,
13623b3eb3cSopenharmony_ci    /** Page close event reported by the UI component. */
13723b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_CLOSE = 0x08000000,
13823b3eb3cSopenharmony_ci    /** Announcement event, indicating a request to proactively announce specified content. */
13923b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_ANNOUNCE_FOR_ACCESSIBILITY = 0x10000000,
14023b3eb3cSopenharmony_ci    /** Focus update event, used for focus update scenarios. */
14123b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_FOCUS_NODE_UPDATE = 0x10000001,
14223b3eb3cSopenharmony_ci} ArkUI_AccessibilityEventType;
14323b3eb3cSopenharmony_ci
14423b3eb3cSopenharmony_ci/**
14523b3eb3cSopenharmony_ci * @brief Defines a struct for the accessible action.
14623b3eb3cSopenharmony_ci *
14723b3eb3cSopenharmony_ci * @since 13
14823b3eb3cSopenharmony_ci */
14923b3eb3cSopenharmony_citypedef struct {
15023b3eb3cSopenharmony_ci    /** Action type. */
15123b3eb3cSopenharmony_ci    ArkUI_Accessibility_ActionType actionType;
15223b3eb3cSopenharmony_ci    /** Action description. */
15323b3eb3cSopenharmony_ci    const char* description;
15423b3eb3cSopenharmony_ci} ArkUI_AccessibleAction;
15523b3eb3cSopenharmony_ci
15623b3eb3cSopenharmony_ci/**
15723b3eb3cSopenharmony_ci * @brief Defines a struct for the accessible rectangle.
15823b3eb3cSopenharmony_ci *
15923b3eb3cSopenharmony_ci * @since 13
16023b3eb3cSopenharmony_ci */
16123b3eb3cSopenharmony_citypedef struct {
16223b3eb3cSopenharmony_ci    /** X coordinate of the upper left corner. */
16323b3eb3cSopenharmony_ci    int32_t leftTopX;
16423b3eb3cSopenharmony_ci    /** Y coordinate of the upper left corner. */
16523b3eb3cSopenharmony_ci    int32_t leftTopY;
16623b3eb3cSopenharmony_ci    /** X coordinate of the lower right corner. */
16723b3eb3cSopenharmony_ci    int32_t rightBottomX;
16823b3eb3cSopenharmony_ci    /** Y coordinate of the lower right corner. */
16923b3eb3cSopenharmony_ci    int32_t rightBottomY;
17023b3eb3cSopenharmony_ci} ArkUI_AccessibleRect;
17123b3eb3cSopenharmony_ci
17223b3eb3cSopenharmony_ci/**
17323b3eb3cSopenharmony_ci * @brief Define a struct for the accessible range information.
17423b3eb3cSopenharmony_ci *
17523b3eb3cSopenharmony_ci * @since 13
17623b3eb3cSopenharmony_ci */
17723b3eb3cSopenharmony_citypedef struct {
17823b3eb3cSopenharmony_ci    /** Minimum value. */
17923b3eb3cSopenharmony_ci    double min;
18023b3eb3cSopenharmony_ci    /** Maximum value. */
18123b3eb3cSopenharmony_ci    double max;
18223b3eb3cSopenharmony_ci    /** Current value. */
18323b3eb3cSopenharmony_ci    double current;
18423b3eb3cSopenharmony_ci} ArkUI_AccessibleRangeInfo;
18523b3eb3cSopenharmony_ci
18623b3eb3cSopenharmony_ci/**
18723b3eb3cSopenharmony_ci * @brief Defines a struct for the accessible grid information.
18823b3eb3cSopenharmony_ci *
18923b3eb3cSopenharmony_ci * @since 13
19023b3eb3cSopenharmony_ci */
19123b3eb3cSopenharmony_citypedef struct {
19223b3eb3cSopenharmony_ci    /** Number of rows. */
19323b3eb3cSopenharmony_ci    int32_t rowCount;
19423b3eb3cSopenharmony_ci    /** Number of columns. */
19523b3eb3cSopenharmony_ci    int32_t columnCount;
19623b3eb3cSopenharmony_ci    /** Selection mode. The value <b>0</b> indicates that only one row can be selected. */
19723b3eb3cSopenharmony_ci    int32_t selectionMode;
19823b3eb3cSopenharmony_ci} ArkUI_AccessibleGridInfo;
19923b3eb3cSopenharmony_ci
20023b3eb3cSopenharmony_ci/**
20123b3eb3cSopenharmony_ci * @brief Defines a struct for the accessible grid item information.
20223b3eb3cSopenharmony_ci *
20323b3eb3cSopenharmony_ci * @since 13
20423b3eb3cSopenharmony_ci */
20523b3eb3cSopenharmony_citypedef struct {
20623b3eb3cSopenharmony_ci    /** Whether it is a header. */
20723b3eb3cSopenharmony_ci    bool heading;
20823b3eb3cSopenharmony_ci    /** Whether it is selected. */
20923b3eb3cSopenharmony_ci    bool selected;
21023b3eb3cSopenharmony_ci    /** Column index. */
21123b3eb3cSopenharmony_ci    int32_t columnIndex;
21223b3eb3cSopenharmony_ci    /** Row index. */
21323b3eb3cSopenharmony_ci    int32_t rowIndex;
21423b3eb3cSopenharmony_ci    /** Column span. */
21523b3eb3cSopenharmony_ci    int32_t columnSpan;
21623b3eb3cSopenharmony_ci    /** Row span. */
21723b3eb3cSopenharmony_ci    int32_t rowSpan;
21823b3eb3cSopenharmony_ci} ArkUI_AccessibleGridItemInfo;
21923b3eb3cSopenharmony_ci
22023b3eb3cSopenharmony_ci/**
22123b3eb3cSopenharmony_ci * @brief Enumerates the accessibility error codes.
22223b3eb3cSopenharmony_ci *
22323b3eb3cSopenharmony_ci * @since 13
22423b3eb3cSopenharmony_ci */
22523b3eb3cSopenharmony_citypedef enum {
22623b3eb3cSopenharmony_ci    /**
22723b3eb3cSopenharmony_ci     * @error Success.
22823b3eb3cSopenharmony_ci     */
22923b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL = 0,
23023b3eb3cSopenharmony_ci    /**
23123b3eb3cSopenharmony_ci     * @error Failure.
23223b3eb3cSopenharmony_ci     */
23323b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_RESULT_FAILED = -1,
23423b3eb3cSopenharmony_ci    /**
23523b3eb3cSopenharmony_ci     * @error Invalid parameter.
23623b3eb3cSopenharmony_ci     */
23723b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER = -2,
23823b3eb3cSopenharmony_ci    /**
23923b3eb3cSopenharmony_ci     * @error Out of memory.
24023b3eb3cSopenharmony_ci     */
24123b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_RESULT_OUT_OF_MEMORY = -3,
24223b3eb3cSopenharmony_ci} ArkUI_AcessbilityErrorCode;
24323b3eb3cSopenharmony_ci
24423b3eb3cSopenharmony_ci/**
24523b3eb3cSopenharmony_ci * @brief Defines an enum for the accessibility search modes.
24623b3eb3cSopenharmony_ci *
24723b3eb3cSopenharmony_ci * @since 13
24823b3eb3cSopenharmony_ci */
24923b3eb3cSopenharmony_citypedef enum {
25023b3eb3cSopenharmony_ci    /** Search for current nodes. */
25123b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_CURRENT = 0,
25223b3eb3cSopenharmony_ci    /** Search for parent nodes. */
25323b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_PREDECESSORS = 1 << 0,
25423b3eb3cSopenharmony_ci    /** Search for sibling nodes. */
25523b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_SIBLINGS = 1 << 1,
25623b3eb3cSopenharmony_ci    /** Search for child nodes at the next level. */
25723b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_CHILDREN = 1 << 2,
25823b3eb3cSopenharmony_ci    /** Search for all child nodes. */
25923b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_RECURSIVE_CHILDREN = 1 << 3,
26023b3eb3cSopenharmony_ci} ArkUI_AccessibilitySearchMode;
26123b3eb3cSopenharmony_ci
26223b3eb3cSopenharmony_ci/**
26323b3eb3cSopenharmony_ci * @brief Defines an enum for the accessibility focus types.
26423b3eb3cSopenharmony_ci *
26523b3eb3cSopenharmony_ci * @since 13
26623b3eb3cSopenharmony_ci */
26723b3eb3cSopenharmony_citypedef enum {
26823b3eb3cSopenharmony_ci    /** Invalid type. */
26923b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_FOCUS_TYPE_INVALID = -1,
27023b3eb3cSopenharmony_ci    /** Input focus type. */
27123b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_FOCUS_TYPE_INPUT = 1 << 0,
27223b3eb3cSopenharmony_ci    /** Accessibility focus type. */
27323b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_FOCUS_TYPE_ACCESSIBILITY = 1 << 1,
27423b3eb3cSopenharmony_ci} ArkUI_AccessibilityFocusType;
27523b3eb3cSopenharmony_ci
27623b3eb3cSopenharmony_ci/**
27723b3eb3cSopenharmony_ci * @brief Enumerates the directions for moving the accessibility focus.
27823b3eb3cSopenharmony_ci *
27923b3eb3cSopenharmony_ci * @since 13
28023b3eb3cSopenharmony_ci */
28123b3eb3cSopenharmony_citypedef enum {
28223b3eb3cSopenharmony_ci    /** Invalid direction. */
28323b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_INVALID = 0,
28423b3eb3cSopenharmony_ci    /** Up. */
28523b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_UP = 0x00000001,
28623b3eb3cSopenharmony_ci    /** Down. */
28723b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_DOWN = 0x00000002,
28823b3eb3cSopenharmony_ci    /** Left. */
28923b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_LEFT = 0x00000004,
29023b3eb3cSopenharmony_ci    /** Right. */
29123b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_RIGHT = 0x00000008,
29223b3eb3cSopenharmony_ci    /** Forward. */
29323b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_FORWARD = 0x00000010,
29423b3eb3cSopenharmony_ci    /** Backward. */
29523b3eb3cSopenharmony_ci    ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_BACKWARD = 0x00000020,
29623b3eb3cSopenharmony_ci} ArkUI_AccessibilityFocusMoveDirection;
29723b3eb3cSopenharmony_ci
29823b3eb3cSopenharmony_ci/**
29923b3eb3cSopenharmony_ci * @brief Defines a struct for the accessibility element information list.
30023b3eb3cSopenharmony_ci *
30123b3eb3cSopenharmony_ci * @since 13
30223b3eb3cSopenharmony_ci */
30323b3eb3cSopenharmony_citypedef struct ArkUI_AccessibilityElementInfoList ArkUI_AccessibilityElementInfoList;
30423b3eb3cSopenharmony_ci
30523b3eb3cSopenharmony_ci/**
30623b3eb3cSopenharmony_ci * @brief Registers callbacks for the accessibility provider.
30723b3eb3cSopenharmony_ci *
30823b3eb3cSopenharmony_ci * @since 13
30923b3eb3cSopenharmony_ci */
31023b3eb3cSopenharmony_citypedef struct ArkUI_AccessibilityProviderCallbacks {
31123b3eb3cSopenharmony_ci    /**
31223b3eb3cSopenharmony_ci    * @brief Called to obtain element information based on a specified node.
31323b3eb3cSopenharmony_ci    *
31423b3eb3cSopenharmony_ci    * @param elementId Indicates the element ID.
31523b3eb3cSopenharmony_ci    * @param mode Indicates accessibility search mode.
31623b3eb3cSopenharmony_ci    * @param requestId Indicates the request ID.
31723b3eb3cSopenharmony_ci    * @param elementList Indicates accessibility elementInfo list.
31823b3eb3cSopenharmony_ci    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
31923b3eb3cSopenharmony_ci    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
32023b3eb3cSopenharmony_ci    */
32123b3eb3cSopenharmony_ci    int32_t (*findAccessibilityNodeInfosById)(int64_t elementId, ArkUI_AccessibilitySearchMode mode,
32223b3eb3cSopenharmony_ci        int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList);
32323b3eb3cSopenharmony_ci    /**
32423b3eb3cSopenharmony_ci    * @brief Called to obtain element information based on a specified node and text content.
32523b3eb3cSopenharmony_ci    *
32623b3eb3cSopenharmony_ci    * @param elementId Indicates the element ID.
32723b3eb3cSopenharmony_ci    * @param text Indicates accessibility text.
32823b3eb3cSopenharmony_ci    * @param requestId Indicates the request ID.
32923b3eb3cSopenharmony_ci    * @param elementList Indicates accessibility elementInfo list.
33023b3eb3cSopenharmony_ci    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
33123b3eb3cSopenharmony_ci    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
33223b3eb3cSopenharmony_ci    */
33323b3eb3cSopenharmony_ci    int32_t (*findAccessibilityNodeInfosByText)(int64_t elementId, const char* text, int32_t requestId,
33423b3eb3cSopenharmony_ci        ArkUI_AccessibilityElementInfoList* elementList);
33523b3eb3cSopenharmony_ci    /**
33623b3eb3cSopenharmony_ci    * @brief Called to obtain focused element information based on a specified node.
33723b3eb3cSopenharmony_ci    *
33823b3eb3cSopenharmony_ci    * @param elementId Indicates the element ID.
33923b3eb3cSopenharmony_ci    * @param focusType Indicates focus type.
34023b3eb3cSopenharmony_ci    * @param requestId Indicates the request ID.
34123b3eb3cSopenharmony_ci    * @param elementInfo Indicates accessibility elementInfo.
34223b3eb3cSopenharmony_ci    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
34323b3eb3cSopenharmony_ci    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
34423b3eb3cSopenharmony_ci    */
34523b3eb3cSopenharmony_ci    int32_t (*findFocusedAccessibilityNode)(int64_t elementId, ArkUI_AccessibilityFocusType focusType,
34623b3eb3cSopenharmony_ci        int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo);
34723b3eb3cSopenharmony_ci    /**
34823b3eb3cSopenharmony_ci    * @brief Called to find the next focusable node based on the reference node.
34923b3eb3cSopenharmony_ci    *
35023b3eb3cSopenharmony_ci    * @param elementId Indicates the element ID.
35123b3eb3cSopenharmony_ci    * @param direction Indicates direction.
35223b3eb3cSopenharmony_ci    * @param requestId Indicates the request ID.
35323b3eb3cSopenharmony_ci    * @param elementInfo Indicates accessibility elementInfo.
35423b3eb3cSopenharmony_ci    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
35523b3eb3cSopenharmony_ci    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
35623b3eb3cSopenharmony_ci    */
35723b3eb3cSopenharmony_ci    int32_t (*findNextFocusAccessibilityNode)(
35823b3eb3cSopenharmony_ci        int64_t elementId, ArkUI_AccessibilityFocusMoveDirection direction,
35923b3eb3cSopenharmony_ci        int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo);
36023b3eb3cSopenharmony_ci    /**
36123b3eb3cSopenharmony_ci    * @brief Called to execute a specified action on a specified node.
36223b3eb3cSopenharmony_ci    *
36323b3eb3cSopenharmony_ci    * @param elementId Indicates the element ID.
36423b3eb3cSopenharmony_ci    * @param action Indicates action.
36523b3eb3cSopenharmony_ci    * @param actionArguments Indicates action arguments.
36623b3eb3cSopenharmony_ci    * @param requestId Indicates the request ID.
36723b3eb3cSopenharmony_ci    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
36823b3eb3cSopenharmony_ci    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
36923b3eb3cSopenharmony_ci    */
37023b3eb3cSopenharmony_ci    int32_t (*executeAccessibilityAction)(int64_t elementId, ArkUI_Accessibility_ActionType action,
37123b3eb3cSopenharmony_ci        ArkUI_AccessibilityActionArguments *actionArguments, int32_t requestId);
37223b3eb3cSopenharmony_ci    /**
37323b3eb3cSopenharmony_ci    * @brief Called to clear the focus state of the current focused node.
37423b3eb3cSopenharmony_ci    *
37523b3eb3cSopenharmony_ci    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
37623b3eb3cSopenharmony_ci    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_FAILED} if the operation is failed.
37723b3eb3cSopenharmony_ci    */
37823b3eb3cSopenharmony_ci    int32_t (*clearFocusedFocusAccessibilityNode)();
37923b3eb3cSopenharmony_ci    /**
38023b3eb3cSopenharmony_ci    * @brief Called to query the current cursor position of the specified node.
38123b3eb3cSopenharmony_ci    *
38223b3eb3cSopenharmony_ci    * @param elementId Indicates the element ID.
38323b3eb3cSopenharmony_ci    * @param requestId Indicates the request ID.
38423b3eb3cSopenharmony_ci    * @param index Indicates index.
38523b3eb3cSopenharmony_ci    * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
38623b3eb3cSopenharmony_ci    *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
38723b3eb3cSopenharmony_ci    */
38823b3eb3cSopenharmony_ci    int32_t (*getAccessibilityNodeCursorPosition)(int64_t elementId, int32_t requestId, int32_t* index);
38923b3eb3cSopenharmony_ci} ArkUI_AccessibilityProviderCallbacks;
39023b3eb3cSopenharmony_ci
39123b3eb3cSopenharmony_ci/**
39223b3eb3cSopenharmony_ci * @brief Registers a callback for this <b>ArkUI_AccessibilityProvider</b> instance.
39323b3eb3cSopenharmony_ci *
39423b3eb3cSopenharmony_ci * @param provider Indicates the pointer to the <b>ArkUI_AccessibilityProvider</b> instance.
39523b3eb3cSopenharmony_ci * @param callbacks Indicates the pointer to the <b>GetAccessibilityNodeCursorPosition</b> callback.
39623b3eb3cSopenharmony_ci * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
39723b3eb3cSopenharmony_ci *         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
39823b3eb3cSopenharmony_ci * @since 13
39923b3eb3cSopenharmony_ci */
40023b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityProviderRegisterCallback(
40123b3eb3cSopenharmony_ci    ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityProviderCallbacks* callbacks);
40223b3eb3cSopenharmony_ci
40323b3eb3cSopenharmony_ci/**
40423b3eb3cSopenharmony_ci * @brief Sends accessibility event information.
40523b3eb3cSopenharmony_ci *
40623b3eb3cSopenharmony_ci * @param provider Indicates the pointer to the <b>ArkUI_AccessibilityProvider</b> instance.
40723b3eb3cSopenharmony_ci * @param eventInfo Indicates the pointer to the accessibility event information.
40823b3eb3cSopenharmony_ci * @param callback Indicates the pointer to the callback that is called after the event is sent.
40923b3eb3cSopenharmony_ci * @since 13
41023b3eb3cSopenharmony_ci */
41123b3eb3cSopenharmony_civoid OH_ArkUI_SendAccessibilityAsyncEvent(
41223b3eb3cSopenharmony_ci    ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityEventInfo* eventInfo,
41323b3eb3cSopenharmony_ci    void (*callback)(int32_t errorCode));
41423b3eb3cSopenharmony_ci
41523b3eb3cSopenharmony_ci/**
41623b3eb3cSopenharmony_ci * @brief Adds and obtains the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
41723b3eb3cSopenharmony_ci *
41823b3eb3cSopenharmony_ci * @param list Indicates the pointer to an <b>ArkUI_AccessibilityElementInfoList</b> object.
41923b3eb3cSopenharmony_ci * @return Returns the pointer to the <b>ArkUI_AccessibilityElementInfo</b> object.
42023b3eb3cSopenharmony_ci * @since 13
42123b3eb3cSopenharmony_ci */
42223b3eb3cSopenharmony_ciArkUI_AccessibilityElementInfo* OH_ArkUI_AddAndGetAccessibilityElementInfo(
42323b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfoList* list);
42423b3eb3cSopenharmony_ci
42523b3eb3cSopenharmony_ci/**
42623b3eb3cSopenharmony_ci* @brief Sets the element ID for an <b>ArkUI_AccessibilityElementInfo</b> object.
42723b3eb3cSopenharmony_ci*
42823b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
42923b3eb3cSopenharmony_ci* @param elementId Indicates the element ID.
43023b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
43123b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
43223b3eb3cSopenharmony_ci* @since 13
43323b3eb3cSopenharmony_ci*/
43423b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetElementId(
43523b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, int32_t elementId);
43623b3eb3cSopenharmony_ci
43723b3eb3cSopenharmony_ci/**
43823b3eb3cSopenharmony_ci* @brief Sets the parent ID for an <b>ArkUI_AccessibilityElementInfo</b> object.
43923b3eb3cSopenharmony_ci*
44023b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
44123b3eb3cSopenharmony_ci* @param parentId Indicates the parent ID.
44223b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
44323b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
44423b3eb3cSopenharmony_ci* @since 13
44523b3eb3cSopenharmony_ci*/
44623b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetParentId(
44723b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, int32_t parentId);
44823b3eb3cSopenharmony_ci
44923b3eb3cSopenharmony_ci/**
45023b3eb3cSopenharmony_ci* @brief Sets the component type for an <b>ArkUI_AccessibilityElementInfo</b> object.
45123b3eb3cSopenharmony_ci*
45223b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
45323b3eb3cSopenharmony_ci* @param componentType Indicates the component type.
45423b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
45523b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
45623b3eb3cSopenharmony_ci* @since 13
45723b3eb3cSopenharmony_ci*/
45823b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetComponentType(
45923b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, const char* componentType);
46023b3eb3cSopenharmony_ci
46123b3eb3cSopenharmony_ci/**
46223b3eb3cSopenharmony_ci* @brief Sets the component content for an <b>ArkUI_AccessibilityElementInfo</b> object.
46323b3eb3cSopenharmony_ci*
46423b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
46523b3eb3cSopenharmony_ci* @param contents Indicates the component content.
46623b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
46723b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
46823b3eb3cSopenharmony_ci* @since 13
46923b3eb3cSopenharmony_ci*/
47023b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetContents(
47123b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, const char* contents);
47223b3eb3cSopenharmony_ci
47323b3eb3cSopenharmony_ci/**
47423b3eb3cSopenharmony_ci* @brief Sets the hint text for an <b>ArkUI_AccessibilityElementInfo</b> object.
47523b3eb3cSopenharmony_ci*
47623b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
47723b3eb3cSopenharmony_ci* @param hintText Indicates the hint text.
47823b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
47923b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
48023b3eb3cSopenharmony_ci* @since 13
48123b3eb3cSopenharmony_ci*/
48223b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetHintText(
48323b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, const char* hintText);
48423b3eb3cSopenharmony_ci
48523b3eb3cSopenharmony_ci/**
48623b3eb3cSopenharmony_ci* @brief Sets the accessibility text for an <b>ArkUI_AccessibilityElementInfo</b> object.
48723b3eb3cSopenharmony_ci*
48823b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
48923b3eb3cSopenharmony_ci* @param accessibilityText Indicates the accessibility text.
49023b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
49123b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
49223b3eb3cSopenharmony_ci* @since 13
49323b3eb3cSopenharmony_ci*/
49423b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityText(
49523b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityText);
49623b3eb3cSopenharmony_ci
49723b3eb3cSopenharmony_ci/**
49823b3eb3cSopenharmony_ci* @brief Sets the accessibility description for an <b>ArkUI_AccessibilityElementInfo</b> object.
49923b3eb3cSopenharmony_ci*
50023b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
50123b3eb3cSopenharmony_ci* @param accessibilityDescription Indicates the accessibility description.
50223b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
50323b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
50423b3eb3cSopenharmony_ci* @since 13
50523b3eb3cSopenharmony_ci*/
50623b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityDescription(
50723b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityDescription);
50823b3eb3cSopenharmony_ci
50923b3eb3cSopenharmony_ci/**
51023b3eb3cSopenharmony_ci* @brief Set the number of child nodes and child node IDs for an <b>ArkUI_AccessibilityElementInfo</b> object.
51123b3eb3cSopenharmony_ci*
51223b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
51323b3eb3cSopenharmony_ci* @param childCount Indicates the number of child nodes.
51423b3eb3cSopenharmony_ci* @param childNodeIds Indicates an array of child node IDs.
51523b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
51623b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
51723b3eb3cSopenharmony_ci* @since 13
51823b3eb3cSopenharmony_ci*/
51923b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetChildNodeIds(
52023b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, int32_t childCount, int64_t* childNodeIds);
52123b3eb3cSopenharmony_ci
52223b3eb3cSopenharmony_ci/**
52323b3eb3cSopenharmony_ci* @brief Sets the operation actions for an <b>ArkUI_AccessibilityElementInfo</b> object.
52423b3eb3cSopenharmony_ci*
52523b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
52623b3eb3cSopenharmony_ci* @param operationCount Indicates the operation count.
52723b3eb3cSopenharmony_ci* @param operationActions Indicates the operation actions.
52823b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
52923b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
53023b3eb3cSopenharmony_ci* @since 13
53123b3eb3cSopenharmony_ci*/
53223b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetOperationActions(ArkUI_AccessibilityElementInfo* elementInfo,
53323b3eb3cSopenharmony_ci    int32_t operationCount, ArkUI_AccessibleAction* operationActions);
53423b3eb3cSopenharmony_ci
53523b3eb3cSopenharmony_ci/**
53623b3eb3cSopenharmony_ci* @brief Sets the screen area for an <b>ArkUI_AccessibilityElementInfo</b> object.
53723b3eb3cSopenharmony_ci*
53823b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
53923b3eb3cSopenharmony_ci* @param screenRect Indicates the screen area.
54023b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
54123b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
54223b3eb3cSopenharmony_ci* @since 13
54323b3eb3cSopenharmony_ci*/
54423b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetScreenRect(
54523b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRect* screenRect);
54623b3eb3cSopenharmony_ci
54723b3eb3cSopenharmony_ci/**
54823b3eb3cSopenharmony_ci* @brief Sets whether the element is checkable for an <b>ArkUI_AccessibilityElementInfo</b> object.
54923b3eb3cSopenharmony_ci*
55023b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
55123b3eb3cSopenharmony_ci* @param checkable Indicates whether the element is checkable.
55223b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
55323b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
55423b3eb3cSopenharmony_ci* @since 13
55523b3eb3cSopenharmony_ci*/
55623b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetCheckable(
55723b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool checkable);
55823b3eb3cSopenharmony_ci
55923b3eb3cSopenharmony_ci/**
56023b3eb3cSopenharmony_ci* @brief Sets whether the element is checked for an <b>ArkUI_AccessibilityElementInfo</b> object.
56123b3eb3cSopenharmony_ci*
56223b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
56323b3eb3cSopenharmony_ci* @param checked Indicates whether the element is checked.
56423b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
56523b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
56623b3eb3cSopenharmony_ci* @since 13
56723b3eb3cSopenharmony_ci*/
56823b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetChecked(
56923b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool checked);
57023b3eb3cSopenharmony_ci
57123b3eb3cSopenharmony_ci/**
57223b3eb3cSopenharmony_ci* @brief Sets whether the element is focusable for an <b>ArkUI_AccessibilityElementInfo</b> object.
57323b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
57423b3eb3cSopenharmony_ci* @param focusable Indicates whether the element is focusable.
57523b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
57623b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
57723b3eb3cSopenharmony_ci* @since 13
57823b3eb3cSopenharmony_ci*/
57923b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetFocusable(
58023b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool focusable);
58123b3eb3cSopenharmony_ci
58223b3eb3cSopenharmony_ci/**
58323b3eb3cSopenharmony_ci* @brief Sets whether the element is focused for an <b>ArkUI_AccessibilityElementInfo</b> object.
58423b3eb3cSopenharmony_ci*
58523b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
58623b3eb3cSopenharmony_ci* @param isFocused Indicates whether the element is focused.
58723b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
58823b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
58923b3eb3cSopenharmony_ci* @since 13
59023b3eb3cSopenharmony_ci*/
59123b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetFocused(
59223b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool isFocused);
59323b3eb3cSopenharmony_ci
59423b3eb3cSopenharmony_ci/**
59523b3eb3cSopenharmony_ci* @brief Sets whether the element is visible for an <b>ArkUI_AccessibilityElementInfo</b> object.
59623b3eb3cSopenharmony_ci*
59723b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
59823b3eb3cSopenharmony_ci* @param isVisible Indicates whether the element is visible.
59923b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
60023b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
60123b3eb3cSopenharmony_ci* @since 13
60223b3eb3cSopenharmony_ci*/
60323b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetVisible(
60423b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool isVisible);
60523b3eb3cSopenharmony_ci
60623b3eb3cSopenharmony_ci/**
60723b3eb3cSopenharmony_ci* @brief Sets the accessibility focus state for an <b>ArkUI_AccessibilityElementInfo</b> object.
60823b3eb3cSopenharmony_ci*
60923b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
61023b3eb3cSopenharmony_ci* @param accessibilityFocused Indicates whether the element has accessibility focus.
61123b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
61223b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
61323b3eb3cSopenharmony_ci* @since 13
61423b3eb3cSopenharmony_ci*/
61523b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityFocused(
61623b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityFocused);
61723b3eb3cSopenharmony_ci
61823b3eb3cSopenharmony_ci/**
61923b3eb3cSopenharmony_ci* @brief Sets whether the element is selected for an <b>ArkUI_AccessibilityElementInfo</b> object.
62023b3eb3cSopenharmony_ci*
62123b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
62223b3eb3cSopenharmony_ci* @param selected Indicates whether the element is selected.
62323b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
62423b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
62523b3eb3cSopenharmony_ci* @since 13
62623b3eb3cSopenharmony_ci*/
62723b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetSelected(
62823b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool selected);
62923b3eb3cSopenharmony_ci
63023b3eb3cSopenharmony_ci/**
63123b3eb3cSopenharmony_ci* @brief Sets whether the element is clickable for an <b>ArkUI_AccessibilityElementInfo</b> object.
63223b3eb3cSopenharmony_ci*
63323b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
63423b3eb3cSopenharmony_ci* @param clickable Indicates whether the element is clickable.
63523b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
63623b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
63723b3eb3cSopenharmony_ci* @since 13
63823b3eb3cSopenharmony_ci*/
63923b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetClickable(
64023b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool clickable);
64123b3eb3cSopenharmony_ci
64223b3eb3cSopenharmony_ci/**
64323b3eb3cSopenharmony_ci* @brief Sets whether the element is long clickable for an <b>ArkUI_AccessibilityElementInfo</b> object.
64423b3eb3cSopenharmony_ci*
64523b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
64623b3eb3cSopenharmony_ci* @param longClickable Indicates whether the element is long clickable.
64723b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
64823b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
64923b3eb3cSopenharmony_ci* @since 13
65023b3eb3cSopenharmony_ci*/
65123b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetLongClickable(
65223b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool longClickable);
65323b3eb3cSopenharmony_ci
65423b3eb3cSopenharmony_ci/**
65523b3eb3cSopenharmony_ci* @brief Sets whether the element is enabled for an <b>ArkUI_AccessibilityElementInfo</b> object.
65623b3eb3cSopenharmony_ci*
65723b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
65823b3eb3cSopenharmony_ci* @param isEnabled Indicates whether the element is enabled.
65923b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
66023b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
66123b3eb3cSopenharmony_ci* @since 13
66223b3eb3cSopenharmony_ci*/
66323b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetEnabled(
66423b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool isEnabled);
66523b3eb3cSopenharmony_ci
66623b3eb3cSopenharmony_ci/**
66723b3eb3cSopenharmony_ci* @brief Sets whether the element is a password for an <b>ArkUI_AccessibilityElementInfo</b> object.
66823b3eb3cSopenharmony_ci*
66923b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
67023b3eb3cSopenharmony_ci* @param isPassword Indicates whether the element is a password.
67123b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
67223b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
67323b3eb3cSopenharmony_ci* @since 13
67423b3eb3cSopenharmony_ci*/
67523b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetIsPassword(
67623b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool isPassword);
67723b3eb3cSopenharmony_ci
67823b3eb3cSopenharmony_ci/**
67923b3eb3cSopenharmony_ci* @brief Sets whether the element is scrollable for an <b>ArkUI_AccessibilityElementInfo</b> object.
68023b3eb3cSopenharmony_ci*
68123b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
68223b3eb3cSopenharmony_ci* @param scrollable Indicates whether the element is scrollable.
68323b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
68423b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
68523b3eb3cSopenharmony_ci* @since 13
68623b3eb3cSopenharmony_ci*/
68723b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetScrollable(
68823b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool scrollable);
68923b3eb3cSopenharmony_ci
69023b3eb3cSopenharmony_ci/**
69123b3eb3cSopenharmony_ci* @brief Sets whether the element is editable for an <b>ArkUI_AccessibilityElementInfo</b> object.
69223b3eb3cSopenharmony_ci*
69323b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
69423b3eb3cSopenharmony_ci* @param editable Indicates whether the element is editable.
69523b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
69623b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
69723b3eb3cSopenharmony_ci* @since 13
69823b3eb3cSopenharmony_ci*/
69923b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetEditable(
70023b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool editable);
70123b3eb3cSopenharmony_ci
70223b3eb3cSopenharmony_ci/**
70323b3eb3cSopenharmony_ci* @brief Sets whether the element is a hint for an <b>ArkUI_AccessibilityElementInfo</b> object.
70423b3eb3cSopenharmony_ci*
70523b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
70623b3eb3cSopenharmony_ci* @param isHint Indicates whether the element is a hint.
70723b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
70823b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
70923b3eb3cSopenharmony_ci* @since 13
71023b3eb3cSopenharmony_ci*/
71123b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetIsHint(
71223b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool isHint);
71323b3eb3cSopenharmony_ci
71423b3eb3cSopenharmony_ci/**
71523b3eb3cSopenharmony_ci* @brief Sets the range information for an <b>ArkUI_AccessibilityElementInfo</b> object.
71623b3eb3cSopenharmony_ci*
71723b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
71823b3eb3cSopenharmony_ci* @param rangeInfo Indicates the range information.
71923b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
72023b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
72123b3eb3cSopenharmony_ci* @since 13
72223b3eb3cSopenharmony_ci*/
72323b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetRangeInfo(
72423b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRangeInfo* rangeInfo);
72523b3eb3cSopenharmony_ci
72623b3eb3cSopenharmony_ci/**
72723b3eb3cSopenharmony_ci* @brief Sets the grid information for an <b>ArkUI_AccessibilityElementInfo</b> object.
72823b3eb3cSopenharmony_ci*
72923b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
73023b3eb3cSopenharmony_ci* @param gridInfo Indicates the grid information.
73123b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
73223b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
73323b3eb3cSopenharmony_ci* @since 13
73423b3eb3cSopenharmony_ci*/
73523b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetGridInfo(
73623b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridInfo* gridInfo);
73723b3eb3cSopenharmony_ci
73823b3eb3cSopenharmony_ci/**
73923b3eb3cSopenharmony_ci* @brief Sets the grid item for an <b>ArkUI_AccessibilityElementInfo</b> object.
74023b3eb3cSopenharmony_ci*
74123b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
74223b3eb3cSopenharmony_ci* @param gridItem Indicates the grid item.
74323b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
74423b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
74523b3eb3cSopenharmony_ci* @since 13
74623b3eb3cSopenharmony_ci*/
74723b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetGridItemInfo(
74823b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridItemInfo* gridItem);
74923b3eb3cSopenharmony_ci
75023b3eb3cSopenharmony_ci/**
75123b3eb3cSopenharmony_ci* @brief Sets the starting index of the selected text for an <b>ArkUI_AccessibilityElementInfo</b> object.
75223b3eb3cSopenharmony_ci*
75323b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
75423b3eb3cSopenharmony_ci* @param selectedTextStart Indicates the starting index of the selected text
75523b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
75623b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
75723b3eb3cSopenharmony_ci* @since 13
75823b3eb3cSopenharmony_ci*/
75923b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetSelectedTextStart(
76023b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, int32_t selectedTextStart);
76123b3eb3cSopenharmony_ci
76223b3eb3cSopenharmony_ci/**
76323b3eb3cSopenharmony_ci* @brief Sets the end index of the selected text for an <b>ArkUI_AccessibilityElementInfo</b> object.
76423b3eb3cSopenharmony_ci*
76523b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
76623b3eb3cSopenharmony_ci* @param selectedTextEnd Indicates the end index of the selected text
76723b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
76823b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
76923b3eb3cSopenharmony_ci* @since 13
77023b3eb3cSopenharmony_ci*/
77123b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetSelectedTextEnd(
77223b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, int32_t selectedTextEnd);
77323b3eb3cSopenharmony_ci
77423b3eb3cSopenharmony_ci/**
77523b3eb3cSopenharmony_ci* @brief Sets the index of the currently selected item for an <b>ArkUI_AccessibilityElementInfo</b> object.
77623b3eb3cSopenharmony_ci*
77723b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
77823b3eb3cSopenharmony_ci* @param currentItemIndex Indicates the index of the currently selected item.
77923b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
78023b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
78123b3eb3cSopenharmony_ci* @since 13
78223b3eb3cSopenharmony_ci*/
78323b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetCurrentItemIndex(
78423b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, int32_t currentItemIndex);
78523b3eb3cSopenharmony_ci
78623b3eb3cSopenharmony_ci/**
78723b3eb3cSopenharmony_ci* @brief Sets the index of the first item for an <b>ArkUI_AccessibilityElementInfo</b> object.
78823b3eb3cSopenharmony_ci*
78923b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
79023b3eb3cSopenharmony_ci* @param startItemIndex Indicates the index of the first item.
79123b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
79223b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
79323b3eb3cSopenharmony_ci* @since 13
79423b3eb3cSopenharmony_ci*/
79523b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetStartItemIndex(
79623b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, int32_t startItemIndex);
79723b3eb3cSopenharmony_ci
79823b3eb3cSopenharmony_ci/**
79923b3eb3cSopenharmony_ci* @brief Sets the index of the last item for an <b>ArkUI_AccessibilityElementInfo</b> object.
80023b3eb3cSopenharmony_ci*
80123b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
80223b3eb3cSopenharmony_ci* @param endItemIndex Indicates the index of the last item.
80323b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
80423b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
80523b3eb3cSopenharmony_ci* @since 13
80623b3eb3cSopenharmony_ci*/
80723b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetEndItemIndex(
80823b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, int32_t endItemIndex);
80923b3eb3cSopenharmony_ci
81023b3eb3cSopenharmony_ci/**
81123b3eb3cSopenharmony_ci* @brief Sets the number of items for an <b>ArkUI_AccessibilityElementInfo</b> object.
81223b3eb3cSopenharmony_ci*
81323b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
81423b3eb3cSopenharmony_ci* @param itemCount Indicates the number of items.
81523b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
81623b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
81723b3eb3cSopenharmony_ci* @since 13
81823b3eb3cSopenharmony_ci*/
81923b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetItemCount(
82023b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, int32_t itemCount);
82123b3eb3cSopenharmony_ci
82223b3eb3cSopenharmony_ci/**
82323b3eb3cSopenharmony_ci* @brief Sets the offset for an <b>ArkUI_AccessibilityElementInfo</b> object.
82423b3eb3cSopenharmony_ci*
82523b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
82623b3eb3cSopenharmony_ci* @param offset Indicates the scroll pixel offset relative to the top of the element.
82723b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
82823b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
82923b3eb3cSopenharmony_ci* @since 13
83023b3eb3cSopenharmony_ci*/
83123b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityOffset(
83223b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, int32_t offset);
83323b3eb3cSopenharmony_ci
83423b3eb3cSopenharmony_ci/**
83523b3eb3cSopenharmony_ci* @brief Sets the accessibility group for an <b>ArkUI_AccessibilityElementInfo</b> object.
83623b3eb3cSopenharmony_ci*
83723b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
83823b3eb3cSopenharmony_ci* @param accessibilityGroup Indicates the accessibility group.
83923b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
84023b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
84123b3eb3cSopenharmony_ci* @since 13
84223b3eb3cSopenharmony_ci*/
84323b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityGroup(
84423b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityGroup);
84523b3eb3cSopenharmony_ci
84623b3eb3cSopenharmony_ci/**
84723b3eb3cSopenharmony_ci* @brief Sets the accessibility level for an <b>ArkUI_AccessibilityElementInfo</b> object.
84823b3eb3cSopenharmony_ci*
84923b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
85023b3eb3cSopenharmony_ci* @param accessibilityLevel Indicates the accessibility level.
85123b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
85223b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
85323b3eb3cSopenharmony_ci* @since 13
85423b3eb3cSopenharmony_ci*/
85523b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityLevel(
85623b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityLevel);
85723b3eb3cSopenharmony_ci
85823b3eb3cSopenharmony_ci/**
85923b3eb3cSopenharmony_ci* @brief Sets the z-index for an <b>ArkUI_AccessibilityElementInfo</b> object.
86023b3eb3cSopenharmony_ci*
86123b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
86223b3eb3cSopenharmony_ci* @param zIndex Indicates the z-index value.
86323b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
86423b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
86523b3eb3cSopenharmony_ci* @since 13
86623b3eb3cSopenharmony_ci*/
86723b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetZIndex(
86823b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, int32_t zIndex);
86923b3eb3cSopenharmony_ci
87023b3eb3cSopenharmony_ci/**
87123b3eb3cSopenharmony_ci* @brief Sets the opacity for an <b>ArkUI_AccessibilityElementInfo</b> object.
87223b3eb3cSopenharmony_ci*
87323b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
87423b3eb3cSopenharmony_ci* @param opacity Indicates the opacity.
87523b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
87623b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
87723b3eb3cSopenharmony_ci* @since 13
87823b3eb3cSopenharmony_ci*/
87923b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityOpacity(
88023b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, float opacity);
88123b3eb3cSopenharmony_ci
88223b3eb3cSopenharmony_ci/**
88323b3eb3cSopenharmony_ci* @brief Sets the background color for an <b>ArkUI_AccessibilityElementInfo</b> object.
88423b3eb3cSopenharmony_ci*
88523b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
88623b3eb3cSopenharmony_ci* @param backgroundColor Indicates the background color.
88723b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
88823b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
88923b3eb3cSopenharmony_ci* @since 13
89023b3eb3cSopenharmony_ci*/
89123b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetBackgroundColor(
89223b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundColor);
89323b3eb3cSopenharmony_ci
89423b3eb3cSopenharmony_ci/**
89523b3eb3cSopenharmony_ci* @brief Sets the background image for an <b>ArkUI_AccessibilityElementInfo</b> object.
89623b3eb3cSopenharmony_ci*
89723b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
89823b3eb3cSopenharmony_ci* @param backgroundImage Indicates the backgroundImage.
89923b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
90023b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
90123b3eb3cSopenharmony_ci* @since 13
90223b3eb3cSopenharmony_ci*/
90323b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetBackgroundImage(
90423b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundImage);
90523b3eb3cSopenharmony_ci
90623b3eb3cSopenharmony_ci/**
90723b3eb3cSopenharmony_ci* @brief Sets the blur effect for an <b>ArkUI_AccessibilityElementInfo</b> object.
90823b3eb3cSopenharmony_ci*
90923b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
91023b3eb3cSopenharmony_ci* @param blur Indicates the blur effect.
91123b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
91223b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
91323b3eb3cSopenharmony_ci* @since 13
91423b3eb3cSopenharmony_ci*/
91523b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetBlur(
91623b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, const char* blur);
91723b3eb3cSopenharmony_ci
91823b3eb3cSopenharmony_ci/**
91923b3eb3cSopenharmony_ci* @brief Sets the hit test behavior for an <b>ArkUI_AccessibilityElementInfo</b> object.
92023b3eb3cSopenharmony_ci*
92123b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
92223b3eb3cSopenharmony_ci* @param hitTestBehavior Indicates the hit test behavior.
92323b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
92423b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
92523b3eb3cSopenharmony_ci* @since 13
92623b3eb3cSopenharmony_ci*/
92723b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityElementInfoSetHitTestBehavior(
92823b3eb3cSopenharmony_ci    ArkUI_AccessibilityElementInfo* elementInfo, const char* hitTestBehavior);
92923b3eb3cSopenharmony_ci
93023b3eb3cSopenharmony_ci/**
93123b3eb3cSopenharmony_ci * @brief Creates an <b>ArkUI_AccessibilityElementInfo</b> object.
93223b3eb3cSopenharmony_ci *
93323b3eb3cSopenharmony_ci * @return Returns the <b>ArkUI_AccessibilityElementInfo</b> object, or NULL if it fails to create.
93423b3eb3cSopenharmony_ci *         The possible reason for failure is that the memory error occurred during object creation.
93523b3eb3cSopenharmony_ci * @since 13
93623b3eb3cSopenharmony_ci * @version 1.0
93723b3eb3cSopenharmony_ci */
93823b3eb3cSopenharmony_ciArkUI_AccessibilityElementInfo* OH_ArkUI_CreateAccessibilityElementInfo(void);
93923b3eb3cSopenharmony_ci
94023b3eb3cSopenharmony_ci/**
94123b3eb3cSopenharmony_ci * @brief Destroys an <b>ArkUI_AccessibilityElementInfo</b> object.
94223b3eb3cSopenharmony_ci *
94323b3eb3cSopenharmony_ci * @param elementInfo Indicates the pointer to the <b>ArkUI_AccessibilityElementInfo</b> object to destroy.
94423b3eb3cSopenharmony_ci * @since 13
94523b3eb3cSopenharmony_ci * @version 1.0
94623b3eb3cSopenharmony_ci */
94723b3eb3cSopenharmony_civoid OH_ArkUI_DestoryAccessibilityElementInfo(ArkUI_AccessibilityElementInfo* elementInfo);
94823b3eb3cSopenharmony_ci
94923b3eb3cSopenharmony_ci/**
95023b3eb3cSopenharmony_ci * @brief Creates an <b>ArkUI_AccessibilityEventInfo</b> object.
95123b3eb3cSopenharmony_ci *
95223b3eb3cSopenharmony_ci * @return Returns the <b>ArkUI_AccessibilityEventInfo</b> object, or NULL if it fails to create.
95323b3eb3cSopenharmony_ci *         The possible reason for failure is that the memory error occurred during object creation.
95423b3eb3cSopenharmony_ci * @since 13
95523b3eb3cSopenharmony_ci */
95623b3eb3cSopenharmony_ciArkUI_AccessibilityEventInfo* OH_ArkUI_CreateAccessibilityEventInfo(void);
95723b3eb3cSopenharmony_ci
95823b3eb3cSopenharmony_ci/**
95923b3eb3cSopenharmony_ci * @brief Destroys an <b>ArkUI_AccessibilityEventInfo</b> object.
96023b3eb3cSopenharmony_ci *
96123b3eb3cSopenharmony_ci * @param eventInfo Indicates the pointer to the <b>ArkUI_AccessibilityEventInfo</b> object to destroy.
96223b3eb3cSopenharmony_ci * @since 13
96323b3eb3cSopenharmony_ci */
96423b3eb3cSopenharmony_civoid OH_ArkUI_DestoryAccessibilityEventInfo(ArkUI_AccessibilityEventInfo* eventInfo);
96523b3eb3cSopenharmony_ci
96623b3eb3cSopenharmony_ci/**
96723b3eb3cSopenharmony_ci* @brief Sets the event type for an <b>ArkUI_AccessibilityEventInfo</b> object.
96823b3eb3cSopenharmony_ci*
96923b3eb3cSopenharmony_ci* @param eventInfo Indicates the pointer to an <b>ArkUI_AccessibilityEventInfo</b> object.
97023b3eb3cSopenharmony_ci* @param eventType Indicates the event type.
97123b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
97223b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
97323b3eb3cSopenharmony_ci* @since 13
97423b3eb3cSopenharmony_ci*/
97523b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityEventSetEventType(
97623b3eb3cSopenharmony_ci    ArkUI_AccessibilityEventInfo* eventInfo,  ArkUI_AccessibilityEventType eventType);
97723b3eb3cSopenharmony_ci
97823b3eb3cSopenharmony_ci/**
97923b3eb3cSopenharmony_ci* @brief Sets the text announced for accessibility for an <b>ArkUI_AccessibilityEventInfo</b> object.
98023b3eb3cSopenharmony_ci*
98123b3eb3cSopenharmony_ci* @param eventInfo Indicates the pointer to an <b>ArkUI_AccessibilityEventInfo</b> object.
98223b3eb3cSopenharmony_ci* @param textAnnouncedForAccessibility Indicates the text announced for accessibility.
98323b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
98423b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
98523b3eb3cSopenharmony_ci* @since 13
98623b3eb3cSopenharmony_ci*/
98723b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityEventSetTextAnnouncedForAccessibility(
98823b3eb3cSopenharmony_ci    ArkUI_AccessibilityEventInfo* eventInfo,  const char* textAnnouncedForAccessibility);
98923b3eb3cSopenharmony_ci
99023b3eb3cSopenharmony_ci/**
99123b3eb3cSopenharmony_ci* @brief Sets the request focus ID for an <b>ArkUI_AccessibilityEventInfo</b> object.
99223b3eb3cSopenharmony_ci*
99323b3eb3cSopenharmony_ci* @param eventInfo Indicates the pointer to an <b>ArkUI_AccessibilityEventInfo</b> object.
99423b3eb3cSopenharmony_ci* @param requestFocusId Indicates the request focus ID.
99523b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
99623b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
99723b3eb3cSopenharmony_ci* @since 13
99823b3eb3cSopenharmony_ci*/
99923b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityEventSetRequestFocusId(
100023b3eb3cSopenharmony_ci    ArkUI_AccessibilityEventInfo* eventInfo,  int32_t requestFocusId);
100123b3eb3cSopenharmony_ci
100223b3eb3cSopenharmony_ci/**
100323b3eb3cSopenharmony_ci* @brief Sets the element information for an <b>ArkUI_AccessibilityEventInfo</b> object.
100423b3eb3cSopenharmony_ci*
100523b3eb3cSopenharmony_ci* @param eventInfo Indicates the pointer to an <b>ArkUI_AccessibilityEventInfo</b> object.
100623b3eb3cSopenharmony_ci* @param elementInfo Indicates the pointer to an <b>ArkUI_AccessibilityElementInfo</b> object.
100723b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
100823b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
100923b3eb3cSopenharmony_ci* @since 13
101023b3eb3cSopenharmony_ci*/
101123b3eb3cSopenharmony_ciint32_t OH_ArkUI_AccessibilityEventSetElementInfo(
101223b3eb3cSopenharmony_ci    ArkUI_AccessibilityEventInfo* eventInfo,  ArkUI_AccessibilityElementInfo* elementInfo);
101323b3eb3cSopenharmony_ci
101423b3eb3cSopenharmony_ci/**
101523b3eb3cSopenharmony_ci* @brief Obtains the value of a key from an <b>ArkUI_AccessibilityActionArguments</b> object.
101623b3eb3cSopenharmony_ci*
101723b3eb3cSopenharmony_ci* @param arguments Indicates the pointer to an <b>ArkUI_AccessibilityActionArguments</b> object.
101823b3eb3cSopenharmony_ci* @param key Indicates the key.
101923b3eb3cSopenharmony_ci* @param value Indicates the value.
102023b3eb3cSopenharmony_ci* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful.
102123b3eb3cSopenharmony_ci*         Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect.
102223b3eb3cSopenharmony_ci* @since 13
102323b3eb3cSopenharmony_ci*/
102423b3eb3cSopenharmony_ciint32_t OH_ArkUI_FindAccessibilityActionArgumentByKey(
102523b3eb3cSopenharmony_ci    ArkUI_AccessibilityActionArguments* arguments, const char* key, char** value);
102623b3eb3cSopenharmony_ci#ifdef __cplusplus
102723b3eb3cSopenharmony_ci};
102823b3eb3cSopenharmony_ci#endif
102923b3eb3cSopenharmony_ci#endif // _NATIVE_INTERFACE_ACCESSIBILITY_H
1030