From 952397a49d7e923d5c7a8696810553b81d53dd6d Mon Sep 17 00:00:00 2001 From: "guojing.325@qq.com" Date: Mon, 20 May 2024 17:33:49 +0800 Subject: [PATCH 1/7] =?UTF-8?q?NDK-CAPI=20:=20add=20accessibility=20attrib?= =?UTF-8?q?ute=20:id=E3=80=81state=20=E3=80=81value?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: guojing.325@qq.com --- arkui/ace_engine/native/libace.ndk.json | 72 ++++++++ arkui/ace_engine/native/native_node.h | 57 +++++++ arkui/ace_engine/native/native_type.h | 216 ++++++++++++++++++++++++ 3 files changed, 345 insertions(+) diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index b5f15e435..9716d2189 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -1158,5 +1158,77 @@ { "first_introduced": "12", "name": "OH_ArkUI_ListItemSwipeActionOption_SetOnOffsetChange" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityState_Create" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityState_Dispose" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityState_SetDisabled" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityState_IsDisabled" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityState_SetSelected" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityState_IsSelected" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityState_SetCheckedType" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityState_GetCheckedType" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityValue_Create" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityValue_Dispose" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityValue_SetMin" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityValue_GetMin" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityValue_SetMax" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityValue_GetMax" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityValue_SetCurrent" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityValue_GetCurrent" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityValue_SetText" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_AccessibilityValue_GetText" } ] \ No newline at end of file diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 5df060447..667b691c3 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -1617,6 +1617,63 @@ typedef enum { */ NODE_FOCUS_ON_TOUCH, + /** + * @brief Accessible ID, which can be obtained as required through APIs. + * + * Format of the return value {@link ArkUI_AttributeItem}:\n + * .value[0].i32:Accessible ID。\n + * + */ + NODE_ACCESSIBILITY_ID, + + /** + * @brief Define accessible actions, which can be set, reset, and obtained as required through APIs. + * + * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n + * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n + * \n + * Format of the return value {@link ArkUI_AttributeItem}:\n + * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n + * + */ + NODE_ACCESSIBILITY_ACTIONS, + + /** + * @brief Define accessible role, which can be set, reset, and obtained as required through APIs. + * + * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n + * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n + * \n + * Format of the return value {@link ArkUI_AttributeItem}:\n + * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n + * + */ + NODE_ACCESSIBILITY_ROLE, + + /** + * @brief Define accessible state, which can be set, reset, and obtained as required through APIs. + * + * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n + * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n + * \n + * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n + * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n + * + */ + NODE_ACCESSIBILITY_STATE, + + /** + * @brief Define accessible value, which can be set, reset, and obtained as required through APIs. + * + * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n + * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n + * \n + * Format of the return value {@link ArkUI_AttributeItem}:\n + * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n + * + */ + NODE_ACCESSIBILITY_VALUE, + /** * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. * diff --git a/arkui/ace_engine/native/native_type.h b/arkui/ace_engine/native/native_type.h index 381ea6d42..e08b0ee81 100644 --- a/arkui/ace_engine/native/native_type.h +++ b/arkui/ace_engine/native/native_type.h @@ -518,6 +518,52 @@ typedef struct { int32_t size; } ARKUI_TextPickerCascadeRangeContent; +/** + * @brief 定义无障碍复选框状态类型枚举值。 + * + * @since 12 + */ +typedef enum { + /** 复选框未被选中。*/ + ARKUI_ACCESSIBILITY_UNCHECKED = 0, + /** 复选框被选中。*/ + ARKUI_ACCESSIBILITY_CHECKED, +} ArkUI_AccessibilityCheckedType; + + +/** + * @brief Define accessible action types. + * + * @since 12 + */ +typedef enum { + /** click action. */ + ARKUI_ACCESSIBILITY_ACTION_CLICK = 1 << 0, + /** long click action. */ + ARKUI_ACCESSIBILITY_ACTION_LONG_CLICK = 1 << 1, + /** cut action. */ + ARKUI_ACCESSIBILITY_ACTION_CUT = 1 << 2, + /** copy action. */ + ARKUI_ACCESSIBILITY_ACTION_COPY = 1 << 3, + /** paste action. */ + 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 Enumerates the effects used at the edges of the component when the boundary of the scrollable content is * reached. @@ -2912,6 +2958,176 @@ int32_t OH_ArkUI_ListItemSwipeActionOption_GetEdgeEffect(ArkUI_ListItemSwipeActi void OH_ArkUI_ListItemSwipeActionOption_SetOnOffsetChange(ArkUI_ListItemSwipeActionOption* option, void (*callback)(float offset)); +/** + * @brief Create accessibility state. + * + * @return accessibility state object. + * @since 12 +*/ +ArkUI_AccessibilityState* OH_ArkUI_AccessibilityState_Create(void); + +/** +* @brief Dispose accessibility state. +* +* @param state accessibility state object. +* @since 12 +*/ +void OH_ArkUI_AccessibilityState_Dispose(ArkUI_AccessibilityState* state); + +/** + * @brief Set accessibility state disabled. + * + * @param state accessibility state object. + * @param isDisabled accessibility state disabled, Value 1 indicates disabled and 0 indicates enbled. + * @since 12 +*/ +void OH_ArkUI_AccessibilityState_SetDisabled(ArkUI_AccessibilityState* state, int32_t isDisabled); + +/** + * @brief Get accessibility state disabled. + * + * @param state accessibility state object. + * @return accessibility state disabled, Value 1 indicates disabled and 0 indicates enbled. The default value is 0. + * If the function parameter is abnormal, return the default value. + * @since 12 +*/ +int32_t OH_ArkUI_AccessibilityState_IsDisabled(ArkUI_AccessibilityState* state); + +/** + * @brief Set accessibility state selected. + * + * @param state accessibility state object. + * @param isSelected accessibility state selected, Value 1 indicates selected, and 0 indicates not selected. + * The default value is 0. + * @since 12 +*/ +void OH_ArkUI_AccessibilityState_SetSelected(ArkUI_AccessibilityState* state, int32_t isSelected); + +/** + * @brief Get accessibility state selected. + * + * @param state accessibility state object. + * @return accessibility state selected, Value 1 indicates selected, and 0 indicates not selected. + * The default value is 0. + * If the function parameter is abnormal, return the default value. + * @since 12 +*/ +int32_t OH_ArkUI_AccessibilityState_IsSelected(ArkUI_AccessibilityState* state); + +/** + * @brief Set accessibility state checked type. + * + * @param state accessibility state object. + * @param checkedType checked type,and uses the {@link ArkUI_AccessibilityCheckedType} enumeration value, + * The default value is ARKUI_ACCESSIBILITY_UNCHECKED. + * @since 12 +*/ +void OH_ArkUI_AccessibilityState_SetCheckedType(ArkUI_AccessibilityState* state, int32_t checkedType); + +/** + * @brief Get accessibility state checked type. + * + * @param state accessibility state object. + * @return checked type,and uses the {@link ArkUI_AccessibilityCheckedType} enumeration value, + * The default value is ARKUI_ACCESSIBILITY_UNCHECKED. + * If the function parameter is abnormal, return the default value. + * @since 12 +*/ +int32_t OH_ArkUI_AccessibilityState_GetCheckedType(ArkUI_AccessibilityState* state); + +/** + * @brief Create accessibility value. + * + * @return accessibility value object. + * @since 12 +*/ +ArkUI_AccessibilityValue* OH_ArkUI_AccessibilityValue_Create(void); + +/** +* @brief Dispose accessibility value. +* +* @param state accessibility value object. +* @since 12 +*/ +void OH_ArkUI_AccessibilityValue_Dispose(ArkUI_AccessibilityValue* value); + +/** + * @brief Set accessibility minimum value. + * + * @param value accessibility value object. + * @param min minimum value based on range components, The default value is -1。 + * @since 12 +*/ +void OH_ArkUI_AccessibilityValue_SetMin(ArkUI_AccessibilityValue* value, int32_t min); + +/** + * @brief Get accessibility minimum value. + * + * @param value accessibility value object. + * @return minimum value based on range components, The default value is -1。 + * If the function parameter is abnormal, return -1. + * @since 12 +*/ +int32_t OH_ArkUI_AccessibilityValue_GetMin(ArkUI_AccessibilityValue* value); + +/** + * @brief Set accessibility minimum value. + * + * @param value accessibility value object. + * @param max maximum value based on range components, The default value is -1。 + * @since 12 +*/ +void OH_ArkUI_AccessibilityValue_SetMax(ArkUI_AccessibilityValue* value, int32_t max); + +/** + * @brief Get accessibility minimum value. + * + * @param value accessibility value object. + * @return maximum value based on range components, The default value is -1。 + * If the function parameter is abnormal, return -1. + * @since 12 +*/ +int32_t OH_ArkUI_AccessibilityValue_GetMax(ArkUI_AccessibilityValue* value); + +/** + * @brief Set accessibility current value. + * + * @param value accessibility value object. + * @param current value based on range components, The default value is -1。 + * @since 12 +*/ +void OH_ArkUI_AccessibilityValue_SetCurrent(ArkUI_AccessibilityValue* value, int32_t current); + +/** + * @brief Get accessibility current value. + * + * + * @param value accessibility value object. + * @return current value based on range components, The default value is -1。 + * If the function parameter is abnormal, return -1. + * @since 12 +*/ +int32_t OH_ArkUI_AccessibilityValue_GetCurrent(ArkUI_AccessibilityValue* value); + +/** + * @brief Set accessibility text value. + * + * @param value accessibility value object. + * @param text The textual description information of the component, which defaults to an empty string。 + * @since 12 +*/ +void OH_ArkUI_AccessibilityValue_SetText(ArkUI_AccessibilityValue* value, const char* text); + +/** + * @brief Get accessibility text value。 + * + * + * @param value accessibility value object. + * @return The textual description information of the component, which defaults to an empty string; + * If the function parameter is abnormal, return null. + * @since 12 +*/ +const char* OH_ArkUI_AccessibilityValue_GetText(ArkUI_AccessibilityValue* value); #ifdef __cplusplus }; #endif -- Gitee From a1c4fdb219883e953b1bc6a7800b298c6d3f0379 Mon Sep 17 00:00:00 2001 From: "guojing.325@qq.com" Date: Mon, 20 May 2024 20:29:06 +0800 Subject: [PATCH 2/7] =?UTF-8?q?NDK-CAPI=20:=20add=20accessibility=20attrib?= =?UTF-8?q?ute=20:id=E3=80=81state=20=E3=80=81value?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: guojing.325@qq.com --- arkui/ace_engine/native/native_type.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/arkui/ace_engine/native/native_type.h b/arkui/ace_engine/native/native_type.h index e08b0ee81..21bea766b 100644 --- a/arkui/ace_engine/native/native_type.h +++ b/arkui/ace_engine/native/native_type.h @@ -3101,7 +3101,6 @@ void OH_ArkUI_AccessibilityValue_SetCurrent(ArkUI_AccessibilityValue* value, int /** * @brief Get accessibility current value. * - * * @param value accessibility value object. * @return current value based on range components, The default value is -1。 * If the function parameter is abnormal, return -1. @@ -3121,7 +3120,6 @@ void OH_ArkUI_AccessibilityValue_SetText(ArkUI_AccessibilityValue* value, const /** * @brief Get accessibility text value。 * - * * @param value accessibility value object. * @return The textual description information of the component, which defaults to an empty string; * If the function parameter is abnormal, return null. -- Gitee From bd0a78f40adca5e4d7c9423b1f4516e2aac4e1ab Mon Sep 17 00:00:00 2001 From: "guojing.325@qq.com" Date: Tue, 21 May 2024 09:47:53 +0800 Subject: [PATCH 3/7] NDK-CAPI : add accessibility attribute Signed-off-by: guojing.325@qq.com --- arkui/ace_engine/native/native_node.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 667b691c3..646092fa3 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -1624,7 +1624,7 @@ typedef enum { * .value[0].i32:Accessible ID。\n * */ - NODE_ACCESSIBILITY_ID, + NODE_ACCESSIBILITY_ID = 85, /** * @brief Define accessible actions, which can be set, reset, and obtained as required through APIs. @@ -1636,7 +1636,7 @@ typedef enum { * .value[0].u32:accessible action types,and uses the {@link ArkUI_AccessibilityActionType} enumeration value.\n * */ - NODE_ACCESSIBILITY_ACTIONS, + NODE_ACCESSIBILITY_ACTIONS = 86, /** * @brief Define accessible role, which can be set, reset, and obtained as required through APIs. @@ -1648,7 +1648,7 @@ typedef enum { * .value[0].u32:accessible role type,and uses the {@link ArkUI_NodeType} enumeration value.\n * */ - NODE_ACCESSIBILITY_ROLE, + NODE_ACCESSIBILITY_ROLE = 87, /** * @brief Define accessible state, which can be set, reset, and obtained as required through APIs. @@ -1660,7 +1660,7 @@ typedef enum { * .object:the parameter type is {@link ArkUI_AccessibilityState}.\n * */ - NODE_ACCESSIBILITY_STATE, + NODE_ACCESSIBILITY_STATE = 88, /** * @brief Define accessible value, which can be set, reset, and obtained as required through APIs. @@ -1672,7 +1672,7 @@ typedef enum { * .object:the parameter type is {@link ArkUI_AccessibilityValue}.\n * */ - NODE_ACCESSIBILITY_VALUE, + NODE_ACCESSIBILITY_VALUE = 89, /** * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. -- Gitee From cdf68103dc4cb87517ac3dc87628987e9cd76fdc Mon Sep 17 00:00:00 2001 From: "guojing.325@qq.com" Date: Tue, 21 May 2024 11:01:34 +0800 Subject: [PATCH 4/7] NDK-CAPI : add accessibility attribute Signed-off-by: guojing.325@qq.com --- arkui/ace_engine/native/native_node.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 646092fa3..b566a3b18 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -5169,6 +5169,19 @@ typedef enum { */ NODE_EVENT_ON_DETACH, + /** + * @brief Defines the accessibility action event. + * + * This event is triggered when The accessibility operation type has been set and + * corresponding operations have been carried out. \n + * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is + * {@link ArkUI_NodeComponentEvent}. \n + * {@link ArkUI_NodeComponentEvent} contains one parameters:\n + * ArkUI_NodeComponentEvent.data[0].u32: accessibility action type,the union type is + * {@link ArkUI_AccessibilityActionType} \n + * + */ + NODE_ON_ACCESSIBILITY_ACTIONS = 13, /** * @brief Triggers onDetectResultUpdate callback * when the text is set to TextDataDetectorConfig and recognized successfully. -- Gitee From d24580f7e467105aa786751657a6be726ceb3376 Mon Sep 17 00:00:00 2001 From: "guojing.325@qq.com" Date: Wed, 22 May 2024 16:14:31 +0800 Subject: [PATCH 5/7] NDK-CAPI : add accessibility attribute Signed-off-by: guojing.325@qq.com --- arkui/ace_engine/native/native_type.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/arkui/ace_engine/native/native_type.h b/arkui/ace_engine/native/native_type.h index 21bea766b..6fac2c068 100644 --- a/arkui/ace_engine/native/native_type.h +++ b/arkui/ace_engine/native/native_type.h @@ -528,7 +528,7 @@ typedef enum { ARKUI_ACCESSIBILITY_UNCHECKED = 0, /** 复选框被选中。*/ ARKUI_ACCESSIBILITY_CHECKED, -} ArkUI_AccessibilityCheckedType; +} ArkUI_AccessibilityCheckedState; /** @@ -3018,22 +3018,22 @@ int32_t OH_ArkUI_AccessibilityState_IsSelected(ArkUI_AccessibilityState* state); * @brief Set accessibility state checked type. * * @param state accessibility state object. - * @param checkedType checked type,and uses the {@link ArkUI_AccessibilityCheckedType} enumeration value, + * @param checkState checked state,and uses the {@link ArkUI_AccessibilityCheckedState} enumeration value, * The default value is ARKUI_ACCESSIBILITY_UNCHECKED. * @since 12 */ -void OH_ArkUI_AccessibilityState_SetCheckedType(ArkUI_AccessibilityState* state, int32_t checkedType); +void OH_ArkUI_AccessibilityState_SetCheckedState(ArkUI_AccessibilityState* state, int32_t checkState); /** * @brief Get accessibility state checked type. * * @param state accessibility state object. - * @return checked type,and uses the {@link ArkUI_AccessibilityCheckedType} enumeration value, + * @return checked state,and uses the {@link ArkUI_AccessibilityCheckedState} enumeration value, * The default value is ARKUI_ACCESSIBILITY_UNCHECKED. * If the function parameter is abnormal, return the default value. * @since 12 */ -int32_t OH_ArkUI_AccessibilityState_GetCheckedType(ArkUI_AccessibilityState* state); +int32_t OH_ArkUI_AccessibilityState_GetCheckedState(ArkUI_AccessibilityState* state); /** * @brief Create accessibility value. -- Gitee From 24b6bca17184bcb233f5e5950d6d7b3f4bd3940b Mon Sep 17 00:00:00 2001 From: "guojing.325@qq.com" Date: Wed, 22 May 2024 16:15:42 +0800 Subject: [PATCH 6/7] NDK-CAPI : add accessibility attribute Signed-off-by: guojing.325@qq.com --- arkui/ace_engine/native/native_type.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arkui/ace_engine/native/native_type.h b/arkui/ace_engine/native/native_type.h index 6fac2c068..693da430d 100644 --- a/arkui/ace_engine/native/native_type.h +++ b/arkui/ace_engine/native/native_type.h @@ -3015,7 +3015,7 @@ void OH_ArkUI_AccessibilityState_SetSelected(ArkUI_AccessibilityState* state, in int32_t OH_ArkUI_AccessibilityState_IsSelected(ArkUI_AccessibilityState* state); /** - * @brief Set accessibility state checked type. + * @brief Set accessibility checked state. * * @param state accessibility state object. * @param checkState checked state,and uses the {@link ArkUI_AccessibilityCheckedState} enumeration value, @@ -3025,7 +3025,7 @@ int32_t OH_ArkUI_AccessibilityState_IsSelected(ArkUI_AccessibilityState* state); void OH_ArkUI_AccessibilityState_SetCheckedState(ArkUI_AccessibilityState* state, int32_t checkState); /** - * @brief Get accessibility state checked type. + * @brief Get accessibility checked state. * * @param state accessibility state object. * @return checked state,and uses the {@link ArkUI_AccessibilityCheckedState} enumeration value, -- Gitee From 51ca14ee40a810d7cf51cc495bcd8cec150f6f04 Mon Sep 17 00:00:00 2001 From: "guojing.325@qq.com" Date: Wed, 22 May 2024 17:12:44 +0800 Subject: [PATCH 7/7] NDK-CAPI : add accessibility attribute Signed-off-by: guojing.325@qq.com --- arkui/ace_engine/native/native_type.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arkui/ace_engine/native/native_type.h b/arkui/ace_engine/native/native_type.h index 693da430d..65106133e 100644 --- a/arkui/ace_engine/native/native_type.h +++ b/arkui/ace_engine/native/native_type.h @@ -2961,7 +2961,8 @@ void OH_ArkUI_ListItemSwipeActionOption_SetOnOffsetChange(ArkUI_ListItemSwipeAct /** * @brief Create accessibility state. * - * @return accessibility state object. + * @return accessibility state object. If the object returns a null pointer, + * it indicates a creation failure, and the reason for the failure may be that the address space is full. * @since 12 */ ArkUI_AccessibilityState* OH_ArkUI_AccessibilityState_Create(void); @@ -3038,7 +3039,8 @@ int32_t OH_ArkUI_AccessibilityState_GetCheckedState(ArkUI_AccessibilityState* st /** * @brief Create accessibility value. * - * @return accessibility value object. + * @return accessibility value object. If the object returns a null pointer, + * it indicates a creation failure, and the reason for the failure may be that the address space is full. * @since 12 */ ArkUI_AccessibilityValue* OH_ArkUI_AccessibilityValue_Create(void); -- Gitee