diff --git a/zh-cn/native_sdk/ace/native_node.h b/zh-cn/native_sdk/ace/native_node.h index ee621a30c5312d423cff7b20fd4431a93c68550a..608cceceb50f5dfc5abfd1481a0409b00abf42dd 100644 --- a/zh-cn/native_sdk/ace/native_node.h +++ b/zh-cn/native_sdk/ace/native_node.h @@ -1494,6 +1494,63 @@ typedef enum { */ NODE_LAYOUT_RECT, + /** + * @brief 无障碍自定义标识ID,支持属性获取。 + * + * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n + * .value[0].i32:无障碍自定义标识ID。\n + * + */ + NODE_ACCESSIBILITY_ID, + + /** + * @brief 定义无障碍支持操作类型属性,支持属性设置,属性重置和属性获取。 + * + * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n + * .value[0].u32:配置无障碍操作类型,参数类型{@link ArkUI_AccessibilityActionType}。 + * \n + * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n + * .value[0].u32:配置无障碍操作类型,参数类型{@link ArkUI_AccessibilityActionType}。 + * + */ + NODE_ACCESSIBILITY_ACTIONS, + + /** + * @brief 定义无障碍组件类型属性,支持属性设置,属性重置和属性获取。 + * + * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n + * .value[0].u32:无障碍组件类型,参数类型{@link ArkUI_NodeType}。 + * \n + * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n + * .value[0].u32:无障碍组件类型,参数类型{@link ArkUI_NodeType}。 + * + */ + NODE_ACCESSIBILITY_ROLE, + + /** + * @brief 定义无障碍状态属性,支持属性设置,属性重置和属性获取。 + * + * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n + * .object:参数类型为{@link ArkUI_AccessibilityState}。 \n + * \n + * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n + * .object:参数类型为{@link ArkUI_AccessibilityState}。 \n + * + */ + NODE_ACCESSIBILITY_STATE, + + /** + * @brief 定义无障碍信息属性,支持属性设置,属性重置和属性获取。 + * + * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n + * .object:参数类型为{@link ArkUI_AccessibilityValue}。 \n + * \n + * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n + * .object:参数类型为{@link ArkUI_AccessibilityValue}。 \n + * + */ + NODE_ACCESSIBILITY_VALUE, + /** * @brief text组件设置文本内容属性,支持属性设置,属性重置,属性获取接口。 * @@ -4561,6 +4618,16 @@ typedef enum { * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_UIInputEvent}。\n */ NODE_ON_MOUSE, + /** + * @brief 无障碍支持操作事件触发。 + * + * 触发该事件的条件:已设置无障碍操作类型,并进行相应操作。\n + * 事件回调发生时,事件参数{@link ArkUI_NodeEvent}对象中的联合体类型为{@link ArkUI_NodeComponentEvent}。\n + * {@link ArkUI_NodeComponentEvent}中包含1个参数: \n + * ArkUI_NodeComponentEvent.data[0].u32: 触发回调的操作类型,参数类型{@link ArkUI_AccessibilityActionType} \n + * + */ + NODE_ON_ACCESSIBILITY_ACTIONS, /** * @brief 文本设置TextDataDetectorConfig且识别成功时,触发onDetectResultUpdate回调。 * diff --git a/zh-cn/native_sdk/ace/native_type.h b/zh-cn/native_sdk/ace/native_type.h index d42c0b4005c7c6e50b5f6e218ad62ed164b177d0..62d1c9f8191c05a8e1a72de72e33f3949495fd8e 100644 --- a/zh-cn/native_sdk/ace/native_type.h +++ b/zh-cn/native_sdk/ace/native_type.h @@ -487,6 +487,50 @@ typedef struct { int32_t size; } ARKUI_TextPickerCascadeRangeContent; +/** + * @brief 定义无障碍复选框状态类型枚举值。 + * + * @since 12 + */ +typedef enum { + /** 复选框被选中。*/ + ARKUI_ACCESSIBILITY_CHECKED = 0, + /** 复选框未被选中。*/ + ARKUI_ACCESSIBILITY_UNCHECKED, +} ArkUI_AccessibilityCheckedType; + +/** + * @brief 定义无障碍操作类型。 + * + * @since 12 + */ +typedef enum { + /** 点击操作。*/ + ARKUI_ACCESSIBILITY_ACTION_CLICK = 1 << 0, + /** 长按操作。*/ + ARKUI_ACCESSIBILITY_ACTION_LONG_CLICK = 1 << 1, + /** 剪切操作。*/ + ARKUI_ACCESSIBILITY_ACTION_CUT = 1 << 2, + /** 复制操作。*/ + ARKUI_ACCESSIBILITY_ACTION_COPY = 1 << 3, + /** 粘贴操作。*/ + ARKUI_ACCESSIBILITY_ACTION_PASTE = 1 << 4, +} ArkUI_AccessibilityActionType; + +/** + * @brief 定义组件无障碍状态。 + * + * @since 12 + */ +typedef struct ArkUI_AccessibilityState ArkUI_AccessibilityState; + +/** + * @brief 定义组件无障碍信息值。 + * + * @since 12 + */ +typedef struct ArkUI_AccessibilityValue ArkUI_AccessibilityValue; + /** * @brief 定义边缘滑动效果枚举值。 * @@ -2581,6 +2625,166 @@ void OH_ArkUI_SwiperIndicator_SetSelectedColor(ArkUI_SwiperIndicator* indicator, * @since 12 */ uint32_t OH_ArkUI_SwiperIndicator_GetSelectedColor(ArkUI_SwiperIndicator* indicator); + +/** + * @brief 创建无障碍状态。 + * + * @return 无障碍状态对象指针。 + * @since 12 +*/ +ArkUI_AccessibilityState* OH_ArkUI_AccessibilityState_Create(); + +/** +* @brief 销毁无障碍状态指针。 +* +* @param state 无障碍状态对象指针。 +* @since 12 +*/ +void* OH_ArkUI_AccessibilityState_Dispose(ArkUI_AccessibilityState* state); + +/** + * @brief 设置无障碍状态是否禁用。 + * + * @param state 无障碍状态对象指针。 + * @param isDisabled 无障碍状态是否禁用, 1表示禁用,0表示不禁用,默认为0。 + * @since 12 +*/ +void OH_ArkUI_AccessibilityState_SetDisabled(ArkUI_AccessibilityState* state, int32_t isDisabled); + +/** + * @brief 获取无障碍状态是否禁用。 + * + * @param state 无障碍状态对象指针。 + * @return 是否禁用, 1表示禁用,0表示未禁用,默认为0。 + * @since 12 +*/ +int32_t OH_ArkUI_AccessibilityState_GetDisabled(ArkUI_AccessibilityState* state); + +/** + * @brief 设置无障碍状态是否选中。 + * + * @param state 无障碍状态对象指针。 + * @param isSelected 是否被选中, 1表示选中,0表示未选中,默认为0。 + * @since 12 +*/ +void OH_ArkUI_AccessibilityState_SetSelected(ArkUI_AccessibilityState* state, int32_t isSelected); + +/** + * @brief 获取无障碍状态是否选中。 + * + * @param state 无障碍状态对象指针。 + * @return 是否被选中, 1表示选中,0表示未选中,默认为0。 + * @since 12 +*/ +int32_t OH_ArkUI_AccessibilityState_GetSelected(ArkUI_AccessibilityState* state); + +/** + * @brief 设置无障碍状态复选框状态。 + * + * @param state 无障碍状态对象指针。 + * @param checkedType 复选框状态,参数类型{@link ArkUI_AccessibilityCheckedType}, 默认值:ARKUI_ACCESSIBILITY_UNCHECKED。 + * @since 12 +*/ +void OH_ArkUI_AccessibilityState_SetCheckedType(ArkUI_AccessibilityState* state, int32_t checkedType); + +/** + * @brief 获取无障碍状态复选框状态。 + * + * @param state 无障碍状态对象指针。 + * @return 复选框状态,参数类型{@link ArkUI_AccessibilityCheckedType}, 默认值:ARKUI_ACCESSIBILITY_UNCHECKED。 + * @since 12 +*/ +int32_t OH_ArkUI_AccessibilityState_GetCheckedType(ArkUI_AccessibilityState* state); + +/** + * @brief 创建无障碍信息。 + * + * @return 无障碍信息对象指针。 + * @since 12 +*/ +ArkUI_AccessibilityValue* OH_ArkUI_AccessibilityValue_Create(); + +/** +* @brief 销毁无障碍信息指针。 +* +* @param state 无障碍信息对象指针。 +* @since 12 +*/ +void* OH_ArkUI_AccessibilityValue_Dispose(ArkUI_AccessibilityValue* value); + +/** + * @brief 设置无障碍最小值信息。 + * + * @param state 无障碍状态对象指针。 + * @param min 基于范围组件的最小值。 + * @since 12 +*/ +void OH_ArkUI_AccessibilityValue_SetMin(ArkUI_AccessibilityValue* state, int32_t min); + +/** + * @brief 获取无障碍最小值信息。 + * + * @param state 无障碍状态对象指针。 + * @return 基于范围组件的最小值。 + * @since 12 +*/ +int32_t OH_ArkUI_AccessibilityValue_GetMin(ArkUI_AccessibilityValue* state); + +/** + * @brief 设置无障碍最大值信息。 + * + * @param state 无障碍状态对象指针。 + * @param max 基于范围组件的最大值。 + * @since 12 +*/ +void OH_ArkUI_AccessibilityValue_SetMax(ArkUI_AccessibilityValue* state, int32_t max); + +/** + * @brief 获取无障碍最大值信息。 + * + * @param state 无障碍状态对象指针。 + * @return 基于范围组件的最大值。 + * @since 12 +*/ +int32_t OH_ArkUI_AccessibilityValue_GetMax(ArkUI_AccessibilityValue* state); + +/** + * @brief 设置无障碍当前值信息。 + * + * @param state 无障碍状态对象指针。 + * @param now 基于范围组件的当前值。 + * @since 12 +*/ +void OH_ArkUI_AccessibilityValue_SetNow(ArkUI_AccessibilityValue* state, int32_t now); + +/** + * @brief 获取无障碍当前值信息。 + * + * + * @param state 无障碍状态对象指针。 + * @return 基于范围组件的当前值。 + * @since 12 +*/ +int32_t OH_ArkUI_AccessibilityValue_GetNow(ArkUI_AccessibilityValue* state); + +/** + * @brief 设置无障碍文本描述信息。 + * + * @param state 无障碍状态对象指针。 + * @param text 组件的文本描述信息。 + * @since 12 +*/ +void OH_ArkUI_AccessibilityValue_SetText(ArkUI_AccessibilityValue* state, const char* text); + +/** + * @brief 获取无障碍文本描述信息。 + * + * + * @param state 无障碍状态对象指针。 + * @return 组件的文本描述信息。 + * @since 12 +*/ +const char* OH_ArkUI_AccessibilityValue_GetText(ArkUI_AccessibilityValue* state); #ifdef __cplusplus }; #endif