1# ArkUI_AccessibilityProviderCallbacksWithInstance 2<!--Kit: ArkUI--> 3<!--Subsystem: ArkUI--> 4<!--Owner: @zhanghangkai10241--> 5<!--Designer: @lmleon--> 6<!--Tester: @fredyuan0912--> 7<!--Adviser: @HelloCrease--> 8 9## 概述 10 11适配多实例场景第三方操作provider回调函数结构定义,需要第三方平台实现的相关函数,通过OH_ArkUI_AccessibilityProviderRegisterCallbackWithInstance注册到系统侧。 12 13**起始版本:** 15 14 15**相关模块:** [ArkUI_Accessibility](capi-arkui-accessibility.md) 16 17**所在头文件:** [native_interface_accessibility.h](capi-native-interface-accessibility-h.md) 18 19## 汇总 20 21### 成员函数 22 23| 名称 | 描述 | 24| -- | -- | 25| [int32_t (\*findAccessibilityNodeInfosById)(const char* instanceId, int64_t elementId,ArkUI_AccessibilitySearchMode mode, int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList)](#findaccessibilitynodeinfosbyid) | 由接入方平台实现的回调函数,注册给系统侧调用。基于指定的节点,查询所需的节点信息。支持多实例场景。 | 26| [int32_t (\*findAccessibilityNodeInfosByText)(const char* instanceId, int64_t elementId, const char* text,int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList)](#findaccessibilitynodeinfosbytext) | 由接入方平台实现的回调函数,注册给系统侧调用。基于指定的节点,查询满足指定组件文本内容的节点信息。支持多实例场景。 | 27| [int32_t (\*findFocusedAccessibilityNode)(const char* instanceId, int64_t elementId,ArkUI_AccessibilityFocusType focusType, int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo)](#findfocusedaccessibilitynode) | 由接入方平台实现的回调函数,注册给系统侧调用。从指定节点查找已经聚焦的节点。支持多实例场景。 | 28| [int32_t (\*findNextFocusAccessibilityNode)(const char* instanceId, int64_t elementId, ArkUI_AccessibilityFocusMoveDirection direction,int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo)](#findnextfocusaccessibilitynode) | 由接入方平台实现的回调函数,注册给系统侧调用。从指定节点查询指定方向的节点。支持多实例场景。 | 29| [int32_t (\*executeAccessibilityAction)(const char* instanceId, int64_t elementId,ArkUI_Accessibility_ActionType action, ArkUI_AccessibilityActionArguments *actionArguments, int32_t requestId)](#executeaccessibilityaction) | 由接入方平台实现的回调函数,注册给系统侧调用。对指定节点执行指定的操作。支持多实例场景。 | 30| [int32_t (\*clearFocusedFocusAccessibilityNode)(const char* instanceId)](#clearfocusedfocusaccessibilitynode) | 由接入方平台实现的回调函数,注册给系统侧调用。 清除当前获焦的节点。支持多实例场景。 | 31| [int32_t (\*getAccessibilityNodeCursorPosition)(const char* instanceId, int64_t elementId,int32_t requestId, int32_t* index)](#getaccessibilitynodecursorposition) | 由接入方平台实现的回调函数,注册给系统侧调用。获取当前组件中(文本组件)光标位置。支持多实例场景。 | 32 33## 成员函数说明 34 35### findAccessibilityNodeInfosById() 36 37``` 38int32_t (*findAccessibilityNodeInfosById)(const char* instanceId, int64_t elementId,ArkUI_AccessibilitySearchMode mode, int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList) 39``` 40 41**描述:** 42 43由接入方平台实现的回调函数,注册给系统侧调用。基于指定的节点,查询所需的节点信息。支持多实例场景。 44 45**起始版本:** 15 46 47**参数:** 48 49| 参数项 | 描述 | 50|--------------------------------------------------------------------------------| -- | 51| const char* instanceId | 第三方框架的实例编码。 | 52| int64_t elementId | 无障碍元素的唯一编号。 | 53| [ArkUI_AccessibilitySearchMode](capi-native-interface-accessibility-h.md) mode | 无障碍服务的搜索模式。 | 54| int32_t requestId | 请求id,用于关联请求过程,方便问题定位。建议日志打印时附带输出该信息,方便定位。 | 55| [ArkUI_AccessibilityElementInfoList](capi-arkui-accessibility-arkui-accessibilityelementinfolist.md)* elementList | 本次查询到的所有无障碍元素列表。 | 56 57**返回:** 58 59| 类型 | 说明 | 60| -- | -- | 61| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。<br> 参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 | 62 63### findAccessibilityNodeInfosByText() 64 65``` 66int32_t (*findAccessibilityNodeInfosByText)(const char* instanceId, int64_t elementId, const char* text,int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList) 67``` 68 69**描述:** 70 71由接入方平台实现的回调函数,注册给系统侧调用。基于指定的节点,查询满足指定组件文本内容的节点信息。支持多实例场景。 72 73**起始版本:** 15 74 75**参数:** 76 77| 参数项 | 描述 | 78| -- | -- | 79| const char* instanceId | 第三方框架的实例编码。 | 80| int64_t elementId | 无障碍元素的唯一编号。 | 81| const char* text | 组件需要匹配的文本内容。 | 82| int32_t requestId | 请求id,用于关联请求过程,方便问题定位。建议日志打印时附带输出该信息,方便定位。 | 83| [ArkUI_AccessibilityElementInfoList](capi-arkui-accessibility-arkui-accessibilityelementinfolist.md)* elementList | 本次查询到的所有无障碍元素列表。 | 84 85**返回:** 86 87| 类型 | 说明 | 88| -- | -- | 89| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。<br> 参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 | 90 91### findFocusedAccessibilityNode() 92 93``` 94int32_t (*findFocusedAccessibilityNode)(const char* instanceId, int64_t elementId,ArkUI_AccessibilityFocusType focusType, int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo) 95``` 96 97**描述:** 98 99由接入方平台实现的回调函数,注册给系统侧调用。从指定节点查找已经聚焦的节点。支持多实例场景。 100 101**起始版本:** 15 102 103**参数:** 104 105| 参数项 | 描述 | 106|------------------------------------------------------------------------------------| -- | 107| const char* instanceId | 第三方框架的实例编码。 | 108| int64_t elementId | 无障碍元素的唯一编号。 | 109| [ArkUI_AccessibilityFocusType](capi-native-interface-accessibility-h.md#arkui_accessibilityfocustype) focusType | 焦点类型。 | 110| int32_t requestId | 请求id,用于关联请求过程,方便问题定位。建议日志打印时附带输出该信息,方便定位。 | 111| [ArkUI_AccessibilityElementInfo](capi-arkui-accessibility-arkui-accessibilityelementinfo.md)* elementInfo | 本次查询到的无障碍元素。 | 112 113**返回:** 114 115| 类型 | 说明 | 116| -- | -- | 117| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。<br> 参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 | 118 119### findNextFocusAccessibilityNode() 120 121``` 122int32_t (*findNextFocusAccessibilityNode)(const char* instanceId, int64_t elementId, ArkUI_AccessibilityFocusMoveDirection direction,int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo) 123``` 124 125**描述:** 126 127由接入方平台实现的回调函数,注册给系统侧调用。从指定节点查询指定方向的节点。支持多实例场景。 128 129**起始版本:** 15 130 131**参数:** 132 133| 参数项 | 描述 | 134|-----------------------------------------------------------------------------------------------------------------------------------| -- | 135| const char* instanceId | 第三方框架的实例编码。 | 136| int64_t elementId | 无障碍元素的唯一编号。 | 137| [ArkUI_AccessibilityFocusMoveDirection](capi-native-interface-accessibility-h.md#arkui_accessibilityfocusmovedirection) direction | 搜索方向。 | 138| int32_t requestId | 请求id,用于关联请求过程,方便问题定位。建议日志打印时附带输出该信息,方便定位。 | 139| [ArkUI_AccessibilityElementInfo](capi-arkui-accessibility-arkui-accessibilityelementinfo.md)* elementInfo | 本次查询到的无障碍元素。 | 140 141**返回:** 142 143| 类型 | 说明 | 144| -- | -- | 145| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。<br>参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 | 146 147### executeAccessibilityAction() 148 149``` 150int32_t (*executeAccessibilityAction)(const char* instanceId, int64_t elementId,ArkUI_Accessibility_ActionType action, ArkUI_AccessibilityActionArguments *actionArguments, int32_t requestId) 151``` 152 153**描述:** 154 155由接入方平台实现的回调函数,注册给系统侧调用。对指定节点执行指定的操作。支持多实例场景。 156 157**起始版本:** 15 158 159**参数:** 160 161| 参数项 | 描述 | 162|------------------------------------------------------------------------------------------------------------------| -- | 163| const char* instanceId | 第三方框架的实例编码。 | 164| int64_t elementId | 无障碍元素的唯一编号。 | 165| [ArkUI_Accessibility_ActionType](capi-native-interface-accessibility-h.md#arkui_accessibility_actiontype) action | 需要执行的操作,比如聚焦、点击和长按等。 | 166| [ArkUI_AccessibilityActionArguments](capi-arkui-accessibility-arkui-accessibilityactionarguments.md) *actionArguments | 控制操作的参数。 | 167| int32_t requestId | 请求id,用于关联请求过程,方便问题定位。建议日志打印时附带输出该信息,方便定位。 | 168 169**返回:** 170 171| 类型 | 说明 | 172| -- | -- | 173| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。<br>参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 | 174 175### clearFocusedFocusAccessibilityNode() 176 177``` 178int32_t (*clearFocusedFocusAccessibilityNode)(const char* instanceId) 179``` 180 181**描述:** 182 183由接入方平台实现的回调函数,注册给系统侧调用。 清除当前获焦的节点。支持多实例场景。 184 185**起始版本:** 15 186 187**参数:** 188 189| 参数项 | 描述 | 190| -- | -- | 191| const char* instanceId | 第三方框架的实例编码。 | 192 193**返回:** 194 195| 类型 | 说明 | 196| -- | -- | 197| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。<br>参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 | 198 199### getAccessibilityNodeCursorPosition() 200 201``` 202int32_t (*getAccessibilityNodeCursorPosition)(const char* instanceId, int64_t elementId,int32_t requestId, int32_t* index) 203``` 204 205**描述:** 206 207由接入方平台实现的回调函数,注册给系统侧调用。获取当前组件中(文本组件)光标位置。支持多实例场景。 208 209**起始版本:** 15 210 211**参数:** 212 213| 参数项 | 描述 | 214| -- | -- | 215| const char* instanceId | 第三方框架的实例编码。 | 216| int64_t elementId | 无障碍元素的唯一编号。 | 217| int32_t requestId | 请求id,用于关联请求过程,方便问题定位。建议日志打印时附带输出该信息,方便定位。 | 218| int32_t* index | 光标的位置结果。 | 219 220**返回:** 221 222| 类型 | 说明 | 223| -- | -- | 224| int32_t | 成功返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。<br>参数错误返回[ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER](capi-native-interface-accessibility-h.md#arkui_acessbilityerrorcode)。 | 225 226 227