From 70361827a4a38e416524f98c746900d64a81079a Mon Sep 17 00:00:00 2001 From: "guojing.325@qq.com" Date: Sat, 11 May 2024 21:10:40 +0800 Subject: [PATCH 1/3] NDK-CAPI : add accessibility attribute Signed-off-by: guojing.325@qq.com --- zh-cn/native_sdk/ace/native_node.h | 68 ++++++++++++++++++++++++++++++ zh-cn/native_sdk/ace/native_type.h | 30 +++++++++++++ 2 files changed, 98 insertions(+) diff --git a/zh-cn/native_sdk/ace/native_node.h b/zh-cn/native_sdk/ace/native_node.h index ee621a30..4c5e6712 100644 --- a/zh-cn/native_sdk/ace/native_node.h +++ b/zh-cn/native_sdk/ace/native_node.h @@ -1394,6 +1394,74 @@ typedef enum { */ NODE_FOREGROUND_BLUR_STYLE, + /** + * @brief 无障碍自定义标识ID,支持属性获取。 + * + * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n + * .value[0].i32:无障碍自定义标识ID。\n + * + */ + NODE_ACCESSIBILITY_ID, + + /** + * @brief 定义无障碍支持操作类型属性,支持属性设置,属性重置和属性获取。 + * + * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n + * .value[0].i32:配置无障碍操作类型,参数类型{@link ArkUI_AccessibilityActionType}。 + * \n + * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n + * .value[0].i32:配置无障碍操作类型,参数类型{@link ArkUI_AccessibilityActionType}。 + * + */ + NODE_ACCESSIBILITY_ACTIONS, + + /** + * @brief 定义无障碍组件类型属性,支持属性设置,属性重置和属性获取。 + * + * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n + * .value[0].i32:无障碍组件类型,参数类型{@link ArkUI_NodeType}。 + * \n + * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n + * .value[0].i32:无障碍组件类型,参数类型{@link ArkUI_NodeType}。 + * + */ + NODE_ACCESSIBILITY_ROLE, + + /** + * @brief 定义无障碍状态属性,支持属性设置,属性重置和属性获取。 + * + * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n + * .object:参数类型{@Link ARKUI_AccessibilityState}。 + * .value[0]?.i32:是否启用, 1表示启动,0表示不启动, 默认值0; \n + * .value[1]?.i32: 是否被选中, 1表示选中,0表示未被选中,默认值0。 \n + * .value[2]?.i32: 复选框状态,参数类型{@link ArkUI_AccessibilityCheckedType}, 默认值:ARKUI_ACCESSIBILITY_UNCHECKED。\n + * \n + * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n + * .value[0].i32:是否启用, 1表示启动,0表示不启动; \n + * .value[1].i32: 是否被选中, 1表示选中,0表示未被选中。 \n + * .value[2].i32: 复选框状态,参数类型{@link ArkUI_AccessibilityCheckedType}。\n + * + */ + NODE_ACCESSIBILITY_STATE, + + /** + * @brief 定义无障碍信息属性,支持属性设置,属性重置和属性获取。 + * + * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n + * .value[0]?.i32:基于范围组件的最小值, 默认值为-1; \n + * .value[1]?.i32: 基于范围组件的最大值,默认值为-1。 \n + * .value[2]?.i32: 基于范围组件的当前值,默认值为-1。 \n + * ?.string: 组件的文本描述信息,默认为空。\n + * \n + * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n + * .value[0].i32:基于范围组件的最小值, 默认值为-1; \n + * .value[1].i32: 基于范围组件的最大值,默认值为-1。 \n + * .value[2].i32: 基于范围组件的当前值,默认值为-1。 \n + * .string: 组件的文本描述信息,默认为空。\n + * + */ + NODE_ACCESSIBILITY_VALUE, + /** * @brief 组件内隐式共享元素转场,支持属性设置,属性重置,属性获取接口。 * diff --git a/zh-cn/native_sdk/ace/native_type.h b/zh-cn/native_sdk/ace/native_type.h index d42c0b40..a3d30176 100644 --- a/zh-cn/native_sdk/ace/native_type.h +++ b/zh-cn/native_sdk/ace/native_type.h @@ -487,6 +487,36 @@ 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 = 0, + /** 长按操作。*/ + ARKUI_ACCESSIBILITY_ACTION_LONG_CLICK, + /** 剪切操作。*/ + ARKUI_ACCESSIBILITY_ACTION_CUT, + /** 复制操作。*/ + ARKUI_ACCESSIBILITY_ACTION_COPY, + /** 粘贴操作。*/ + ARKUI_ACCESSIBILITY_ACTION_PASTE, +} ArkUI_AccessibilityActionType; + /** * @brief 定义边缘滑动效果枚举值。 * -- Gitee From a3b5c3616977dd6d133ec6bdb29d4fc48e92f991 Mon Sep 17 00:00:00 2001 From: "guojing.325@qq.com" Date: Sat, 11 May 2024 21:12:47 +0800 Subject: [PATCH 2/3] NDK-CAPI : add accessibility attribute Signed-off-by: guojing.325@qq.com --- zh-cn/native_sdk/ace/native_node.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/zh-cn/native_sdk/ace/native_node.h b/zh-cn/native_sdk/ace/native_node.h index 4c5e6712..526662d8 100644 --- a/zh-cn/native_sdk/ace/native_node.h +++ b/zh-cn/native_sdk/ace/native_node.h @@ -4629,6 +4629,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回调。 * -- Gitee From 8236b4e2aac1f45eaed5182a10450de669b6774f Mon Sep 17 00:00:00 2001 From: "guojing.325@qq.com" Date: Sat, 11 May 2024 21:33:43 +0800 Subject: [PATCH 3/3] NDK-CAPI : add accessibility attribute Signed-off-by: guojing.325@qq.com --- zh-cn/native_sdk/ace/native_node.h | 8 ++++---- zh-cn/native_sdk/ace/native_type.h | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/zh-cn/native_sdk/ace/native_node.h b/zh-cn/native_sdk/ace/native_node.h index 526662d8..fe64d6f2 100644 --- a/zh-cn/native_sdk/ace/native_node.h +++ b/zh-cn/native_sdk/ace/native_node.h @@ -1407,10 +1407,10 @@ typedef enum { * @brief 定义无障碍支持操作类型属性,支持属性设置,属性重置和属性获取。 * * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n - * .value[0].i32:配置无障碍操作类型,参数类型{@link ArkUI_AccessibilityActionType}。 + * .value[0].u32:配置无障碍操作类型,参数类型{@link ArkUI_AccessibilityActionType}。 * \n * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n - * .value[0].i32:配置无障碍操作类型,参数类型{@link ArkUI_AccessibilityActionType}。 + * .value[0].u32:配置无障碍操作类型,参数类型{@link ArkUI_AccessibilityActionType}。 * */ NODE_ACCESSIBILITY_ACTIONS, @@ -1419,10 +1419,10 @@ typedef enum { * @brief 定义无障碍组件类型属性,支持属性设置,属性重置和属性获取。 * * 属性设置方法{@link ArkUI_AttributeItem}参数格式: \n - * .value[0].i32:无障碍组件类型,参数类型{@link ArkUI_NodeType}。 + * .value[0].u32:无障碍组件类型,参数类型{@link ArkUI_NodeType}。 * \n * 属性获取方法返回值{@link ArkUI_AttributeItem}格式: \n - * .value[0].i32:无障碍组件类型,参数类型{@link ArkUI_NodeType}。 + * .value[0].u32:无障碍组件类型,参数类型{@link ArkUI_NodeType}。 * */ NODE_ACCESSIBILITY_ROLE, diff --git a/zh-cn/native_sdk/ace/native_type.h b/zh-cn/native_sdk/ace/native_type.h index a3d30176..caab932b 100644 --- a/zh-cn/native_sdk/ace/native_type.h +++ b/zh-cn/native_sdk/ace/native_type.h @@ -506,15 +506,15 @@ typedef enum { */ typedef enum { /** 点击操作。*/ - ARKUI_ACCESSIBILITY_ACTION_CLICK = 0, + ARKUI_ACCESSIBILITY_ACTION_CLICK = 1 << 0, /** 长按操作。*/ - ARKUI_ACCESSIBILITY_ACTION_LONG_CLICK, + ARKUI_ACCESSIBILITY_ACTION_LONG_CLICK = 1 << 1, /** 剪切操作。*/ - ARKUI_ACCESSIBILITY_ACTION_CUT, + ARKUI_ACCESSIBILITY_ACTION_CUT = 1 << 2, /** 复制操作。*/ - ARKUI_ACCESSIBILITY_ACTION_COPY, + ARKUI_ACCESSIBILITY_ACTION_COPY = 1 << 3, /** 粘贴操作。*/ - ARKUI_ACCESSIBILITY_ACTION_PASTE, + ARKUI_ACCESSIBILITY_ACTION_PASTE = 1 << 4, } ArkUI_AccessibilityActionType; /** -- Gitee