# native_interface_accessibility.h

#### 概述

声明用于访问Native Accessibility的API，提供无障碍相关能力。

**引用文件：** <arkui/native\_interface\_accessibility.h>

**库：** libace\_ndk.z.so

**系统能力：** SystemCapability.ArkUI.ArkUI.Full

**起始版本：** 13

**相关模块：** ArkUI\_Accessibility

**相关示例：** AccessibilityCapi

#### 汇总

#### 结构体

| 名称 | typedef关键字 | 描述 |
| --- | --- | --- |
| ArkUI_AccessibleAction | ArkUI_AccessibleAction | 无障碍操作内容结构。 |
| ArkUI_AccessibleRect | ArkUI_AccessibleRect | 节点所在坐标位置。 |
| ArkUI_AccessibleRangeInfo | ArkUI_AccessibleRangeInfo | 用于特定组件设置组件的当前值、最大值、最小值，如Slider、Rating、Progress组件。 |
| ArkUI_AccessibleGridInfo | ArkUI_AccessibleGridInfo | 用于特定组件设置组件的行数、列数以及选择模式，如List、Flex、Select、Swiper组件。 |
| ArkUI_AccessibleGridItemInfo | ArkUI_AccessibleGridItemInfo | 用于特定组件设置组件的属性值，如List、Flex、Select、Swiper组件。 |
| ArkUI_AccessibilityProviderCallbacks | ArkUI_AccessibilityProviderCallbacks | 第三方操作provider回调函数结构定义，需要第三方平台实现的相关函数，通过OH_ArkUI_AccessibilityProviderRegisterCallback注册到系统侧。 |
| ArkUI_AccessibilityProviderCallbacksWithInstance | ArkUI_AccessibilityProviderCallbacksWithInstance | 适配多实例场景第三方操作provider回调函数结构定义，需要第三方平台实现的相关函数，通过OH_ArkUI_AccessibilityProviderRegisterCallbackWithInstance注册到系统侧。 |
| ArkUI_AccessibilityElementInfo | ArkUI_AccessibilityElementInfo | 无障碍节点信息，用于向无障碍服务、无障碍辅助应用传递节点信息。 |
| ArkUI_AccessibilityEventInfo | ArkUI_AccessibilityEventInfo | 无障碍事件信息。当无障碍服务或辅助应用要求控件执行操作后，需要发送执行成功事件。控件自身交互需求要同步状态给无障碍服务或辅助应用时，也需要主动发送事件。 |
| ArkUI_AccessibilityProvider | ArkUI_AccessibilityProvider | 该结构体为第三方操作提供者，用于承载回调函数的实现。 |
| ArkUI_AccessibilityActionArguments | ArkUI_AccessibilityActionArguments | 用于设置无障碍操作的具体参数。 |
| ArkUI_AccessibilityElementInfoList | ArkUI_AccessibilityElementInfoList | 提供封装的ArkUI_AccessibilityElementInfo的List实例。 |
| ArkUI_Node* | ArkUI_NodeHandle | 定义ArkUI native组件实例对象指针。 起始版本： 23 |

#### 枚举

| 名称 | typedef关键字 | 描述 |
| --- | --- | --- |
| ArkUI_Accessibility_ActionType | ArkUI_Accessibility_ActionType | Accessibility操作类型的枚举。 |
| ArkUI_AccessibilityEventType | ArkUI_AccessibilityEventType | Accessibility事件类型的枚举。 |
| ArkUI_AcessbilityErrorCode | ArkUI_AcessbilityErrorCode | Accessibility错误代码状态的枚举。 |
| ArkUI_AccessibilitySearchMode | ArkUI_AccessibilitySearchMode | Accessibility搜索类型的枚举。 |
| ArkUI_AccessibilityFocusType | ArkUI_AccessibilityFocusType | Accessibility焦点类型的枚举。 |
| ArkUI_AccessibilityFocusMoveDirection | ArkUI_AccessibilityFocusMoveDirection | Accessibility焦点移动方向的枚举。 |

#### 函数

| 名称 | 描述 |
| --- | --- |
| int32_t OH_ArkUI_AccessibilityProviderRegisterCallback(ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityProviderCallbacks* callbacks) | 注册回调函数。 |
| int32_t OH_ArkUI_AccessibilityProviderRegisterCallbackWithInstance(const char* instanceId,ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityProviderCallbacksWithInstance* callbacks) | 无障碍多实例场景第三方平台将回调函数注册到系统侧。 |
| void OH_ArkUI_SendAccessibilityAsyncEvent(ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityEventInfo* eventInfo,void (*callback)(int32_t errorCode)) | 主动上报事件接口，通知无障碍服务。 |
| ArkUI_AccessibilityElementInfo* OH_ArkUI_AddAndGetAccessibilityElementInfo(ArkUI_AccessibilityElementInfoList* list) | 在指定的list中增加element成员，并返回element结构。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetElementId(ArkUI_AccessibilityElementInfo* elementInfo, int32_t elementId) | 为ArkUI_AccessibilityElementInfo设置无障碍元素的唯一标识（elementId）。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetParentId(ArkUI_AccessibilityElementInfo* elementInfo, int32_t parentId) | 为ArkUI_AccessibilityElementInfo设置父节点的无障碍编号（parentId）。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetComponentType(ArkUI_AccessibilityElementInfo* elementInfo, const char* componentType) | 为ArkUI_AccessibilityElementInfo设置组件类型。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetContents(ArkUI_AccessibilityElementInfo* elementInfo, const char* contents) | 为ArkUI_AccessibilityElementInfo设置组件文本内容。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetHintText(ArkUI_AccessibilityElementInfo* elementInfo, const char* hintText) | 为ArkUI_AccessibilityElementInfo设置提示文本。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityText(ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityText) | 为ArkUI_AccessibilityElementInfo设置无障碍专用的替代文本。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityDescription(ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityDescription) | 为ArkUI_AccessibilityElementInfo设置无障碍描述信息。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetChildNodeIds(ArkUI_AccessibilityElementInfo* elementInfo, int32_t childCount, int64_t* childNodeIds) | 为ArkUI_AccessibilityElementInfo设置孩子节点数量和孩子节点ID集合。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetOperationActions(ArkUI_AccessibilityElementInfo* elementInfo,int32_t operationCount, ArkUI_AccessibleAction* operationActions) | 为ArkUI_AccessibilityElementInfo设置组件支持的无障碍操作列表。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetScreenRect(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRect* screenRect) | 为ArkUI_AccessibilityElementInfo设置组件在屏幕上的矩形区域。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetCheckable(ArkUI_AccessibilityElementInfo* elementInfo, bool checkable) | 为ArkUI_AccessibilityElementInfo设置是否可勾选。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetChecked(ArkUI_AccessibilityElementInfo* elementInfo, bool checked) | 为ArkUI_AccessibilityElementInfo设置当前的勾选状态。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetFocusable(ArkUI_AccessibilityElementInfo* elementInfo, bool focusable) | 为ArkUI_AccessibilityElementInfo设置是否可聚焦。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetFocused(ArkUI_AccessibilityElementInfo* elementInfo, bool isFocused) | 为ArkUI_AccessibilityElementInfo设置是否已聚焦。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetVisible(ArkUI_AccessibilityElementInfo* elementInfo, bool isVisible) | 为ArkUI_AccessibilityElementInfo设置组件是否在屏幕上可见。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityFocused(ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityFocused) | 为ArkUI_AccessibilityElementInfo设置当前的无障碍辅助焦点状态。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetSelected(ArkUI_AccessibilityElementInfo* elementInfo, bool selected) | 为ArkUI_AccessibilityElementInfo设置是否处于选中状态。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetClickable(ArkUI_AccessibilityElementInfo* elementInfo, bool clickable) | 为ArkUI_AccessibilityElementInfo设置是否支持点击操作。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetLongClickable(ArkUI_AccessibilityElementInfo* elementInfo, bool longClickable) | 为ArkUI_AccessibilityElementInfo设置是否支持长按操作。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetEnabled(ArkUI_AccessibilityElementInfo* elementInfo, bool isEnabled) | 为ArkUI_AccessibilityElementInfo设置组件是否处于启用状态。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetIsPassword(ArkUI_AccessibilityElementInfo* elementInfo, bool isPassword) | 为ArkUI_AccessibilityElementInfo设置是否为密码输入框。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetScrollable(ArkUI_AccessibilityElementInfo* elementInfo, bool scrollable) | 为ArkUI_AccessibilityElementInfo设置是否支持滚动操作。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetEditable(ArkUI_AccessibilityElementInfo* elementInfo, bool editable) | 为ArkUI_AccessibilityElementInfo设置文本内容是否可编辑。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetIsHint(ArkUI_AccessibilityElementInfo* elementInfo, bool isHint) | 为ArkUI_AccessibilityElementInfo设置是否处于提示文本状态。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetRangeInfo(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRangeInfo* rangeInfo) | 为ArkUI_AccessibilityElementInfo设置范围值信息。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetGridInfo(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridInfo* gridInfo) | 为ArkUI_AccessibilityElementInfo设置网格信息。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetGridItemInfo(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridItemInfo* gridItem) | 为ArkUI_AccessibilityElementInfo设置网格容器中子项的属性信息。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetSelectedTextStart(ArkUI_AccessibilityElementInfo* elementInfo, int32_t selectedTextStart) | 为ArkUI_AccessibilityElementInfo设置选中文本的起始位置。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetSelectedTextEnd(ArkUI_AccessibilityElementInfo* elementInfo, int32_t selectedTextEnd) | 为ArkUI_AccessibilityElementInfo设置选中文本的结束位置。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetCurrentItemIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t currentItemIndex) | 为ArkUI_AccessibilityElementInfo设置当前获焦或高亮子项的位置索引。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetStartItemIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t startItemIndex) | 为ArkUI_AccessibilityElementInfo设置当前屏幕可见区域中第一个元素的位置索引。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetEndItemIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t endItemIndex) | 为ArkUI_AccessibilityElementInfo设置当前屏幕可见区域中最后一个元素的位置索引。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetItemCount(ArkUI_AccessibilityElementInfo* elementInfo, int32_t itemCount) | 为ArkUI_AccessibilityElementInfo设置容器中子项的总数。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityOffset(ArkUI_AccessibilityElementInfo* elementInfo, int32_t offset) | 为ArkUI_AccessibilityElementInfo设置滚动偏移量。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityGroup(ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityGroup) | 为ArkUI_AccessibilityElementInfo设置无障碍分组。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityLevel(ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityLevel) | 为ArkUI_AccessibilityElementInfo设置无障碍重要性级别。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetZIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t zIndex) | 为ArkUI_AccessibilityElementInfo设置组件的Z序。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityOpacity(ArkUI_AccessibilityElementInfo* elementInfo, float opacity) | 为ArkUI_AccessibilityElementInfo设置透明度。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetBackgroundColor(ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundColor) | 为ArkUI_AccessibilityElementInfo设置背景色。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetBackgroundImage(ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundImage) | 为ArkUI_AccessibilityElementInfo设置背景图片。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetBlur(ArkUI_AccessibilityElementInfo* elementInfo, const char* blur) | 为ArkUI_AccessibilityElementInfo设置模糊效果。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetHitTestBehavior(ArkUI_AccessibilityElementInfo* elementInfo, const char* hitTestBehavior) | 为ArkUI_AccessibilityElementInfo设置触摸测试的响应逻辑及节点阻塞规则。 |
| int32_t OH_ArkUI_AccessibilityElementInfoSetComponentIdentifier(ArkUI_AccessibilityElementInfo* elementInfo, const char* identifier) | 为无障碍节点信息ArkUI_AccessibilityElementInfo设置组件标识，可用于自动化测试识别特定组件。 |
| ArkUI_AccessibilityElementInfo* OH_ArkUI_CreateAccessibilityElementInfo(void) | 创建一个ArkUI_AccessibilityElementInfo对象，创建后需要调用OH_ArkUI_DestoryAccessibilityElementInfo释放。 |
| void OH_ArkUI_DestoryAccessibilityElementInfo(ArkUI_AccessibilityElementInfo* elementInfo) | 销毁一个ArkUI_AccessibilityElementInfo对象。 |
| ArkUI_AccessibilityEventInfo* OH_ArkUI_CreateAccessibilityEventInfo(void) | 创建一个ArkUI_AccessibilityEventInfo对象，创建后需要调用OH_ArkUI_DestoryAccessibilityEventInfo释放。 |
| void OH_ArkUI_DestoryAccessibilityEventInfo(ArkUI_AccessibilityEventInfo* eventInfo) | 销毁ArkUI_AccessibilityEventInfo对象。 |
| int32_t OH_ArkUI_AccessibilityEventSetEventType(ArkUI_AccessibilityEventInfo* eventInfo, ArkUI_AccessibilityEventType eventType) | 为ArkUI_AccessibilityEventInfo设置事件类型。 |
| int32_t OH_ArkUI_AccessibilityEventSetTextAnnouncedForAccessibility(ArkUI_AccessibilityEventInfo* eventInfo, const char* textAnnouncedForAccessibility) | 为ArkUI_AccessibilityEventInfo设置主动播报的内容。 |
| int32_t OH_ArkUI_AccessibilityEventSetRequestFocusId(ArkUI_AccessibilityEventInfo* eventInfo, int32_t requestFocusId) | 为ArkUI_AccessibilityEventInfo设置请求焦点id。 |
| int32_t OH_ArkUI_AccessibilityEventSetElementInfo(ArkUI_AccessibilityEventInfo* eventInfo, ArkUI_AccessibilityElementInfo* elementInfo) | 为ArkUI_AccessibilityEventInfo设置elementInfo。 |
| int32_t OH_ArkUI_FindAccessibilityActionArgumentByKey(ArkUI_AccessibilityActionArguments* arguments, const char* key, char** value) | 获取ArkUI_AccessibilityActionArguments中指定key的value值。 |
| int32_t OH_ArkUI_NativeModule_GetNativeAccessibilityProvider(ArkUI_NodeHandle* node, ArkUI_AccessibilityProvider** provider) | 获取指向ArkUI_AccessibilityProvider对象指针的二级指针变量。 其中ArkUI_AccessibilityProvider对象与传入的ArkUI_NodeHandle的实例一一对应。 三方框架将自身UI组件映射为ARKUI_NODE_CUSTOM类型的RenderNode并得到ArkUI_NodeHandle。 再调用OH_ArkUI_NativeModule_GetNativeAccessibilityProvider接口获取ArkUI_AccessibilityProvider指针并注册无障碍回调。 最终实现ArkUI无障碍服务对三方框架UI的识别与事件触发。 仅当三方框架将自身UI组件映射为ARKUI_NODE_CUSTOM的RenderNode，该接口才会生效，否则会报错误码。 本接口通过RenderNode实现三方框架的接入，仅支持ARKUI_NODE_CUSTOM接入无障碍服务，可以实现无障碍控件树获取能力。 不支持多线程并发，由三方框架保证调用时的线程安全。 |

#### 枚举类型说明

#### ArkUI\_Accessibility\_ActionType

```
enum ArkUI_Accessibility_ActionType
```

**描述：**

Accessibility操作类型的枚举。

**起始版本：** 13

| 枚举项 | 描述 |
| --- | --- |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_INVALID = 0 | 无效值。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CLICK = 0x00000010 | 收到事件后，组件需要对点击做出响应。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_LONG_CLICK = 0x00000020 | 收到事件后，组件需要对长点击做出响应。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_GAIN_ACCESSIBILITY_FOCUS = 0x00000040 | 表示获取辅助功能焦点的操作，特定组件已聚焦。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080 | 表示清除辅助功能焦点的操作。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SCROLL_FORWARD = 0x00000100 | 滚动组件响应向前滚动动作。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SCROLL_BACKWARD = 0x00000200 | 滚动组件响应反向滚动操作。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_COPY = 0x00000400 | 复制文本组件的选定内容。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_PASTE = 0x00000800 | 粘贴文本组件的选定内容。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CUT = 0x00001000 | 剪切文本组件的选定内容。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SELECT_TEXT = 0x00002000 | 针对文本组件进行选择操作。结合ArkUI_AccessibilityActionArguments使用，配置selectTextBegin（表示选择起始位置），selectTextEnd（表示选择结束位置），selectTextInForWard（true表示为前光标，false表示为后光标）进入编辑区选择一段文本内容。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SET_TEXT = 0x00004000 | 设置文本组件的文本内容。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SET_CURSOR_POSITION = 0x00100000 | 针对文本组件设置光标位置，结合ArkUI_AccessibilityActionArguments使用，配置可输入文本控件的光标位置。 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_NEXT_HTML_ITEM = 0x02000000 | 焦点移动操作中支持查找下一个焦点。此处的HTML并不代表网页元素，仅用于表示具有可自行查找下一个可见聚焦组件的能力，与Web支持的能力相似。实现findNextFocusAccessibilityNode的能力才可配置该属性。 起始版本： 15 |
| ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_PREVIOUS_HTML_ITEM = 0x04000000 | 焦点移动操作中支持查找上一个焦点。此处的HTML并不代表网页元素，仅用于表示具有可自行查找上一个可见聚焦组件的能力，与Web支持的能力相似。实现findNextFocusAccessibilityNode的能力才可配置该属性。 起始版本： 15 |

#### ArkUI\_AccessibilityEventType

```
enum ArkUI_AccessibilityEventType
```

**描述：**

Accessibility事件类型的枚举。

**起始版本：** 13

| 枚举项 | 描述 |
| --- | --- |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_INVALID = 0 | 无效值。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_CLICKED = 0x00000001 | 点击事件，在UI组件响应后发送。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_LONG_CLICKED = 0x00000002 | 长点击事件，在UI组件响应后发送。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_SELECTED = 0x00000004 | 被选中事件，控件响应完成后发送。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_TEXT_UPDATE = 0x00000010 | 文本更新事件，需要在文本更新时发送。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_STATE_UPDATE = 0x00000020 | 页面更新事件，当页面跳转、切换、大小更改或移动时发送。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_CONTENT_UPDATE = 0x00000800 | 页面内容发生变化时需要发送事件。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_SCROLLED = 0x000001000 | scrolled事件，当可滚动的组件上发生滚动事件时，会发送此事件。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_ACCESSIBILITY_FOCUSED = 0x00008000 | Accessibility焦点事件，在UI组件响应后发送。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_ACCESSIBILITY_FOCUS_CLEARED = 0x00010000 | Accessibility焦点清除事件，在UI组件响应后发送。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_REQUEST_ACCESSIBILITY_FOCUS = 0x02000000 | 主动请求指定节点聚焦。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_OPEN = 0x20000000 | UI组件上报页面打开事件。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_CLOSE = 0x08000000 | UI组件上报页面关闭事件。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_ANNOUNCE_FOR_ACCESSIBILITY = 0x10000000 | 广播Accessibility事件，请求主动播放指定的内容事件。 |
| ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_FOCUS_NODE_UPDATE = 0x10000001 | 焦点更新事件，用于焦点更新场景。 |

#### ArkUI\_AcessbilityErrorCode

```
enum ArkUI_AcessbilityErrorCode
```

**描述：**

Accessibility错误代码状态的枚举。

**起始版本：** 13

| 枚举项 | 描述 |
| --- | --- |
| ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL = 0 | 成功。 |
| ARKUI_ACCESSIBILITY_NATIVE_RESULT_FAILED = -1 | 失败。 |
| ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER = -2 | 无效参数。 |
| ARKUI_ACCESSIBILITY_NATIVE_RESULT_OUT_OF_MEMORY = -3 | 内存不足。 |

#### ArkUI\_AccessibilitySearchMode

```
enum ArkUI_AccessibilitySearchMode
```

**描述：**

Accessibility搜索类型的枚举。

**起始版本：** 13

| 枚举项 | 描述 |
| --- | --- |
| ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_CURRENT = 0 | 查询当前节点。 |
| ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_PREDECESSORS = 1 << 0 | 查询父节点。 |
| ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_SIBLINGS = 1 << 1 | 查询兄弟节点。 |
| ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_CHILDREN = 1 << 2 | 查询下一层孩子节点。 |
| ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_RECURSIVE_CHILDREN = 1 << 3 | 查询所有孩子节点。 |

#### ArkUI\_AccessibilityFocusType

```
enum ArkUI_AccessibilityFocusType
```

**描述：**

Accessibility焦点类型的枚举。

**起始版本：** 13

| 枚举项 | 描述 |
| --- | --- |
| ARKUI_ACCESSIBILITY_NATIVE_FOCUS_TYPE_INVALID = -1 | 无效值。 |
| ARKUI_ACCESSIBILITY_NATIVE_FOCUS_TYPE_INPUT = 1 << 0 | 输入焦点类型。 |
| ARKUI_ACCESSIBILITY_NATIVE_FOCUS_TYPE_ACCESSIBILITY = 1 << 1 | Accessibility焦点类型。 |

#### ArkUI\_AccessibilityFocusMoveDirection

```
enum ArkUI_AccessibilityFocusMoveDirection
```

**描述：**

Accessibility焦点移动方向的枚举。

**起始版本：** 13

| 枚举项 | 描述 |
| --- | --- |
| ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_INVALID = 0 | 无效值。 |
| ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_UP = 0x00000001 | 焦点向上移动。 |
| ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_DOWN = 0x00000002 | 焦点向下移动。 |
| ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_LEFT = 0x00000004 | 焦点向左移动。 |
| ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_RIGHT = 0x00000008 | 焦点向右移动。 |
| ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_FORWARD = 0x00000010 | 焦点向下一个可聚焦节点移动，基于查询请求中指定的基准节点。 |
| ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_BACKWARD = 0x00000020 | 焦点向上一个可聚焦节点移动，基于查询请求中指定的基准节点。 |

#### 函数说明

#### OH\_ArkUI\_AccessibilityProviderRegisterCallback()

```
int32_t OH_ArkUI_AccessibilityProviderRegisterCallback(ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityProviderCallbacks* callbacks)
```

**描述：**

注册回调函数。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityProvider* provider | 表示指向ArkUI_AccessibilityProvider实例的指针。 |
| ArkUI_AccessibilityProviderCallbacks* callbacks | 表示指向ArkUI_AccessibilityProviderCallbacks实例的指针。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 如果操作成功，则返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 如果参数错误，则返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityProviderRegisterCallbackWithInstance()

```
int32_t OH_ArkUI_AccessibilityProviderRegisterCallbackWithInstance(const char* instanceId, ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityProviderCallbacksWithInstance* callbacks)
```

**描述：**

无障碍多实例场景第三方平台将回调函数注册到系统侧。

**起始版本：** 15

**参数：**

| 参数项 | 描述 |
| --- | --- |
| const char* instanceId | 第三方平台接入的实例ID，用于区分多实例场景中不同的第三方实例，ID由第三方平台指定与维护。 |
| ArkUI_AccessibilityProvider* provider | 第三方平台接入provider句柄。 |
| ArkUI_AccessibilityProviderCallbacksWithInstance* callbacks | 表示指向ArkUI_AccessibilityProviderCallbacksWithInstance实例的指针。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_SendAccessibilityAsyncEvent()

```
void OH_ArkUI_SendAccessibilityAsyncEvent(ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityEventInfo* eventInfo, void (*callback)(int32_t errorCode))
```

**描述：**

主动上报事件接口，通知无障碍服务。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityProvider* provider | 第三方平台接入provider句柄。 |
| ArkUI_AccessibilityEventInfo* eventInfo | 表示指向Accessibility事件信息的指针。 |
| void (*callback)(int32_t errorCode) | 表示指向SendAccessibilityAsyncEvent回调。 |

#### OH\_ArkUI\_AddAndGetAccessibilityElementInfo()

```
ArkUI_AccessibilityElementInfo* OH_ArkUI_AddAndGetAccessibilityElementInfo(ArkUI_AccessibilityElementInfoList* list)
```

**描述：**

在指定的list中增加element成员，并返回element结构。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfoList* list | 指定的ArkUI_AccessibilityElementInfoList结构，新创建的ElementInfo成员加入该list后返回给函数调用方。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* | 返回创建完成的ArkUI_AccessibilityElementInfo结构指针；如果创建失败，则返回NULL。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetElementId()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetElementId(ArkUI_AccessibilityElementInfo* elementInfo, int32_t elementId)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置无障碍元素的唯一标识（elementId）。

*   elementId是无障碍组件树中节点的唯一标识，用于无障碍服务定位和引用特定节点。无障碍服务查找节点信息、执行操作和移动焦点时均依赖此标识。
*   三方框架需保证同一组件树中各节点的elementId全局唯一，否则可能导致无障碍服务无法正确查找节点。
*   elementId的值由三方框架自行分配和维护，建议使用递增整数或稳定的组件标识。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | ArkUI_AccessibilityElementInfo指针。 |
| int32_t elementId | 无障碍元素的唯一编号，在当前组件树中必须唯一。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetParentId()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetParentId(ArkUI_AccessibilityElementInfo* elementInfo, int32_t parentId)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置父节点的无障碍编号（parentId）。

*   parentId用于构建无障碍组件树的层级关系，标识当前节点的父节点。无障碍服务在遍历节点树、查找兄弟节点时依赖父子关系。
*   若当前节点为根节点，建议将parentId设置为-1或0（与根节点自身的elementId不同即可）。
*   parentId指向的父节点elementId必须在组件树中真实存在，否则无障碍服务向上遍历时可能出现异常。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| int32_t parentId | 表示元素的父组件无障碍编号，应指向已存在的父节点elementId。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetComponentType()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetComponentType(ArkUI_AccessibilityElementInfo* elementInfo, const char* componentType)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置组件类型。

*   componentType用于标识无障碍节点的组件类型，如Button、Text、Image、List。
*   无障碍服务（如无障碍辅助应用）根据组件类型决定如何向用户描述和交互该节点。例如，Button类型会被朗读为按钮，Text类型会被朗读为文本。三方框架可使用自身组件类型名称，建议使用与ArkUI组件名称一致的字符串以便获得最佳朗读效果。
*   建议使用的组件类型名称包括：Button、Text、Image、List、TextInput、Slider、Rating、Progress、CheckBox、Toggle、Grid、Swiper、Select、Tab。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| const char* componentType | 表示元素所属的组件类型字符串，不能为空指针。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetContents()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetContents(ArkUI_AccessibilityElementInfo* elementInfo, const char* contents)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置组件文本内容。

*   contents是组件的主要文本内容，无障碍辅助应用会将其作为主要播报内容朗读给用户。
*   对于文本类组件（如Text、TextInput），contents通常设置为组件显示的文本。
*   对于非文本类组件（如Button、Image），若设置了accessibilityText，则无障碍辅助应用优先使用accessibilityText。
*   通过OH\_ArkUI\_AccessibilityElementInfoSetAccessibilityText设置accessibilityText，否则使用contents作为朗读内容。
*   当组件同时设置了contents和accessibilityText时，无障碍辅助应用优先使用accessibilityText。
*   contents不支持传入空指针，传入空指针将返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| const char* contents | 表示元素被无障碍服务所识别的文本内容，不能为空指针。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetHintText()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetHintText(ArkUI_AccessibilityElementInfo* elementInfo, const char* hintText)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置提示文本。

*   hintText用于为组件提供辅助说明，通常用于可编辑组件的占位提示文本（例如输入框）。无障碍辅助应用在组件处于提示状态（isHint为true）时，会朗读hintText代替contents。例如，当输入框为空时显示的占位文本“请输入用户名”，应通过hintText传递。
*   hintText与isHint配合使用：当isHint为true时，无障碍辅助应用播报hintText；当isHint为false时，播报contents。isHint通过OH\_ArkUI\_AccessibilityElementInfoSetIsHint设置，contents通过OH\_ArkUI\_AccessibilityElementInfoSetContents设置。
*   hintText不支持传入空指针，传入空指针将返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| const char* hintText | 表示提示文本，不能为空指针。默认为""。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetAccessibilityText()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityText(ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityText)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置无障碍专用的替代文本。

*   accessibilityText是无障碍专用的替代文本，用于覆盖contents提供给无障碍辅助应用的内容。
*   当组件设置了accessibilityText且不为空时，无障碍辅助应用会优先播报accessibilityText而非contents。适用于视觉内容需要额外描述的场景，例如：图片组件可设置accessibilityText为“一张大海照片”，即使图片本身无文本内容，无障碍辅助应用也能向用户描述图片含义。
*   若accessibilityText为空字符串，无障碍辅助应用会回退使用contents。
*   accessibilityText不支持传入空指针，传入空指针将返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| const char* accessibilityText | 表示Accessibility文本，不能为空指针。默认为""。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetAccessibilityDescription()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityDescription(ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityDescription)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置无障碍描述信息。

*   accessibilityDescription用于为组件提供额外的无障碍描述信息。
*   无障碍辅助应用在播报完组件的主要内容（accessibilityText或contents）后，会继续播报accessibilityDescription。例如，一个按钮的contents为“提交”，accessibilityDescription可设置为“点击提交表单数据”，无障碍辅助应用将播报“提交，点击提交表单数据”。此属性适用于需要为用户提供额外操作提示或状态说明的场景。
*   accessibilityDescription不支持传入空指针，传入空指针将返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| const char* accessibilityDescription | 表示Accessibility描述信息，不能为空指针。默认为""。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetChildNodeIds()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetChildNodeIds(ArkUI_AccessibilityElementInfo* elementInfo, int32_t childCount, int64_t* childNodeIds)
```

**描述：**

设置ArkUI\_AccessibilityElementInfo的子节点数量和子节点ID集合。

*   childNodeIds用于构建无障碍组件树的父子关系，标识当前节点的所有直接子节点。无障碍服务通过childNodeIds遍历子节点来获取完整的无障碍树结构。
*   每次调用本接口将清空之前设置的所有子节点信息，替换为本次传入的子节点集合（覆盖式更新，非追加）。childNodeIds中的每个值对应已存在的子节点的elementId。
*   childCount必须大于0，且childNodeIds数组中至少包含childCount个有效元素。
*   childNodeIds和elementInfo不支持传入空指针，childCount不支持小于等于0，否则返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| int32_t childCount | 表示孩子节点数量，必须大于0。 |
| int64_t* childNodeIds | 表示子节点id集合，每个ID应指向已存在的子节点elementId，不能为空指针。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetOperationActions()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetOperationActions(ArkUI_AccessibilityElementInfo* elementInfo,int32_t operationCount, ArkUI_AccessibleAction* operationActions)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置组件支持的无障碍操作列表。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| int32_t operationCount | 组件支持的action数量，必须大于0。 |
| ArkUI_AccessibleAction* operationActions | 组件支持的action数组，不能为空指针。具体支持的action类型可以参考ArkUI_Accessibility_ActionType。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetScreenRect()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetScreenRect(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRect* screenRect)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置组件在屏幕上的矩形区域。

*   screenRect定义了组件在屏幕上的位置和大小，以像素为单位。无障碍服务使用screenRect进行焦点高亮绘制、触摸目标定位和元素可见性判断。
*   无障碍辅助应用等辅助应用依赖screenRect来确定焦点框的显示位置，帮助用户了解当前聚焦元素在屏幕上的位置。
*   如果screenRect的区域面积为0或不在屏幕可见范围内，该节点可能不会被辅助应用聚焦。
*   screenRect和elementInfo不支持传入空指针，否则返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| ArkUI_AccessibleRect* screenRect | 表示屏幕区域，包含左上角和右下角坐标，不能为空指针。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetCheckable()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetCheckable(ArkUI_AccessibilityElementInfo* elementInfo, bool checkable)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置是否可勾选。

*   适用于具备可勾选语义的组件（例如ArkUI的CheckBox、Toggle、Radio）。
*   无障碍辅助应用会根据checkable状态向用户播报“可勾选”提示，并告知用户可以通过操作来切换勾选状态。
*   设置checkable为true时，应同时通过OH\_ArkUI\_AccessibilityElementInfoSetChecked来设置checked来表示当前勾选状态。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool checkable | 表示是否可勾选。true表示可勾选，false表示不可勾选。默认值为false。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetChecked()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetChecked(ArkUI_AccessibilityElementInfo* elementInfo, bool checked)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置当前的勾选状态。

*   无障碍辅助应用会根据checked状态播报“已勾选”或“未勾选”。本接口仅设置勾选状态，不会自动设置checkable属性。
*   若需要组件被识别为可勾选，需同时调用OH\_ArkUI\_AccessibilityElementInfoSetCheckable设置checkable属性为true。
*   仅设置checked而不设置checkable为true时，checked状态不会在辅助应用中体现。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool checked | 表示是否被勾选。true表示已勾选，false表示未勾选。默认值false。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetFocusable()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetFocusable(ArkUI_AccessibilityElementInfo* elementInfo, bool focusable)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置是否可聚焦。

*   适用于可聚焦的交互组件（例如ArkUI的TextInput、Button）。
*   无障碍辅助应用等辅助应用在遍历可聚焦节点时，会跳过focusable为false的节点。
*   设置focusable为true的组件通常也需要通过OH\_ArkUI\_AccessibilityElementInfoSetClickable设置clickable为true，并注册相应的操作动作。
*   focusable与accessibilityFocused是不同的概念：focusable表示输入焦点能力，accessibilityFocused表示无障碍辅助焦点的当前状态。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool focusable | 表示是否可聚焦。true表示可聚焦，false表示不可聚焦。默认值false。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetFocused()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetFocused(ArkUI_AccessibilityElementInfo* elementInfo, bool isFocused)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置是否已聚焦。

*   无障碍辅助应用在获焦时会播报当前焦点元素的信息。
*   设置isFocused为true时，通常应同时通过OH\_ArkUI\_AccessibilityElementInfoSetFocusable设置focusable为true，否则焦点状态的含义不完整。
*   isFocused与accessibilityFocused是不同的概念：isFocused表示输入焦点状态，accessibilityFocused（由OH\_ArkUI\_AccessibilityElementInfoSetAccessibilityFocused设置）表示无障碍辅助焦点状态。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool isFocused | 表示是否聚焦。true表示已聚焦，false表示未聚焦。默认值false。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetVisible()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetVisible(ArkUI_AccessibilityElementInfo* elementInfo, bool isVisible)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置组件是否在屏幕上可见。

*   无障碍辅助应用等辅助应用在遍历节点时，默认会跳过isVisible为false的节点，不会对这些节点聚焦或播报。对于因滚动而暂时不在可视区域的组件，建议设置isVisible为false。
*   若一个可交互组件被错误地设置为不可见，用户将无法通过辅助应用访问该组件。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool isVisible | 表示是否可见。true表示可见，false表示不可见。默认值false。所有需要被辅助应用识别的组件必须显式设置为true。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetAccessibilityFocused()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityFocused(ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityFocused)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置当前的无障碍辅助焦点状态。

*   当用户通过辅助应用的焦点移动操作浏览界面时，被聚焦的节点accessibilityFocused应为true。
*   无障碍辅助应用会对accessibilityFocused为true的节点播报其内容，并在屏幕上绘制焦点高亮框。
*   无障碍服务在执行ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_GAIN\_ACCESSIBILITY\_FOCUS和ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_CLEAR\_ACCESSIBILITY\_FOCUS操作时，三方框架应相应更新此状态，并通过发送ARKUI\_ACCESSIBILITY\_NATIVE\_EVENT\_TYPE\_ACCESSIBILITY\_FOCUSED或ARKUI\_ACCESSIBILITY\_NATIVE\_EVENT\_TYPE\_ACCESSIBILITY\_FOCUS\_CLEARED事件通知系统。
*   accessibilityFocused与isFocused不同：前者是无障碍辅助焦点，后者是输入焦点（键盘焦点）。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool accessibilityFocused | 表示是否被无障碍聚焦。true表示被无障碍聚焦，false表示未被无障碍聚焦。默认值false。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetSelected()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetSelected(ArkUI_AccessibilityElementInfo* elementInfo, bool selected)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置是否处于选中状态。

*   适用于具备选中语义的组件（例如ArkUI的Tab、ListItem）。
*   无障碍辅助应用会根据selected状态播报“已选中”或“未选中”。在Tab页签场景中，selected为true的Tab页签会被朗读为当前活动页签。
*   在列表场景中，selected可与accessibilityGroup（通过OH\_ArkUI\_AccessibilityElementInfoSetAccessibilityGroup设置）配合使用，标记当前激活的列表项。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool selected | 表示是否被选中。true表示被选中，false表示未选中。默认值false。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetClickable()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetClickable(ArkUI_AccessibilityElementInfo* elementInfo, bool clickable)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置是否支持点击操作。

*   无障碍辅助应用会向用户提示该组件可点击，用户可通过辅助应用执行点击操作时，系统会通过ArkUI\_AccessibilityProviderCallbacks中的executeAccessibilityAction回调通知三方框架。
*   设置clickable为true时，通常需要通过OH\_ArkUI\_AccessibilityElementInfoSetOperationActions在operationActions中添加ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_CLICK，否则用户无法通过辅助应用对该组件执行点击操作。
*   clickable与enabled（通过OH\_ArkUI\_AccessibilityElementInfoSetEnabled设置）应配合使用：当clickable为true但enabled为false时，无障碍辅助应用会播报“已禁用”，提示用户该组件虽可点击但当前不可用。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool clickable | 表示是否支持点击。true表示支持，false表示不支持。默认值false。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetLongClickable()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetLongClickable(ArkUI_AccessibilityElementInfo* elementInfo, bool longClickable)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置是否支持长按操作。

*   无障碍辅助应用会向用户提示该组件支持长按，用户可通过辅助应用执行长按操作时，系统会通过ArkUI\_AccessibilityProviderCallbacks中的executeAccessibilityAction回调通知三方框架。
*   设置longClickable为true时，通常需要通过OH\_ArkUI\_AccessibilityElementInfoSetOperationActions在operationActions中添加ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_LONG\_CLICK。
*   否则用户无法通过辅助应用对该组件执行长按操作。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool longClickable | 表示是否支持长按。true表示支持，false表示不支持。默认值false。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetEnabled()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetEnabled(ArkUI_AccessibilityElementInfo* elementInfo, bool isEnabled)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置组件是否处于启用状态。

*   当isEnabled为false时，无障碍辅助应用会播报“已禁用”或“不可用”，提示用户该组件当前不可交互。
*   对于被禁用的组件（如灰色按钮），应设置isEnabled为false，并通过OH\_ArkUI\_AccessibilityElementInfoSetClickable设置clickable为true，这样无障碍辅助应用会提示用户该组件存在但当前不可用。
*   如果isEnabled为false且clickable也为false，无障碍辅助应用可能完全跳过该组件。
*   所有需要被用户交互的组件必须显式设置为true。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool isEnabled | 表示是否启用。true表示启用，false表示未启用。默认值false。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetIsPassword()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetIsPassword(ArkUI_AccessibilityElementInfo* elementInfo, bool isPassword)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置是否为密码输入框。

*   当isPassword为true时，无障碍辅助应用不会朗读具体的密码字符内容，而是播报“密码框”或“已输入密码”等替代提示，以防止密码被朗读泄露。
*   对于TextInput等文本输入组件，若用于密码输入场景，必须设置isPassword为true。
*   若未设置或设置为false，无障碍辅助应用可能直接朗读密码内容，造成安全隐患。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool isPassword | 表示是否为密码。true表示是密码，false表示不是密码。默认值false。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetScrollable()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetScrollable(ArkUI_AccessibilityElementInfo* elementInfo, bool scrollable)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置是否支持滚动操作。

*   适用于支持内容滚动的容器组件（例如ArkUI的List、Grid、Scroll、Swiper）。
*   无障碍辅助应用等辅助应用会根据scrollable状态向用户提供滚动操作提示，用户可通过辅助应用执行向前滚动（ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_SCROLL\_FORWARD）或向后滚动（ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_SCROLL\_BACKWARD）操作。
*   设置scrollable为true时，需要通过OH\_ArkUI\_AccessibilityElementInfoSetOperationActions在operationActions中添加滚动操作，包括ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_SCROLL\_FORWARD和ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_SCROLL\_BACKWARD，否则用户无法通过辅助应用对该组件执行滚动操作。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool scrollable | 表示是否支持滚动。true表示支持，false表示不支持。默认值false。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetEditable()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetEditable(ArkUI_AccessibilityElementInfo* elementInfo, bool editable)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置文本内容是否可编辑。

*   editable表示该组件的文本内容是否可以被用户编辑，适用于TextInput、TextArea等可编辑文本组件。
*   无障碍辅助应用会根据editable状态向用户提示该组件可编辑，并允许用户通过辅助应用输入或修改文本。
*   设置editable为true的组件，通常还应通过OH\_ArkUI\_AccessibilityElementInfoSetOperationActions注册相应的无障碍操作动作，如ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_SET\_TEXT、ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_COPY、ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_PASTE、ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_CUT等，以便用户通过辅助应用执行编辑操作。
*   editable为true且isPassword（通过OH\_ArkUI\_AccessibilityElementInfoSetIsPassword设置）为true时，无障碍辅助应用会播报“密码编辑框”。默认值为false。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool editable | 表示是否支持编辑。true表示支持，false表示不支持。默认值false。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetIsHint()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetIsHint(ArkUI_AccessibilityElementInfo* elementInfo, bool isHint)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置是否处于提示文本状态。

*   当isHint为true时，无障碍辅助应用会朗读hintText（提示文本，通过OH\_ArkUI\_AccessibilityElementInfoSetHintText设置）而非contents（主文本内容，通过OH\_ArkUI\_AccessibilityElementInfoSetContents设置）。
*   此属性主要用于可编辑文本组件（如TextInput）在用户尚未输入内容时显示占位提示文本的场景。
*   例如：输入框显示“请输入用户名”时，isHint应设为true，hintText应设为“请输入用户名”；用户输入内容后，isHint应设为false，contents应设为用户输入的文本。
*   若isHint设置为true但未设置hintText，无障碍辅助应用可能播报空内容。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool isHint | 表示是否为提示状态。true表示是提示状态，false表示不是提示状态。在提示状态下无障碍辅助应用播报hintText，否则播报contents。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetRangeInfo()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetRangeInfo(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRangeInfo* rangeInfo)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置范围值信息。

*   rangeInfo用于设置具有连续范围值的组件的当前值、最小值和最大值，适用于在连续数值范围内取值的组件（例如Slider、Rating、Progress、SeekBar）。
*   无障碍辅助应用会根据rangeInfo播报当前值和范围，例如“进度50%，范围0到100”。
*   rangeInfo中的current表示当前值，min表示最小值，max表示最大值。
*   设置rangeInfo时，应确保min不大于max，current应在min和max之间。
*   rangeInfo和elementInfo不支持传入空指针，否则返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| ArkUI_AccessibleRangeInfo* rangeInfo | 表示特定组件的当前值、最大值、最小值，不能为空指针。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetGridInfo()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetGridInfo(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridInfo* gridInfo)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置网格信息。

*   gridInfo用于设置网格类容器的行数、列数和选择模式，适用于Grid、List、Flex、Select、Swiper等容器组件。
*   无障碍辅助应用会根据gridInfo播报网格的结构信息，如“第2行，共5行3列”。
*   rowCount表示行数，columnCount表示列数，selectionMode表示选择模式（值为0表示单行选择，非0表示多行选择）。
*   gridInfo和elementInfo不支持传入空指针，否则返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| ArkUI_AccessibleGridInfo* gridInfo | 表示特定组件的行数、列数以及选择模式，不能为空指针。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetGridItemInfo()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetGridItemInfo(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridItemInfo* gridItem)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置网格容器中子项的属性信息。

*   gridItem用于设置Grid组件中每个子项的属性，包括是否为标题、是否被选中、所在行列下标及跨度信息。适用于网格/列表类容器的子项（例如ArkUI的Grid、List、Flex、Select、Swiper的子项）。
*   无障碍辅助应用会根据gridItem的rowIndex和columnIndex播报子项的位置信息，如“第2行第3列”。
*   ArkUI\_AccessibleGridItemInfo中的heading为true时，无障碍辅助应用会播报“标题”。
*   gridItem和elementInfo不支持传入空指针，否则返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| ArkUI_AccessibleGridItemInfo* gridItem | 表示网格子项的属性值，不能为空指针。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetSelectedTextStart()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetSelectedTextStart(ArkUI_AccessibilityElementInfo* elementInfo, int32_t selectedTextStart)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置选中文本的起始位置。

*   selectedTextStart用于文本类可编辑组件，标记当前选中文本的起始字符索引位置（从0开始计数）。
*   无障碍辅助应用等辅助应用会根据selectedTextStart和selectedTextEnd播报当前选中的文本范围。
*   当用户通过辅助应用执行ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_SELECT\_TEXT操作时，三方框架应获取起始位置。
*   通过ArkUI\_AccessibilityActionArguments中的selectTextBegin参数获取起始位置。
*   selectedTextStart应与selectedTextEnd（通过OH\_ArkUI\_AccessibilityElementInfoSetSelectedTextEnd设置）配合使用，且selectedTextStart不应大于selectedTextEnd。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| int32_t selectedTextStart | 文本类控件使用，设置选中文本的起始位置索引（从0开始）。应与selectedTextEnd配合使用。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetSelectedTextEnd()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetSelectedTextEnd(ArkUI_AccessibilityElementInfo* elementInfo, int32_t selectedTextEnd)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置选中文本的结束位置。

*   selectedTextEnd用于文本类可编辑组件，标记当前选中文本的结束字符索引位置（从0开始计数）。
*   无障碍辅助应用等辅助应用会根据selectedTextStart和selectedTextEnd计算并播报选中的文本内容。
*   selectedTextEnd应与selectedTextStart配合使用，且selectedTextEnd不应小于selectedTextStart。其中selectedTextStart通过OH\_ArkUI\_AccessibilityElementInfoSetSelectedTextStart设置。
*   当没有文本被选中时，selectedTextStart和selectedTextEnd可以设置为相同的值（即光标位置）。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| int32_t selectedTextEnd | 文本类控件使用，设置选中文本的结束位置索引（从0开始）。应与selectedTextStart配合使用。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetCurrentItemIndex()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetCurrentItemIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t currentItemIndex)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置当前获焦或高亮子项的位置索引。

*   currentItemIndex用于List、Select、Swiper、Tab等容器类组件，表示当前获得焦点或处于激活状态的子项在容器中的位置索引（从0开始计数）。
*   无障碍辅助应用会播报当前项的位置信息，如“第3项，共10项”。
*   currentItemIndex应与itemCount（通过OH\_ArkUI\_AccessibilityElementInfoSetItemCount设置）配合使用，以便辅助应用播报“第X项，共Y项”的完整信息。
*   currentItemIndex的值应在0到itemCount-1的范围内。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| int32_t currentItemIndex | 当前获焦控件的位置索引（从0开始），应与itemCount配合使用。适用于List、Select、Swiper、Tab等容器组件。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetStartItemIndex()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetStartItemIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t startItemIndex)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置当前屏幕可见区域中第一个元素的位置索引。

*   startItemIndex用于List、Select、Swiper、Tab等可滚动容器组件，表示当前屏幕可见区域中第一个子项的位置索引（从0开始计数）。
*   无障碍辅助应用等辅助应用根据startItemIndex和endItemIndex（通过OH\_ArkUI\_AccessibilityElementInfoSetEndItemIndex设置）判断可见区域范围，用于优化焦点移动和播报。
*   startItemIndex应小于等于endItemIndex，且两者均应在0到itemCount-1的范围内。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| int32_t startItemIndex | 当前屏幕可见区域中第一个元素的位置索引（从0开始）。List、Select、Swiper、Tab_Bar等容器组件使用。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetEndItemIndex()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetEndItemIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t endItemIndex)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置当前屏幕可见区域中最后一个元素的位置索引。

*   endItemIndex用于List、Select、Swiper、Tab等可滚动容器组件，表示当前屏幕可见区域中最后一个子项的位置索引（从0开始计数）。
*   无障碍辅助应用等辅助应用根据startItemIndex（通过OH\_ArkUI\_AccessibilityElementInfoSetStartItemIndex设置）和endItemIndex判断可见区域范围，当用户执行滚动操作时，辅助应用可据此播报滚动进度。
*   endItemIndex应大于等于startItemIndex，且两者均应在0到itemCount-1的范围内。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| int32_t endItemIndex | 当前屏幕可见区域中最后一个元素的位置索引（从0开始）。List、Select、Swiper、Tab_Bar等容器组件使用。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetItemCount()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetItemCount(ArkUI_AccessibilityElementInfo* elementInfo, int32_t itemCount)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置容器中子项的总数。

*   itemCount用于List、Select、Swiper、Tab等容器类组件，表示容器中子项的总数量。
*   无障碍辅助应用等辅助应用结合currentItemIndex（通过OH\_ArkUI\_AccessibilityElementInfoSetCurrentItemIndex设置）和itemCount播报位置信息，如“第3项，共10项”。
*   itemCount的值应为容器中所有子项的总数（包括可见和不可见的），而不仅是当前屏幕可见区域的子项数。
*   itemCount应为非负整数，设置为0表示容器为空。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| int32_t itemCount | 表示容器中子项的总数（包括可见和不可见的），用于辅助应用播报“第X项，共Y项”。如List、Select、Swiper、Tab等容器组件使用。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetAccessibilityOffset()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityOffset(ArkUI_AccessibilityElementInfo* elementInfo, int32_t offset)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置滚动偏移量。

*   offset用于可滚动类容器组件（如List、Grid、Scroll），表示内容区相对于元素顶部坐标的滚动像素偏移量。
*   无障碍服务使用offset来判断滚动位置，辅助应用可据此播报滚动进度。
*   当用户执行ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_SCROLL\_FORWARD或ARKUI\_ACCESSIBILITY\_NATIVE\_ACTION\_TYPE\_SCROLL\_BACKWARD操作后，三方框架应在更新后的节点信息中同步更新offset值。
*   offset为0表示内容区未滚动（处于初始位置），正值表示向下/向右滚动的像素距离。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| int32_t offset | 对于可滚动类控件，如List、Grid，内容区相对于元素顶部坐标的滚动像素偏移量（单位：像素）。offset为0表示未滚动，正值表示已滚动的距离。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetAccessibilityGroup()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityGroup(ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityGroup)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置无障碍分组。

*   accessibilityGroup表示是否将该组件及其所有子组件作为一个整体对待。
*   当accessibilityGroup为true时，无障碍辅助应用会将该节点视为一个整体，不会单独聚焦或播报其子节点的信息，而是将子节点的文本内容合并后一起播报。
*   此属性适用于将一组相关内容（如一个列表项包含图标和文本）作为一个无障碍单元的场景。例如：一个列表项包含商品图片和商品名称，设置accessibilityGroup为true后，无障碍辅助应用会将整个列表项作为一个节点播报，而不是分别播报图片和文本。
*   accessibilityGroup为false时，无障碍辅助应用会逐个遍历子节点。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| bool accessibilityGroup | 表示是否启用无障碍分组。true表示将组件及其子组件作为一个整体播报，false表示逐个遍历子节点。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetAccessibilityLevel()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityLevel(ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityLevel)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置无障碍重要性级别。

*   accessibilityLevel用于控制组件是否被无障碍辅助服务识别，影响无障碍节点树中该节点的可见性。
*   无障碍辅助应用等辅助应用根据accessibilityLevel决定是否向用户展示该节点。
*   取值范围及含义如下：
*   “auto”：由系统根据当前组件的属性自动判断该组件是否重要，决定是否让辅助服务识别该组件。通常具有可交互属性（如clickable）或文本内容的组件会被自动识别为重要。
*   “yes”：表示该组件重要，允许辅助服务识别该组件。无论组件属性如何，辅助服务都会识别。
*   “no”：表示该组件不重要，不允许辅助服务识别该组件。辅助服务会跳过该节点，但其子节点仍可被识别。
*   “no-hide-descendants”：表示该组件及其所有子孙节点都不重要，辅助服务不会识别该组件及其子孙节点。适用于纯装饰性容器，避免辅助服务播报无意义的内容。
*   accessibilityLevel不支持传入空指针，传入空指针将返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| const char* accessibilityLevel | 表示组件的无障碍重要性级别，取值为“auto”/“yes”/“no”/“no-hide-descendants”，不能为空指针。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetZIndex()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetZIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t zIndex)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置组件的Z序。

*   zIndex用于控制元素在垂直于屏幕的Z轴上的层级位置。当多个组件在屏幕上重叠时，zIndex值较大的组件会覆盖zIndex值较小的组件。
*   此属性主要供UiTest自动化测试框架使用，用于识别组件的层叠顺序。
*   无障碍服务在确定焦点移动方向时也可能参考zIndex进行判断。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| int32_t zIndex | 组件z序，用于控制元素在垂直于屏幕的z轴上的位置。UiTest需要使用。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetAccessibilityOpacity()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityOpacity(ArkUI_AccessibilityElementInfo* elementInfo, float opacity)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置透明度。

*   opacity表示组件的透明度。此属性主要供UiTest自动化测试框架使用，用于识别组件的视觉透明状态。取值范围为0到1，其中1表示完全不透明，0表示完全透明。
*   注意：传入NaN值将返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER，但超出0到1范围的值（如负数或大于1的值）不会被自动修正，建议始终传入0到1之间的有效值。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| float opacity | 表示透明度。其取值范围是0到1，其中1表示完全不透明，0表示完全透明。UiTest需要使用。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetBackgroundColor()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetBackgroundColor(ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundColor)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置背景色。

*   backgroundColor表示组件的背景颜色。此属性主要供UiTest自动化测试框架使用，用于识别组件的视觉背景色。
*   数据格式为“#ARGB”字符串，例如非透明白色为“#FFFFFFFF”，半透明红色为“#80FF0000”。
*   backgroundColor不支持传入空指针，传入空指针将返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| const char* backgroundColor | 表示背景色。数据为“#ARGB”格式，例如非透明白色即“#FFFFFFFF”。不能为空指针。UiTest需要使用。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetBackgroundImage()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetBackgroundImage(ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundImage)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置背景图片。

*   backgroundImage表示组件的背景图片资源。此属性主要供UiTest自动化测试框架使用，用于识别组件的视觉背景图。
*   backgroundImage不支持传入空指针，传入空指针将返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| const char* backgroundImage | 表示背景图片资源路径或描述。不能为空指针。UiTest需要使用。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetBlur()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetBlur(ArkUI_AccessibilityElementInfo* elementInfo, const char* blur)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置模糊效果。

*   blur表示组件的模糊效果参数。此属性主要供UiTest自动化测试框架使用，用于识别组件的视觉模糊状态。
*   blur不支持传入空指针，传入空指针将返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| const char* blur | 表示模糊度。不能为空指针。UiTest需要使用。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetHitTestBehavior()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetHitTestBehavior(ArkUI_AccessibilityElementInfo* elementInfo, const char* hitTestBehavior)
```

**描述：**

为ArkUI\_AccessibilityElementInfo设置触摸测试的响应逻辑及节点阻塞规则。

*   hitTestBehavior用于控制组件在触摸测试过程中的响应行为，决定触摸事件是否可以穿透该组件。
*   此属性主要供UiTest自动化测试框架使用。取值范围参考HitTestMode，包括：
*   “Default”：默认行为，不阻断触摸事件。
*   “Block”：阻断自身及子组件的触摸事件。
*   “Transparent”：自身不响应触摸事件，但子组件可以响应。
*   “None”：自身和子组件都不响应触摸事件。
*   hitTestBehavior不支持传入空指针，传入空指针将返回ARKUI\_ACCESSIBILITY\_NATIVE\_RESULT\_BAD\_PARAMETER。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |
| const char* hitTestBehavior | 表示hitTest模式，不能为空指针。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityElementInfoSetComponentIdentifier()

```
int32_t OH_ArkUI_AccessibilityElementInfoSetComponentIdentifier(ArkUI_AccessibilityElementInfo* elementInfo, const char* identifier)
```

**描述：**

为无障碍节点信息ArkUI\_AccessibilityElementInfo设置组件标识，可用于自动化测试识别特定组件。

**起始版本：** 24

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示无障碍节点信息元素信息。 |
| const char* identifier | 表示组件的唯一标识字符串。 需保证上报的组件树中的组件标识唯一，且字符串长度不大于1024，超过1024会截断使用。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_CreateAccessibilityElementInfo()

```
ArkUI_AccessibilityElementInfo* OH_ArkUI_CreateAccessibilityElementInfo(void)
```

**描述：**

创建一个ArkUI\_AccessibilityElementInfo对象，创建后需要调用OH\_ArkUI\_DestoryAccessibilityElementInfo释放。

**起始版本：** 13

**返回：**

| 类型 | 说明 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* | 返回ArkUI_AccessibilityElementInfo对象。 |

#### OH\_ArkUI\_DestoryAccessibilityElementInfo()

```
void OH_ArkUI_DestoryAccessibilityElementInfo(ArkUI_AccessibilityElementInfo* elementInfo)
```

**描述：**

销毁一个ArkUI\_AccessibilityElementInfo对象。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示指向ArkUI_AccessibilityElementInfo的指针。 |

#### OH\_ArkUI\_CreateAccessibilityEventInfo()

```
ArkUI_AccessibilityEventInfo* OH_ArkUI_CreateAccessibilityEventInfo(void)
```

**描述：**

创建一个ArkUI\_AccessibilityEventInfo对象，创建后需要调用OH\_ArkUI\_DestoryAccessibilityEventInfo释放。

**起始版本：** 13

**返回：**

| 类型 | 说明 |
| --- | --- |
| ArkUI_AccessibilityEventInfo* | 返回ArkUI_AccessibilityEventInfo对象。 |

#### OH\_ArkUI\_DestoryAccessibilityEventInfo()

```
void OH_ArkUI_DestoryAccessibilityEventInfo(ArkUI_AccessibilityEventInfo* eventInfo)
```

**描述：**

销毁ArkUI\_AccessibilityEventInfo对象。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityEventInfo* eventInfo | 需要被销毁的ArkUI_AccessibilityEventInfo对象。 |

#### OH\_ArkUI\_AccessibilityEventSetEventType()

```
int32_t OH_ArkUI_AccessibilityEventSetEventType(ArkUI_AccessibilityEventInfo* eventInfo,  ArkUI_AccessibilityEventType eventType)
```

**描述：**

为ArkUI\_AccessibilityEventInfo设置事件类型。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityEventInfo* eventInfo | 表示事件信息。 |
| ArkUI_AccessibilityEventType eventType | 表示事件类型。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityEventSetTextAnnouncedForAccessibility()

```
int32_t OH_ArkUI_AccessibilityEventSetTextAnnouncedForAccessibility(ArkUI_AccessibilityEventInfo* eventInfo,  const char* textAnnouncedForAccessibility)
```

**描述：**

为ArkUI\_AccessibilityEventInfo设置主动播报的内容。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityEventInfo* eventInfo | 表示事件信息。 |
| const char* textAnnouncedForAccessibility | 表示主动播报的内容。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityEventSetRequestFocusId()

```
int32_t OH_ArkUI_AccessibilityEventSetRequestFocusId(ArkUI_AccessibilityEventInfo* eventInfo,  int32_t requestFocusId)
```

**描述：**

为ArkUI\_AccessibilityEventInfo设置请求焦点id。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityEventInfo* eventInfo | 表示事件信息。 |
| int32_t requestFocusId | 表示请求焦点id。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_AccessibilityEventSetElementInfo()

```
int32_t OH_ArkUI_AccessibilityEventSetElementInfo(ArkUI_AccessibilityEventInfo* eventInfo,  ArkUI_AccessibilityElementInfo* elementInfo)
```

**描述：**

为ArkUI\_AccessibilityEventInfo设置elementInfo。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityEventInfo* eventInfo | 表示事件信息。 |
| ArkUI_AccessibilityElementInfo* elementInfo | 表示ArkUI_AccessibilityElementInfo元素信息。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_FindAccessibilityActionArgumentByKey()

```
int32_t OH_ArkUI_FindAccessibilityActionArgumentByKey(ArkUI_AccessibilityActionArguments* arguments, const char* key, char** value)
```

**描述：**

获取ArkUI\_AccessibilityActionArguments中指定key的value值。

**起始版本：** 13

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_AccessibilityActionArguments* arguments | 表示ArkUI_AccessibilityActionArguments对象信息。 |
| const char* key | 表示key。 |
| char** value | 表示value。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 成功返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL。 参数错误返回ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER。 |

#### OH\_ArkUI\_NativeModule\_GetNativeAccessibilityProvider()

```
int32_t OH_ArkUI_NativeModule_GetNativeAccessibilityProvider(ArkUI_NodeHandle* node, ArkUI_AccessibilityProvider** provider)
```

**描述：**

获取指向ArkUI\_AccessibilityProvider对象指针的二级指针变量。

其中ArkUI\_AccessibilityProvider对象与传入的ArkUI\_NodeHandle的实例一一对应。

三方框架将自身UI组件映射为ARKUI\_NODE\_CUSTOM类型的RenderNode并得到ArkUI\_NodeHandle。

再调用OH\_ArkUI\_NativeModule\_GetNativeAccessibilityProvider接口获取ArkUI\_AccessibilityProvider指针并注册无障碍回调。

最终实现ArkUI无障碍服务对三方框架UI的识别与事件触发。

仅当三方框架将自身UI组件映射为ARKUI\_NODE\_CUSTOM的RenderNode，该接口才会生效，否则会报错误码。

本接口通过RenderNode实现三方框架的接入，仅支持ARKUI\_NODE\_CUSTOM接入无障碍服务，可以实现无障碍控件树获取能力。

不支持多线程并发，由三方框架保证调用时的线程安全。

**起始版本：** 23

**参数：**

| 参数项 | 描述 |
| --- | --- |
| ArkUI_NodeHandle* node | 指向一个ArkUI_NodeHandle对象的指针。 |
| ArkUI_AccessibilityProvider** provider | 指向一个ArkUI_AccessibilityProvider类型对象的指针。provider用于注册无障碍回调函数。 |

**返回：**

| 类型 | 说明 |
| --- | --- |
| int32_t | 返回状态码。 成功返回ARKUI_ERROR_CODE_NO_ERROR。 参数错误返回ARKUI_ERROR_CODE_PARAM_INVALID。 参数错误：1. 传入的参数node或者provider为空指针。 2. node对应的ArkUI_NodeHandle类型不为ARKUI_NODE_CUSTOM。 |