From 689e606ba44eb3471e0d3e043f7b4760b88ab6b1 Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Fri, 20 Jun 2025 10:51:30 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E8=BE=85=E5=8A=A9=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E6=9E=B6=E6=9E=84=E4=BC=98=E5=8C=96-=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=B3=BB=E7=BB=9Fapi=E8=AF=B4=E6=98=8E=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuzhiwei --- .../apis-accessibility-kit/Readme-EN.md | 1 + ...ation-accessibilityExtensionAbility-sys.md | 209 +++++ ...ation-accessibilityExtensionContext-sys.md | 769 ++++++++++++++++++ .../apis-accessibility-kit/Readme-CN.md | 1 + ...ation-accessibilityExtensionAbility-sys.md | 211 +++++ ...ation-accessibilityExtensionContext-sys.md | 745 ++++++++++++++++- 6 files changed, 1935 insertions(+), 1 deletion(-) create mode 100644 en/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md create mode 100644 zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md diff --git a/en/application-dev/reference/apis-accessibility-kit/Readme-EN.md b/en/application-dev/reference/apis-accessibility-kit/Readme-EN.md index 4b8d61a04e7..3e06c39339c 100644 --- a/en/application-dev/reference/apis-accessibility-kit/Readme-EN.md +++ b/en/application-dev/reference/apis-accessibility-kit/Readme-EN.md @@ -8,6 +8,7 @@ - [AccessibilityExtensionContext](js-apis-inner-application-accessibilityExtensionContext.md) - [@ohos.accessibility.config (System Accessibility Configuration) (System API)](js-apis-accessibility-config-sys.md) + - [@ohos.application.AccessibilityExtensionAbility (AccessibilityExtensionAbilit)(System API)](js-apis-application-accessibilityExtensionAbility-sys.md) - [AccessibilityExtensionContext (System API)](js-apis-inner-application-accessibilityExtensionContext-sys.md) - Error Codes diff --git a/en/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md b/en/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md new file mode 100644 index 00000000000..c79b8b76e53 --- /dev/null +++ b/en/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md @@ -0,0 +1,209 @@ +# @ohos.application.AccessibilityExtensionAbility (AccessibilityExtensionAbility)(System API) + +The **AccessibilityExtensionAbility** module provides accessibility extension capabilities based on the ExtensionAbility framework. + +> **NOTE** +> +> - The initial APIs of this module are supported since API version 20. Newly added APIs will be marked with a superscript to indicate their earliest API version. + +## Modules to Import + +```ts +import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEventType } from '@kit.AccessibilityKit'; +``` + +## AccessibilityEventType + +Enumerates accessibility event types. + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +| Type |value| Description | +| ----------------------- |----|------------------------| +| TYPE_ACCESSIBILITY_FOCUS |0 | Event indicating that the accessibility focus is obtained. | +| TYPE_ACCESSIBILITY_FOCUS_CLEAR |1| Event indicating that the accessibility focus is cleared. | +| TYPE_CLICK |2| Event of clicking a component. | +| TYPE_LONG_CLICK |3| Event indicating that the component is long pressed. | +| TYPE_SELECT |4| Event of selecting a component. | +| TYPE_HOVER_ENTER |5| Event indicating that the hover enters a component. | +| TYPE_HOVER_EXIT |6| Event indicating that the hover exits a component. | +| TYPE_FOCUS |7| Event indicating that the component obtains the focus. Not supported currently. | +| TYPE_TEXT_UPDATE |8| Event indicating that the component text has been updated.| +| TYPE_TEXT_SELECTION_UPDATE |9| Event indicating that the selected text has been updated. Not supported currently.| +| TYPE_SCROLL |10| Event of the scroll view. | +| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY |11| Event of the auto-focusing.| +| TYPE_ANNOUNCE_FOR_ACCESSIBILITY |12| Event of the auto-broadcasting.| +| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY_NOT_INTERRUPT |13| Event of the auto-focusing without interruption.| +| TYPE_ANNOUNCE_FOR_ACCESSIBILITY_NOT_INTERRUPT |14| Event of the auto-broadcasting without interruption.| +| TYPE_ELEMENT_INFO_CHANGE |15 | Event of element info change +| TYPE_SCROLLING |16| Event indicating that an item is scrolled out of the screen in the scrolling view.| +| TYPE_WINDOW_ADD |17| Window adding. | +| TYPE_WINDOW_REMOVE |18| Window deletion. | +| TYPE_WINDOW_BOUNDS |19| Window boundary change. | +| TYPE_WINDOW_ACTIVE |20| Window activity change.| +| TYPE_WINDOW_FOCUS |21| Window focus change. | +| TYPE_WINDOW_PROPERTY |22| Window property change.| +| TYPE_WINDOW_LAYER |23| Window layer change. | +| TYPE_TOUCH_BEGIN |24| Start of touch in touch guide mode.| +| TYPE_TOUCH_END |25| End of touch in touch guide mode.| +| TYPE_PAGE_CONTENT_UPDATE |26| Update of the page content.| +| TYPE_PAGE_STATE_UPDATE |27| Update of the page status.| +| TYPE_PAGE_OPEN |28| page change to open status.| +| TYPE_PAGE_CLOSE |29| page change to close status.| +| TYPE_SWIPE_LEFT |30| Left gesture. | +| TYPE_SWIPE_LEFT_THEN_RIGHT |31| Left-then-right gesture.| +| TYPE_SWIPE_LEFT_THEN_UP |32| Left-then-up gesture.| +| TYPE_SWIPE_LEFT_THEN_DOWN |33| Left-then-down gesture.| +| TYPE_SWIPE_RIGHT |34| Right gesture. | +| TYPE_SWIPE_RIGHT_THEN_LEFT |35| Right-then-left gesture.| +| TYPE_SWIPE_RIGHT_THEN_UP |36| Right-then-up gesture.| +| TYPE_SWIPE_RIGHT_THEN_DOWN |37| Right-then-down gesture.| +| TYPE_SWIPE_UP |38| Up gesture. | +| TYPE_SWIPE_UP_THEN_LEFT |39| Up-then-left gesture.| +| TYPE_SWIPE_UP_THEN_RIGHT |40| Up-then-right gesture.| +| TYPE_SWIPE_UP_THEN_DOWN |41| Up-then-down gesture.| +| TYPE_SWIPE_DOWN |42| Down gesture. | +| TYPE_SWIPE_DOWN_THEN_LEFT |43| Down-then-left gesture.| +| TYPE_SWIPE_DOWN_THEN_RIGHT |44| Down-then-right gesture.| +| TYPE_SWIPE_DOWN_THEN_UP |45| Down-then-up gesture.| +| TYPE_TWO_FINGER_SINGLE_TAP |46| Two-finger tap gesture.| +| TYPE_TWO_FINGER_DOUBLE_TAP |47| Two-finger double-tap gesture.| +| TYPE_TWO_FINGER_DOUBLE_TAP_AND_HOLD |48| Two-finger double-tap and press-and-hold gesture.| +| TYPE_TWO_FINGER_TRIPLE_TAP |49| Two-finger triple-tap gesture.| +| TYPE_TWO_FINGER_TRIPLE_TAP_AND_HOLD |50| Two-finger triple-tap and press-and-hold gesture.| +| TYPE_THREE_FINGER_SINGLE_TAP |51| Three-finger tap gesture.| +| TYPE_THREE_FINGER_DOUBLE_TAP |52| Three-finger double-tap gesture.| +| TYPE_THREE_FINGER_DOUBLE_TAP_AND_HOLD |53| Three-finger double-tap and press-and-hold gesture.| +| TYPE_THREE_FINGER_TRIPLE_TAP |54| Three-finger triple-tap gesture.| +| TYPE_THREE_FINGER_TRIPLE_TAP_AND_HOLD |55| Three-finger triple-tap and press-and-hold gesture.| +| TYPE_FOUR_FINGER_SINGLE_TAP |56| Four-finger tap gesture.| +| TYPE_FOUR_FINGER_DOUBLE_TAP |57| Four-finger double-tap gesture.| +| TYPE_FOUR_FINGER_DOUBLE_TAP_AND_HOLD |58| Four-finger double-tap and press-and-hold gesture.| +| TYPE_FOUR_FINGER_TRIPLE_TAP |59| Four-finger triple-tap gesture.| +| TYPE_FOUR_FINGER_TRIPLE_TAP_AND_HOLD |60| Four-finger triple-tap and press-and-hold gesture.| +| TYPE_THREE_FINGER_SWIPE_UP |61| Three-finger swipe-up gesture.| +| TYPE_THREE_FINGER_SWIPE_DOWN |62| Three-finger swipe-down gesture.| +| TYPE_THREE_FINGER_SWIPE_LEFT |63| Three-finger swipe-left gesture.| +| TYPE_THREE_FINGER_SWIPE_RIGHT |64| Three-finger swipe-right gesture.| +| TYPE_FOUR_FINGER_SWIPE_UP |65| Four-finger swipe-up gesture.| +| TYPE_FOUR_FINGER_SWIPE_DOWN |66| Four-finger swipe-down gesture.| +| TYPE_FOUR_FINGER_SWIPE_LEFT |67| Four-finger swipe-left gesture.| +| TYPE_FOUR_FINGER_SWIPE_RIGHT |68| Four-finger swipe-right gesture.| + +## AccessibilityEventInfo + +Defines an accessibility event. + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +### Attributes + +| Name | Type | Readable | Writable | Description | +| --------- |----------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------| ------------------------------------------------------------ | +| eventType | [AccessibilityEventType](#accessibilityeventtype) | Yes | No | Event type| +| target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9) | Yes | No | Target component where the event occurs. | +| timeStamp | number | Yes | No | Timestamp of the event, in milliseconds. | +| elementId | number | Yes | No | Component ID for auto-focusing. | +| textAnnouncedForAccessibility | string | Yes | No | Content for auto-broadcasting. | +| extraInfo | string | NO | Yes | The extra info of the element. The value is a JSON string.. | + +## AccessibilityExtensionAbility.onAccessibilityConnect + +onAccessibilityConnect(): void; + +Called when the **AccessibilityExtensionAbility** is enabled and connected to the system service. In this API, you can have the service logic initialized. This API can be overridden as required. + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Example** + +```ts +import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; + +class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { + onAccessibilityConnect(): void { + console.log('AxExtensionAbility onAccessibilityConnect'); + } +} +``` + +## AccessibilityExtensionAbility.onAccessibilityDisconnect + +onAccessibilityDisconnect(): void; + +Called when the **AccessibilityExtensionAbility** is disabled and disconnected from the system service. In this API, you can implement the service logic of resource release and exit. This API can be overridden as required. + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Example** + +```ts +import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; + +class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { + onAccessibilityDisconnect(): void { + console.log('AxExtensionAbility onDisconnect'); + } +} +``` + +## AccessibilityExtensionAbility.onAccessibilityEventInfo + +onAccessibilityEventInfo(event: AccessibilityEventInfo): void; + +Called when an event that matches the specified bundle and event type occurs. In this API, you can implement event-specific service logic. Generally, this API needs to be overridden. + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Parameters** + +| Name | Type | Mandatory | Description | +| ----- | ---------------------------------------- | ---- | --------------- | +| event | [AccessibilityEventInfo](#accessibilityeventinfo) | Yes | Accessibility event. No return value.| + +**Example** + +```ts +import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEventType } from '@kit.AccessibilityKit'; + +class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { + onAccessibilityEventInfo(event: AccessibilityEventInfo): void { + console.log('AxExtensionAbility onAccessibilityEventInfo'); + if (event.eventType === AccessibilityEventType.TYPE_CLICK) { + console.log('AxExtensionAbility onAccessibilityEventInfo: click'); + } + } +} +``` + +## AccessibilityExtensionAbility.onAccessibilityKeyEvent + +onAccessibilityKeyEvent(keyEvent: KeyEvent): boolean; + +Called when a physical key is pressed. In this API, you can determine whether to intercept an event based on the service. + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Parameters** + +| Name | Type | Mandatory | Description | +| -------- |--------------------------------------------------| ---- | ----------------------- | +| keyEvent | [KeyEvent](../apis-input-kit/js-apis-keyevent.md#keyevent) | Yes | Key event. If **true** is returned, the key is intercepted.| + +**Example** + +```ts +import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; +import { KeyEvent } from '@kit.InputKit'; + +class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { + onAccessibilityKeyEvent(keyEvent: KeyEvent): boolean { + console.log('AxExtensionAbility onKeyEvent'); + if (keyEvent.key.code === 16) { + console.log('AxExtensionAbility onAccessibilityKeyEvent: intercept 16'); + return true; + } + return false; + } +} +``` diff --git a/en/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/en/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index 5652cbff7ba..dfdfce3efd3 100644 --- a/en/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/en/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -23,6 +23,61 @@ class EntryAbility extends AccessibilityExtensionAbility { } ``` +### AccessibilityAction + +Actions that UI components can perform. + +**System Capability**: All items below correspond to `SystemCapability.BarrierFree.Accessibility.Core` + +| Name | Value | Description | +| ---------------------------- | ----- | ---------------------------------------- | +| ACCESSIBILITY\_FOCUS | 0 | Represents gaining accessibility focus. | +| CLEAR\_ACCESSIBILLITY\_FOCUS | 1 | Represents clearing accessibility focus. | +| FOCUS | 2 | Represents the component gaining focus. | +| CLEAR\_FOCUS | 3 | Represents clearing component focus. | +| CLICK | 4 | Represents clicking the component. | +| LONG\_CLICK | 5 | Represents long pressing the component. | +| CUT | 6 | Represents cutting the component content. | +| COPY | 7 | Represents copying the component content. | +| PASTE | 8 | Represents pasting content into the component. | +| SELECT | 9 | Represents selecting the component. | +| SET\_TEXT | 10 | Represents setting text to the component. | +| SCROLL\_FORWARD | 11 | Represents scrolling the component forward. | +| SCROLL\_BACKWARD | 12 | Represents scrolling the component backward. | +| SET\_SELECTION | 13 | Represents selecting a text range within the component. | +| SET\_CURSOR\_POSITION | 14 | Represents setting the cursor position in the component. | +| HOME | 15 | Represents performing the HOME operation. | +| BACK | 16 | Represents performing the back operation. | +| RECENT\_TASK | 17 | Represents showing recent tasks. | +| NOTIFICATION\_CENTER | 18 | Represents showing the notification center. | +| CONTROL\_CENTER | 19 | Represents showing the control center. | +| COMMON | 20 | Represents no specific action, used for proactive focus or announcements. | +| SPAN\_CLICK | 21 | Represents clicking a SPAN text element. | + +--- + +### Parameter + +When performing an `AccessibilityAction`, pass the second parameter of the `executeAction` method with the correct structure. Only the fields relevant to the specific action need to be filled; others can keep their default values. + +For example, for the action `AccessibilityAction.SET_SELECTION`, the second parameter to `executeAction` would look like: + +```ts +let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true } +``` + +**System Capability**: All items below correspond to `SystemCapability.BarrierFree.Accessibility.Core` + +| Name | Type | Default | Description | +| ------------------- | ------ | ------- | ---------------------------------------- | +| setText | string | "" | Text content for the SET\_TEXT action. | +| selectTextBegin | string | "" | Start coordinate for SET\_SELECTION. E.g., `'2'`. | +| selectTextEnd | string | "" | End coordinate for SET\_SELECTION. E.g., `'8'`. | +| selectTextInForWard | bool | NA | Whether the selection moves forward. E.g., `true`. | +| offset | string | "" | Offset value for SET\_CURSOR\_POSITION. E.g., `'1'`. | +| spanId | string | "" | ID used in SPAN\_CLICK actions. | +| scrollType | string | "" | Scroll type for SCROLL\_FORWARD and SCROLL\_BACKWARD. | + ### enableScreenCurtain12+ enableScreenCurtain(isEnable: boolean): void; @@ -65,6 +120,117 @@ axContext.getWindowRootElement().then((data: AccessibilityElement) => { }); ``` +### executeAction20+ + +Executes a specific operation based on the corresponding enum value, using a Promise for asynchronous callback. + +**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**System Capability**: `SystemCapability.BarrierFree.Accessibility.Core` + +**Parameters** + +| Name | Type | Required | Description | +| ---------- | ------------------- | -------- | ---------------------------------------- | +| action | AccessibilityAction | Yes | The enum value representing the operation to execute. See [AccessibilityAction](#AccessibilityAction) for reference. | +| parameters | Parameter | No | Parameters required for performing the target action. Empty by default. See [Parameter](#Parameter). | + +**Return Value** + +| Type | Description | +| ------- | -------------------------------------- | +| Promise | A Promise object with no return value. | + +**Error Codes** + +For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). + +| Error Code ID | Error Message | +| ------------- | ---------------------------------------- | +| 401 | Input parameter error. Possible causes: 1. Mandatory parameters are missing; 2. Incorrect parameter types; 3. Parameter validation failed. | +| 9300005 | This action is not supported. | + +------ + +**Example** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; +import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; + +// rootElement is an instance of AccessibilityElement +rootElement.executeAction(action).then(() => { + console.info(`Succeeded in perform action,actionName is ${actionName}`); +}).catch((err: BusinessError) => { + console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); +}); + +``` + +------ + +**Example: Action Without Parameters** + +Actions without explicitly required parameters are considered parameterless actions. + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; +import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; + +// rootElement is an instance of AccessibilityElement +// Actions without parameter requirements are parameterless +rootElement.executeAction(AccessibilityAction.CLICK).then(() => { + console.info(`Succeeded in perform action.`); +}).catch((err: BusinessError) => { + console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); +}); + +``` + +------ + +**Example: Action With Parameters** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; +import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; + +// selectTextBegin: start position of the selection +// selectTextEnd: end position of the selection +// selectTextInForWard: true for forward selection, false for backward +let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true } + +// rootElement is an instance of AccessibilityElement +// Example for SET_SELECTION +rootElement.executeAction(AccessibilityAction.SET_SELECTION, p).then(() => { + console.info(`Succeeded in perform action`); +}).catch((err: BusinessError) => { + console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); +}); + +``` + +------ + +**Example: Set Cursor Position** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; +import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; + +// offset: cursor position to set +let p : Parameter = { offset: '1' } + +// rootElement is an instance of AccessibilityElement +// Example for SET_CURSOR_POSITION +rootElement.executeAction(AccessibilityAction.SET_CURSOR_POSITION, p).then(() => { + console.info(`Succeeded in perform action`); +}).catch((err: BusinessError) => { + console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); +}); + +``` + ### findElement('elementId')12+ findElement(type: 'elementId', condition: number): Promise\; @@ -340,3 +506,606 @@ axContext.getDefaultFocusedElementIds(windowId).then((data: number[]) => { console.error(`failed to get default focus, Code is ${err.code}, message is ${err.message}`); }); ``` + +### getAccessibilityFocusedElement20+ + +getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#AccessibilityElement)>; + +Get accessibility focused element. + +**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Return value** +| Type | Description | +| ----------------------------------- | ---------------------- | +| Promise\<[AccessibilityElement](#AccessibilityElement)>| Promise used to return the result.| + +**Error codes** +For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). + +| ID | Error Message | +| ------- | ----------------------------- | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | +| 9300003 | No accessibility permission to perform the operation. | + +**Example** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) => { + console.log(`Succeeded in get accessibility focused element, ${element.bundleName}`); +}).catch((err: BusinessError) => { + console.error(`failed to get accessibility focused element, Code is ${err.code}, message is ${err.message}`); +}); +``` + +### getRootInActiveWindow20+ + +getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#AccessibilityElement)>; + +Get window root element. + +**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Parameters** + +| Name| Type| Mandatory| Description| +| -------- | -------- | -------- | -------- | +| windowId | number | No | Window ID to be obtained.| + +**Return value** +| Type | Description | +| ----------------------------------- | ---------------------- | +| Promise\<[AccessibilityElement](#AccessibilityElement)>| Promise used to return the result.| + +**Error codes** + +For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). + +| ID | Error Message | +| ------- | ---------------------------------------- | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | +| 9300003 | No accessibility permission to perform the operation. | + +**Example** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let windowId: number = 0; + +axContext.getRootInActiveWindow(windowId).then((element: AccessibilityElement) => { + console.log(`Succeeded in get root inactive window element, ${element.bundleName}`); +}).catch((err: BusinessError) => { + console.error(`failed to get root inactive window element, Code is ${err.code}, message is ${err.message}`); +}); +``` + +## getAccessibilityWindowsSync20+ + +getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](#AccessibilityElement)> + +Get window list + +**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Parameters** + +| Name | Type | Mandatory | Description | +| ----------- | ----------------------------- | ---- | -------- | +| displayId | number | No | Indicates the display ID. If this parameter is not provided, indicates the default displayId. | + +**Return value** + +| Type | Description | +| ---------------------------------------- | --------------------- | +| Array\<[AccessibilityElement](#AccessibilityElement)> | Window list.| + +**Error codes** + +For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). + +| ID | Error Message | +| ------- | ---------------------------------------- | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | +| 9300003 | No accessibility permission to perform the operation. | + +**Example** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let displayId: number = 0; + +let windowList: AccessibilityElement[] = axContext.getAccessibilityWindowsSync(displayId); + +for (let window of windowList) { + console.log(`window id: ${window.windowId}`); +} +``` + + +## AccessibilityElement20+ + +Defines the **AccessibilityElement** system API. Provides methods to obtain attribute value of a node element. Before calling APIs of **AccessibilityElement**, you should call [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getAccessibilityFocusedElement) or [AccessibilityExtensionContext.getRootInActiveWindow()](#getRootInActiveWindow) to obtain an **AccessibilityElement** instance. + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +### Attributes + +| Name | Type | Readable| Writable| Description | +|----------------------|--------------------------------------------------------------------|------|------|-------------------| +| accessibilityFocused20+ | boolean | Yes | No | Whether the element is focused for accessibility purposes. The value **true** indicates that the element is focused, and **false** indicates the opposite.
Default value: **false**.| +| bundleName20+ | string | Yes | No | Bundle name.| +| checkable20+ | boolean | Yes | No | Whether the element is checkable. The value **true** indicates that the element is checkable, and **false** indicates the opposite.
Default value: **false**.| +| checked20+ | boolean | Yes | No | Whether the element is checked. The value **true** indicates that the element is checked, and **false** indicates the opposite.
Default value: **false**.| +| clickable20+ | boolean | Yes | No | Whether the element is clickable. The value **true** indicates that the element is clickable, and **false** indicates the opposite.
Default value: **false**.| +| componentId20+ | number | Yes | No | ID of the component to which the element belongs.
Default value: **-1**.| +| componentType20+ | string | Yes | No | Type of the component to which the element belongs.| +| contents20+ | Array<string> | Yes | No | Contents.| +| currentIndex20+ | number | Yes | No | Index of the current item.
Default value: **0**.| +| description20+ | string | Yes | No | Description of the element.| +| editable20+ | boolean | Yes | No | Whether the element is editable. The value **true** indicates that the element is editable, and **false** indicates the opposite.
Default value: **false**.| +| endIndex20+ | number | Yes | No | Index of the last list item displayed on the screen.
Default value: **0**.| +| error20+ | string | Yes | No | Error status.| +| focusable20+ | boolean | Yes | No | Whether the element is focusable. The value **true** indicates that the element is focusable, and **false** indicates the opposite.
Default value: **false**.| +| hintText20+ | string | Yes | No | Hint text.| +| inputType20+ | number | Yes | No | Type of the input text.
Default value: **0**.| +| inspectorKey20+ | string | Yes | No | Inspector key.| +| isActive20+ | boolean | Yes | No | Whether the element is active. The value **true** indicates that the element is active and **false** indicates the opposite.
Default value: **true**.| +| isEnable20+ | boolean | Yes | No | Whether the element is enabled. The value **true** indicates that the element is enabled, and **false** indicates the opposite.
Default value: **false**.| +| isHint20+ | boolean | Yes | No | Whether the element is a hint. The value **true** indicates that the element is a hint, and **false** indicates the opposite.
Default value: **false**.| +| isFocused20+ | boolean | Yes | No | Whether the element is focused. The value **true** indicates that the element is focused, and **false** indicates the opposite.
Default value: **false**.| +| isPassword20+ | boolean | Yes | No | Whether the element is a password. The value **true** indicates that the element is a password, and **false** indicates the opposite.
Default value: **false**.| +| isVisible20+ | boolean | Yes | No | Whether the element is visible. The value **true** indicates that the element is visible, and **false** indicates the opposite.
Default value: **false**.| +| itemCount20+ | number | Yes | No | Total number of items.
Default value: **0**.| +| lastContent20+ | string | Yes | No | Last content.| +| layer20+ | number | Yes | No | Display layer of the element.| +| longClickable20+ | boolean | Yes | No | Whether the element is long-clickable. The value **true** indicates that the element is long-clickable, and **false** indicates the opposite.
Default value: **false**.| +| pageId20+ | number | Yes | No | Page ID.
Default value: **-1**.| +| pluralLineSupported20+ | boolean | Yes | No | Whether the element supports multiple lines of text. The value **true** indicates that the element supports multiple lines of text, and **false** indicates the opposite.
Default value: **false**.| +| rect20+ | [Rect](#rect) | Yes | No | Area of the element.| +| resourceName20+ | string | Yes | No | Resource name of the element.| +| screenRect20+ | [Rect](#rect) | Yes | No | Display area of the element.| +| scrollable20+ | boolean | Yes | No | Whether the element is scrollable. The value **true** indicates that the element is scrollable, and **false** indicates the opposite.
Default value: **false**.| +| selected20+ | boolean | Yes | No | Whether the element is selected. The value **true** indicates that the element is selected, and **false** indicates the opposite.
Default value: **false**.| +| startIndex20+ | number | Yes | No | Index of the first list item on the screen.
Default value: **0**.| +| text20+ | string | Yes | No | Text of the element.| +| textLengthLimit20+ | number | Yes | No | Maximum text length of the element.| +| textMoveUnit20+ | [accessibility.TextMoveUnit](js-apis-accessibility.md#textmoveunit)| Yes | No | Unit of movement when the text is read.
Default value: **0**.| +| triggerAction20+ | [accessibility.Action](js-apis-accessibility.md#action) | Yes | No | Action that triggers the element event.| +| type20+ | [WindowType](#windowtype) | Yes | No | Window type of the element.| +| valueMax20+ | number | Yes | No | Maximum value.
Default value: **0**.| +| valueMin20+ | number | Yes | No | Minimum value.
Default value: **0**.| +| valueNow20+ | number | Yes | No | Current value.
Default value: **0**.| +| windowId20+ | number | Yes | No | Window ID.
Default value: **-1**.| +| offset20+ | number | Yes | No | Pixel offset of the content area relative to the top coordinate of a scrollable component, such as **List** and **Grid**.
Default value: **0**.| +| textType20+ | string | Yes | No | Accessibility text type of an element, which is configured by the **accessibilityTextHint** attribute of the component.| +| accessibilityText20+ | string | Yes | No | Accessibility text information of an element.| +| hotArea20+ | [Rect](#rect) | Yes | No | Touchable area of an element.| +| customComponentType20+ | string | Yes | No | Custom component type.| +| accessibilityNextFocusId20+ | number | Yes | No | ID of the next component to be focused on.
Default value: **-1**.| +| accessibilityPreviousFocusId20+ | number | Yes | No | ID of the previous component to be focused on.
Default value: **-1**.| +| extraInfo20+ | string | Yes | No | The extra info of the element. The value is a JSON string.| +| accessibilityScrollable20+ | boolean | Yes | No | Whether an element is scrollable for accessibility. This attribute has a higher priority than **scrollable**.
- **true** (default): the element is scrollable.
- **false**: the element is not scrollable.| +| supportedActionNames20+ | Array<string> | Yes | No | supported action names.| +| accessibilityGroup20+ | boolean | Yes | No | Whether the element is accessibility group. The value **true** indicates that the element is accessibility group, and **false** indicates the opposite.
Default value: **false**.| +| accessibilityLevel20+ | string | Yes | No | The accessibilityLevel of component.| +| navDestinationId20+ | number | Yes | No | The navDestination id of component.| +| currentItem20+ | AccessibilityGrid | Yes | No | The current item in grid of component.| +| spans20+ | AccessibilitySpan[] | Yes | No | The span array of component.| +| accessibilityVisible20+ | boolean | Yes | No | Whether the component is accessibility visible.| +| mainWindowId20+ | number | Yes | No | The main windowId of component.| +| clip20+ | boolean | Yes | No | Whether the component need clip.| +| parentId20+ | number | Yes | No | The parent element id of component.| +| childrenIds20+ | Array | Yes | No | The children elements id list of component.| + +**Example** +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let windowId: number = 10; + +axContext.getRootInActiveWindow(windowId)..then((element: AccessibilityElement) => { + console.info("AccessibilityElement.checkable: " + element.checkable) + console.info("AccessibilityElement.checked: " + element.checked) + console.info("AccessibilityElement.clickable: " + element.clickable) + console.info("AccessibilityElement.componentId: " + element.componentId) + console.info("AccessibilityElement.componentType: " + element.componentType) + console.info("AccessibilityElement.contents: " + element.contents) + console.info("AccessibilityElement.currentIndex: " + element.currentIndex) + console.info("AccessibilityElement.description: " + element.description) + // .... +}).catch((err) => { + console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`); +}) +``` + +## getParent20+ + +getParent(): Promise\; + +Get element's parent. + +**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Return value** + +| Type | Description | +| ---------------------------------------- | --------------------- | +| Promise\<[AccessibilityElement](#AccessibilityElement)> | Parent element.| + +**Error codes** + +For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). + +| ID | Error Message | +| ------- | ---------------------------------------- | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | + +**Example** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) => { + console.log(`element parent id: ${element.parentId}`); + element.getParent().then((parent: AccessibilityElement) => { + console.log(`parent element's parent id: ${parent.parentId}`); + }).catch((err) => { + console.log(`getParent failed, code: ${err.code}, message: ${err.message}`); + }) +}).catch((err) => { + console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`); +}) +``` + +## getChildren20+ + +getChildren(): Promise\>; + +Get element's children. + +**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Return value** + +| Type | Description | +| ---------------------------------------- | --------------------- | +| Promise\> | Children element array.| + +**Error codes** + +For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). + +| ID | Error Message | +| ------- | ---------------------------------------- | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | + +**Example** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) => { + console.log(`element childrenIds: ${element.childrenIds}`); + element.getChildren().then((children: AccessibilityElement[]) => { + console.log(`children element's size: ${children.length}`); + }).catch((err) => { + console.log(`getChildren failed, code: ${err.code}, message: ${err.message}`); + }) +}).catch((err) => { + console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`); +}) +``` + +## getRoot20+ + +getRoot(): Promise\; + +Get root element in active window. + +**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Return value** + +| Type | Description | +| ---------------------------------------- | --------------------- | +| Promise\<[AccessibilityElement](#AccessibilityElement)> | Root element.| + +**Error codes** + +For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). + +| ID | Error Message | +| ------- | ---------------------------------------- | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | + +**Example** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let windows: AccessibilityWindow[] = axContext.getAccessibilityWindowsSync() +for (let window of windows) { + console.log(`window id: ${window.windowId}`); + window.getRoot().then((root: AccessibilityElement) => { + console.log(`root element's componentId: ${root.componentId}`); + }).catch((err) => { + console.log(`getRoot failed, code: ${err.code}, message: ${err.message}`); + }) +} +``` + +## findElementByContent + +findElementByContent(content: string): Promise\>; + +Find elements by content. + +**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Parameters**: + +| Name | Type | Required | Description | +| -------- | ---- | -------- | ------------------------------------------------------------ | +| content | string | Yes | Content. | + +**Return value** + +| Type | Description | +| ---------------------------------------- | --------------------- | +| Promise\> | Element array.| + +**Error codes** + +For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). + +| ID | Error Message | +| ------- | ---------------------------------------- | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | + +**Example** + +```ts +// Page.ets + build() { + Text('Connect') + .id('connect') + .fontSize($r('app.float.page_text_font_size')) + .fontWeight(FontWeight.Bold) +// ... + +// AccessibilityExtAbility.ets +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let windowId: number = 10; + +axContext.getRootInActiveWindow(windowId)..then((root: AccessibilityElement) => { + root.findElementByContent('connect').then((elements: AccessibilityElement[]) => { + console.log("findElementByContent size=" + elements.length) + }).catch((err) => { + console.log(`findElementByContent failed, code: ${err.code}, message: ${err.message}`); + }) +}).catch((err) => { + console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`); +}) +``` + +## findElementByFocusDirection + +findElementByFocusDirection(direction: FocusDirection): Promise\; + +Find elements that match the focus direction + +**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Parameters**: + +| Name | Type | Required | Description | +| -------- | ---- | -------- | ------------------------------------------------------------ | +| direction | FocusDirection | Yes | Focus direction. | + +**Return value** + +| Type | Description | +| ---------------------------------------- | --------------------- | +| Promise\<[AccessibilityElement](#AccessibilityElement)> | AccessibilityElement.| + +**Error codes** + +For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). + +| ID | Error Message | +| ------- | ---------------------------------------- | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | + +**Example** + +```ts +// Page.ets +// Click TextInput and then it is the accessibility focus element, up direction element is Text#connect + build() { + Text('Connect') + .id('connect') + .fontSize($r('app.float.page_text_font_size')) + .fontWeight(FontWeight.Bold) + + TextInput({ placeholder: 'please input...' }) + .id('text_input') + .fontSize($r('app.float.page_text_font_size')) +// ... + +// AccessibilityExtAbility.ets +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +axContext.getAccessibilityFocusedElement().then((focus: AccessibilityElement) => { + focus.findElementByFocusDirection('up').then((element: AccessibilityElement) => { + console.log("findElementByFocusDirection UP componentId: " + element.componentId); + }).catch((err) => { + console.log(`findElementByFocusDirection UP failed, code: ${err.code}, message: ${err.message}`); + }) +}).catch((err) => { + console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`); +}) +``` + +## findElementByAccessibilityHintText + +findElementsByAccessibilityHintText(hintText: string): Promise\>; + +Find elements by accessibility hint text. + +**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Parameters**: + +| Name | Type | Required | Description | +| -------- | ---- | -------- | ------------------------------------------------------------ | +| hintText | string | Yes | Hint text. | + +**Return value** + +| Type | Description | +| ---------------------------------------- | --------------------- | +| Promise\> | Element array.| + +**Error codes** + +For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). + +| ID | Error Message | +| ------- | ---------------------------------------- | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | + +**Example** + +```ts +// Page.ets + build() { + Text('Connect') + .id('connect') + .fontSize($r('app.float.page_text_font_size')) + .fontWeight(FontWeight.Bold) + + TextInput({ placeholder: 'please input...' }) + .id('text_input') + .fontSize($r('app.float.page_text_font_size')) + .accessibilityTextHint('location') +// ... + +// AccessibilityExtAbility.ets +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let windowId: number = 10; + +axContext.getRootInActiveWindow(windowId).then((root: AccessibilityElement) => { + root.findElementByAccessibilityHintText('location').then((elements: AccessibilityElement[]) => { + console.log("findElementByAccessibilityHintText size=" + elements.length) + }).catch((err) => { + console.log(`findElementByAccessibilityHintText failed, code: ${err.code}, message: ${err.message}`); + }) +}).catch((err) => { + console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`); +}) +``` + +## findElementById + +findElementById(elementId: number): Promise\; + +Find elements that match the elementId. + +**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**System capability**: SystemCapability.BarrierFree.Accessibility.Core + +**Parameters**: + +| Name | Type | Required | Description | +| -------- | ---- | -------- | ------------------------------------------------------------ | +| id | number | Yes | Element id. | + +**Return value** + +| Type | Description | +| ---------------------------------------- | --------------------- | +| Promise\<[AccessibilityElement](#AccessibilityElement)> | AccessibilityElement.| + +**Error codes** + +For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). + +| ID | Error Message | +| ------- | ---------------------------------------- | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | + +**Example** + +```ts +// Page.ets +// Click TextInput and then it is the accessibility focus element + build() { + Text('Connect') + .id('connect') + .fontSize($r('app.float.page_text_font_size')) + .fontWeight(FontWeight.Bold) + + TextInput({ placeholder: 'please input...' }) + .id('text_input') + .fontSize($r('app.float.page_text_font_size')) +// ... + +// AccessibilityExtAbility.ets +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +axContext.getAccessibilityFocusedElement().then((focus: AccessibilityElement) => { + focus.findElementById(0).then((element: AccessibilityElement) => { + console.log("findElementById componentId: " + element.componentId); + }).catch((err) => { + console.log(`findElementById failed, code: ${err.code}, message: ${err.message}`); + }) +}).catch((err) => { + console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`); +}) +``` diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/Readme-CN.md b/zh-cn/application-dev/reference/apis-accessibility-kit/Readme-CN.md index 9820c78210c..f87a7f64d8a 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/Readme-CN.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/Readme-CN.md @@ -8,6 +8,7 @@ - [AccessibilityExtensionContext (辅助功能扩展上下文)](js-apis-inner-application-accessibilityExtensionContext.md) - [@ohos.accessibility.config (系统辅助功能配置)(系统接口)](js-apis-accessibility-config-sys.md) + - [@ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力)(系统接口)](js-apis-application-accessibilityExtensionAbility-sys.md) - [AccessibilityExtensionContext (辅助功能扩展上下文)(系统接口)](js-apis-inner-application-accessibilityExtensionContext-sys.md) - 错误码 diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md new file mode 100644 index 00000000000..57dcdf0e9bf --- /dev/null +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md @@ -0,0 +1,211 @@ +# @ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力)(系统接口) + +AccessibilityExtensionAbility基于ExtensionAbility框架,提供辅助功能业务的能力。 + +> **说明:** +> +> - 本模块首批接口从API version 20开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +## 导入模块 + +```ts +import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEventType } from '@kit.AccessibilityKit'; +``` + +## AccessibilityEventType + +界面变更事件。 + +**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core + + +| 名称 | 值 |说明| +| ----------------------- |-----------|------------------------| +| TYPE_ACCESSIBILITY_FOCUS |0| 表示获得无障碍焦点的事件。 | +| TYPE_ACCESSIBILITY_FOCUS_CLEAR |1| 表示清除无障碍焦点的事件。 | +| TYPE_CLICK |2| 表示点击组件的事件。 | +| TYPE_LONG_CLICK |3| 表示长按组件的事件。 | +| TYPE_SELECT |4| 表示选择组件的事件。 | +| TYPE_HOVER_ENTER |5| 表示悬停进入组件的事件。 | +| TYPE_HOVER_EXIT |6| 表示悬停离开组件的事件。 | +| TYPE_FOCUS |7| 表示组件获得焦点的事件,当前版本暂不支持。 | +| TYPE_TEXT_UPDATE |8| 表示组件文本已更改的事件。| +| TYPE_TEXT_SELECTION_UPDATE |9 | 表示选定文本已更改的事件,当前版本暂不支持。| +| TYPE_SCROLL |10| 表示滚动视图的事件。 | +| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY |11 | 表示主动聚焦的事件。| +| TYPE_ANNOUNCE_FOR_ACCESSIBILITY |12 | 表示主动播报的事件。| +| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY_NOT_INTERRUPT |13| 表示主动聚焦不打断的事件。| +| TYPE_ANNOUNCE_FOR_ACCESSIBILITY_NOT_INTERRUPT |14 | 表示主动播报不打断的事件。| +| TYPE_ELEMENT_INFO_CHANGE |15 | 表示组件信息改变事件。| +| TYPE_SCROLLING |16| 表示滚动视图中有item被滚出屏幕的事件。| +| TYPE_WINDOW_ADD |17 | 表示添加窗口的窗口变化事件。 | +| TYPE_WINDOW_REMOVE |18| 表示一个窗口被删除的窗口变化事件。 | +| TYPE_WINDOW_BOUNDS |19| 表示窗口边界已更改的窗口变化事件。 | +| TYPE_WINDOW_ACTIVE |20| 表示窗口变为活动或不活动的窗口变化事件。| +| TYPE_WINDOW_FOCUS |21| 表示窗口焦点发生变化的窗口变化事件。 | +| TYPE_WINDOW_PROPERTY |22| 表示窗口属性变化事件。| +| TYPE_WINDOW_LAYER |23| 表示窗口层级变化事件。 | +| TYPE_TOUCH_BEGIN |24| 表示触摸浏览时开始触摸。| +| TYPE_TOUCH_END |25| 表示触摸浏览时结束触摸。| +| TYPE_PAGE_CONTENT_UPDATE |26| 表示页面内容刷新。| +| TYPE_PAGE_STATE_UPDATE |27| 表示页面状态刷新。| +| TYPE_PAGE_OPEN |28| 表示页面打开。| +| TYPE_PAGE_CLOSE |29| 表示页面关闭。| +| TYPE_SWIPE_LEFT |30| 表示向左的手势。 | +| TYPE_SWIPE_LEFT_THEN_RIGHT |31| 表示先向左再向右的手势。| +| TYPE_SWIPE_LEFT_THEN_UP |32| 表示先向左再向上的手势。| +| TYPE_SWIPE_LEFT_THEN_DOWN |33| 表示先向左再向下的手势。| +| TYPE_SWIPE_RIGHT |34| 表示向右的手势。 | +| TYPE_SWIPE_RIGHT_THEN_LEFT |35| 表示先向右再向左的手势。| +| TYPE_SWIPE_RIGHT_THEN_UP |36| 表示先向右再向上的手势。| +| TYPE_SWIPE_RIGHT_THEN_DOWN |37| 表示先向右再向下的手势| +| TYPE_SWIPE_UP |38| 表示向上的手势。 | +| TYPE_SWIPE_UP_THEN_LEFT |39| 表示先向上再向左的手势。| +| TYPE_SWIPE_UP_THEN_RIGHT |40| 表示先向上再向右的手势。| +| TYPE_SWIPE_UP_THEN_DOWN |41| 表示先向上再向下的手势。| +| TYPE_SWIPE_DOWN |42| 表示向下的手势。 | +| TYPE_SWIPE_DOWN_THEN_LEFT |43| 表示先向下再向左的手势。| +| TYPE_SWIPE_DOWN_THEN_RIGHT |44| 表示先向下再向右的手势| +| TYPE_SWIPE_DOWN_THEN_UP |45| 表示先向下再向上的手势| +| TYPE_TWO_FINGER_SINGLE_TAP |46| 表示双指单击的手势。| +| TYPE_TWO_FINGER_DOUBLE_TAP |47| 表示双指双击的手势。| +| TYPE_TWO_FINGER_DOUBLE_TAP_AND_HOLD |48| 表示双指双击长按的手势。| +| TYPE_TWO_FINGER_TRIPLE_TAP |49| 表示双指三击的手势。| +| TYPE_TWO_FINGER_TRIPLE_TAP_AND_HOLD |50| 表示双指三击长按的手势。| +| TYPE_THREE_FINGER_SINGLE_TAP |51| 表示三指单击的手势。| +| TYPE_THREE_FINGER_DOUBLE_TAP |52| 表示三指双击的手势。| +| TYPE_THREE_FINGER_DOUBLE_TAP_AND_HOLD |53| 表示三指双击长按的手势。| +| TYPE_THREE_FINGER_TRIPLE_TAP |54| 表示三指三击的手势。| +| TYPE_THREE_FINGER_TRIPLE_TAP_AND_HOLD |55| 表示三指三击长按的手势。| +| TYPE_FOUR_FINGER_SINGLE_TAP |56| 表示四指单击的手势。| +| TYPE_FOUR_FINGER_DOUBLE_TAP |57| 表示四指双击的手势。| +| TYPE_FOUR_FINGER_DOUBLE_TAP_AND_HOLD |58| 表示四指双击长按的手势。| +| TYPE_FOUR_FINGER_TRIPLE_TAP |59| 表示四指三击的手势。| +| TYPE_FOUR_FINGER_TRIPLE_TAP_AND_HOLD |60| 表示四指三击长按的手势。| +| TYPE_THREE_FINGER_SWIPE_UP |61| 表示三指向上滑动的手势| +| TYPE_THREE_FINGER_SWIPE_DOWN |62| 表示三指向下滑动的手势| +| TYPE_THREE_FINGER_SWIPE_LEFT |63| 表示三指向左滑动的手势。| +| TYPE_THREE_FINGER_SWIPE_RIGHT |64| 表示三指向右滑动的手势| +| TYPE_FOUR_FINGER_SWIPE_UP |65| 表示四指向上滑动的手势。| +| TYPE_FOUR_FINGER_SWIPE_DOWN |66| 表示四指向下滑动的手势。| +| TYPE_FOUR_FINGER_SWIPE_LEFT |67| 表示四指向左滑动的手势。| +| TYPE_FOUR_FINGER_SWIPE_RIGHT |68| 表示四指向右滑动的手势。| + +## AccessibilityEventInfo + +辅助事件信息。 + +**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core + +### 属性 + +| 名称 | 类型 | 只读 | 可选 | 说明 | +| --------- |----------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------| ------------------------------------------------------------ | +| eventType | [AccessibilityEventType](#accessibilityeventtype) | 否 | 否 | 事件类型 | +| target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9) | 否 | 是 | 发生事件的目标组件。 | +| timeStamp | number | 否 | 是 | 事件时间戳,单位是毫秒。默认值为0。 | +| elementId | number | 否 | 是 | 主动聚焦的组件ID。默认值为0。 | +| textAnnouncedForAccessibility | string | 否 | 是 | 主动播报的内容。 | +| extraInfo | string | 否 | 是 | 针对TextArea、TextInput、SearchField、RichEdit组件,当文本内容有新增或删除时,携带的文本内容。 | + + +## AccessibilityExtensionAbility.onAccessibilityConnect + +onAccessibilityConnect(): void; + +用户启用AccessibilityExtensionAbility时,系统服务完成连接后,回调此接口,可以该方法中执行初始化业务逻辑操作。该方法可以选择性重写。 + +**系统能力**:SystemCapability.BarrierFree.Accessibility.Core + +**示例:** + +```ts +import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; + +class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { + onAccessibilityConnect(): void { + console.log('AxExtensionAbility onAccessibilityConnect'); + } +} +``` + +## AccessibilityExtensionAbility.onAccessibilityDisconnect + +onAccessibilityDisconnect(): void; + +用户停用AccessibilityExtensionAbility时,系统服务完成断开连接后,回调此接口,可以该方法中执行资源回收退出业务逻辑操作。该方法可以选择性重写。 + +**系统能力**:SystemCapability.BarrierFree.Accessibility.Core + +**示例:** + +```ts +import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; + +class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { + onAccessibilityDisconnect(): void { + console.log('AxExtensionAbility onAccessibilityDisconnect'); + } +} +``` + +## AccessibilityExtensionAbility.onAccessibilityEvent + +onAccessibilityEvent(event: onAccessibilityEventInfo): void; + +在关注的应用及事件类型对应的事件发生时回调此接口,可以在该方法中根据事件信息进行业务逻辑处理。一般情况下需要重写该方法完成业务。 + +**系统能力**:SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ---------------------------------------- | ---- | --------------- | +| event | [onAccessibilityEventInfo](#accessibilityeventinfo) | 是 | 无障碍事件。无返回值。 | + +**示例:** + +```ts +import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEventType } from '@kit.AccessibilityKit'; + +class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { + onAccessibilityEventInfo(event: AccessibilityEventInfo): void { + console.log('AxExtensionAbility onAccessibilityEventInfo'); + if (event.eventType === AccessibilityEventType.TYPE_CLICK) { + console.log('AxExtensionAbility onAccessibilityEventInfo: click'); + } + } +} +``` + +## AccessibilityExtensionAbility.onAccessibilityKeyEvent + +onKeyEvent(keyEvent: KeyEvent): boolean; + +在物理按键按下时回调此方法,可以在该方法中根据业务判断是否对事件进行拦截。 + +**系统能力**:SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- |--------------------------------------------------| ---- | ----------------------- | +| keyEvent | [KeyEvent](../apis-input-kit/js-apis-keyevent.md#keyevent) | 是 | 按键事件回调函数。返回true表示拦截此按键。| + +**示例:** + +```ts +import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; +import { KeyEvent } from '@kit.InputKit'; + +class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { + onAccessibilityKeyEvent(keyEvent: KeyEvent): boolean { + console.log('AxExtensionAbility onAccessibilityKeyEvent'); + if (keyEvent.key.code === 16) { + console.log('AxExtensionAbility onAccessibilityKeyEvent: intercept 16'); + return true; + } + return false; + } +} +``` \ No newline at end of file diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index e6aa6eacbb4..1eb35b0ec6a 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -23,6 +23,58 @@ class EntryAbility extends AccessibilityExtensionAbility { } ``` +## AccessibilityAction + +界面组件可执行的操作。 + +**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core + +| 名称 | 值 | 说明 | +| -------------------------- | ---- | ------------------------ | +| ACCESSIBILITY_FOCUS | 0 | 表示获得无障碍焦点。 | +| CLEAR_ACCESSIBILLITY_FOCUS | 1 | 表示清除无障碍焦点。 | +| FOCUS | 2 | 表示组件获取焦点。 | +| CLEAR_FOCUS | 3 | 表示清队组件焦点。 | +| CLICK | 4 | 表示点击组件。 | +| LONG_CLICK | 5 | 表示长按点击组件。 | +| CUT | 6 | 表示剪切组件内容。 | +| COPY | 7 | 表示拷贝组件内容 | +| PASTE | 8 | 表示粘贴内容到组件 | +| SELECT | 9 | 表示选择组件 | +| SET_TEXT | 10 | 表示给组件设置文本 | +| SCROLL_FORWARD | 11 | 表示向前滚动组件 | +| SCROLL_BACKWARD | 12 | 表示向后滚动组件。 | +| SET_SELECTION | 13 | 表示选定组件内文件范围。 | +| SET_CURSOR_POSITION | 14 | 表示设置组件内的光标位置 | +| HOME | 15 | 表示组件执行HOME操作 | +| BACK | 16 | 表示执行返回操作 | +| RECENT_TASK | 17 | 表示显示最近任务 | +| NOTIFICATION_CENTER | 18 | 表示显示通知中心 | +| CONTROL_CENTER | 19 | 表示显示控制中心。 | +| COMMON | 20 | 表示没有特定操作,用于主动聚焦、主动播报等场景。 | +| SPAN_CLICK | 21 | 对SPAN文本进行点击操作 | + +## Parameter + +执行AccessibilityAction对应操作时,传入executeAction方法的第二个参数的类型定义,不同action传入对应的参数即可,其他参数保持默认。 + +例如:针对action: AccessibilityAction.SET_SELECTION, executeAction方法的第二个参数如下: +```ts +let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true } +``` + +**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core + +| 名称 | 类型 | 默认值 | 说明 | +| ------------------- | ------ | ---- | --------------------------------- | +| setText | string | “” | SET_TEXT操作对应的文本内容 | +| selectTextBegin | string | “” | SET_SELECTION操作的起始坐标。例:‘2’ | +| selectTextEnd | string | “” | SET_SELECTION操作的结束坐标。例:‘8’ | +| selectTextInForWard | bool | 无 | SET_SELECTION操作是否向前选择,例:true | +| offset | string | “” | SET_CURSOR_POSITION操作的位移。例:'1' | +| spanId | string | “” | SPAN_CLICK操作的id | +| scrollType | string | “” | SCROLL_FORWARD和SCROLL_BACKWARD的类型 | + ### enableScreenCurtain12+ enableScreenCurtain(isEnable: boolean): void; @@ -65,6 +117,101 @@ axContext.getWindowRootElement().then((data: AccessibilityElement) => { }); ``` +### executeAction20+ + +executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\; + +根据操作对应的枚举值执行某个操作,使用Promise异步回调。 + +**权限**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**系统能力**:SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ---------------------------------------- | ---- |----------------------------------------------------------| +| action | AccessibilityAction| 是 | 表示执行操作所对应的枚举值,取值参考[AccessibilityAction](./js-apis-inner-application-accessibilityExtensionContext-sys.md#AccessibilityAction)。 +| parameters | Parameter| 否 | 表示执行操作时所需要的参数;默认为空。可参考[Parameter](./js-apis-inner-application-accessibilityExtensionContext-sys.md#Parameter) | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ---------------- | +| Promise<void> | 无返回结果的Promise对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 401 | Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | +| 9300005 | This action is not supported. | + +**示例:** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; +import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; + +// rootElement是AccessibilityElement的实例 +rootElement.executeAction(action).then(() => { + console.info(`Succeeded in perform action,actionName is ${actionName}`); +}).catch((err: BusinessError) => { + console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); +}); +``` + +**无参数Action示例:** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; +import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; + +// rootElement是AccessibilityElement的实例 +// Action描述中无明确要求的,均为无参数Action +rootElement.executeAction(AccessibilityAction.CLICK).then(() => { + console.info(`Succeeded in perform action.`); +}).catch((err: BusinessError) => { + console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); +}); +``` + +**有参数Action示例:** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; +import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; + +// selectTextBegin: 表示选择起始位置 +// selectTextEnd: 表示选择结束位置 +// selectTextInForWard: true表示为前光标,false表示为后光标 +let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true } +// rootElement是AccessibilityElement的实例 +// setSelection示例代码 +rootElement.executeAction(AccessibilityAction.SET_SELECTION, p).then(() => { + console.info(`Succeeded in perform action`); +}).catch((err: BusinessError) => { + console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); +}); +``` + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; +import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; + +// offset: 表示光标的设置位置 +let p : Parameter = { offset: '1' } +// rootElement是AccessibilityElement的实例 +// setCursorPosition示例代码 +rootElement.executeAction(AccessibilityAction.SET_CURSOR_POSITION, p).then(() => { + console.info(`Succeeded in perform action`); +}).catch((err: BusinessError) => { + console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); +}); +``` + ### findElement('elementId')12+ findElement(type: 'elementId', condition: number): Promise\; @@ -527,4 +674,600 @@ try { } catch (err) { console.error(`Failed to notify accessibility, code is ${err.code}, message is ${err.message}`); } -``` \ No newline at end of file +``` + +### getAccessibilityFocusedElement20+ + +getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#AccessibilityElement)>; + +获取当前获得焦点的元素。 + +**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**系统能力:** SystemCapability.BarrierFree.Accessibility.Core + +**返回值:** +| 类型 | 描述 | +| ----------------------------------- | ---------------------- | +| Promise\<[AccessibilityElement](#AccessibilityElement)>| Promise used to return the result.| + +**错误码:** +以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | +| 202 | 权限验证失败。非系统应用调用了系统 API。 | +| 9300003 | 没有执行此操作的无障碍权限。 | + +**示例:** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) => { + console.log(`Succeeded in get accessibility focused element, ${element.bundleName}`); +}).catch((err: BusinessError) => { + console.error(`failed to get accessibility focused element, Code is ${err.code}, message is ${err.message}`); +}); +``` + +### getRootInActiveWindow20+ + +getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#AccessibilityElement)>; + +获取活动窗口根元素。 + +**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**系统能力:** SystemCapability.BarrierFree.Accessibility.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| windowId | number | No | Window ID to be obtained.| + +**返回值:** +| 类型 | 描述 | +| ----------------------------------- | ---------------------- | +| Promise\<[AccessibilityElement](#AccessibilityElement)>| Promise used to return the result.| + +**错误码:** +以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | +| 202 | 权限验证失败。非系统应用调用了系统 API。 | +| 9300003 | 没有执行此操作的无障碍权限。 | + +**示例:** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let windowId: number = 0; + +axContext.getRootInActiveWindow(windowId).then((element: AccessibilityElement) => { + console.log(`Succeeded in get root inactive window element, ${element.bundleName}`); +}).catch((err: BusinessError) => { + console.error(`failed to get root inactive window element, Code is ${err.code}, message is ${err.message}`); +}); +``` + +## getAccessibilityWindowsSync20+ + +getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](#AccessibilityElement)> + +获取窗口列表。 + +**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**系统能力:** SystemCapability.BarrierFree.Accessibility.Core + +**参数:** +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| displayId | number | No | 显示ID。如果未提供此参数,则表示默认displayId。 | + +**返回值:** + +| 类型 | 描述 | +| ----------------------------------- | ---------------------- | +| Array\<[AccessibilityElement](#AccessibilityElement)> | 窗口列表。| + +**错误码:** +以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | +| 202 | 权限验证失败。非系统应用调用了系统 API。 | +| 9300003 | 没有执行此操作的无障碍权限。 | + +**示例:** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let displayId: number = 0; + +let windowList: AccessibilityElement[] = axContext.getAccessibilityWindowsSync(displayId); + +for (let window of windowList) { + console.log(`window id: ${window.windowId}`); +} +``` + +## AccessibilityElement20+ + +定义了 **AccessibilityElement** 系统 API。提供获取节点元素属性值的方法。在调用 **AccessibilityElement** 的 API 之前,您应该调用 [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getAccessibilityFocusedElement) 或 [AccessibilityExtensionContext.getRootInActiveWindow()](#getRootInActiveWindow) 来获取一个 **AccessibilityElement** 实例。 + +**系统能力:**: SystemCapability.BarrierFree.Accessibility.Core + +### 属性 + +| 名称 | 类型 | 可读 | 可写 | 描述 | +|----------------------|--------------------------------------------------------------------|------|------|-------------------| +| accessibilityFocused20+ | boolean | 是 | 否 | 元素是否因无障碍目的而获得焦点。值为 **true** 表示元素已获得焦点,**false** 表示相反情况。
默认值:**false**。| +| bundleName20+ | string | 是 | 否 | 包名。| +| checkable20+ | boolean | 是 | 否 | 元素是否可勾选。值为 **true** 表示元素可勾选,**false** 表示相反情况。
默认值:**false**。| +| checked20+ | boolean | 是 | 否 | 元素是否已勾选。值为 **true** 表示元素已勾选,**false** 表示相反情况。
默认值:**false**。| +| clickable20+ | boolean | 是 | 否 | 元素是否可点击。值为 **true** 表示元素可点击,**false** 表示相反情况。
默认值:**false**。| +| componentId20+ | number | 是 | 否 | 元素所属组件的 ID。
默认值:**-1**。| +| componentType20+ | string | 是 | 否 | 元素所属组件的类型。| +| contents20+ | Array<string> | 是 | 否 | 内容。| +| currentIndex20+ | number | 是 | 否 | 当前项的索引。
默认值:**0**。| +| description20+ | string | 是 | 否 | 元素的描述信息。| +| editable20+ | boolean | 是 | 否 | 元素是否可编辑。值为 **true** 表示元素可编辑,**false** 表示相反情况。
默认值:**false**。| +| endIndex20+ | number | 是 | 否 | 屏幕上显示的最后一个列表项的索引。
默认值:**0**。| +| error20+ | string | 是 | 否 | 错误状态。| +| focusable20+ | boolean | 是 | 否 | 元素是否可获得焦点。值为 **true** 表示元素可获得焦点,**false** 表示相反情况。
默认值:**false**。| +| hintText20+ | string | 是 | 否 | 提示文本。| +| inputType20+ | number | 是 | 否 | 输入文本的类型。
默认值:**0**。| +| inspectorKey20+ | string | 是 | 否 | 检查器键。| +| isActive20+ | boolean | 是 | 否 | 元素是否处于活动状态。值为 **true** 表示元素处于活动状态,**false** 表示相反情况。
默认值:**true**。| +| isEnable20+ | boolean | 是 | 否 | 元素是否已启用。值为 **true** 表示元素已启用,**false** 表示相反情况。
默认值:**false**。| +| isHint20+ | boolean | 是 | 否 | 元素是否为提示信息。值为 **true** 表示元素是提示信息,**false** 表示相反情况。
默认值:**false**。| +| isFocused20+ | boolean | 是 | 否 | 元素是否已获得焦点。值为 **true** 表示元素已获得焦点,**false** 表示相反情况。
默认值:**false**。| +| isPassword20+ | boolean | 是 | 否 | 元素是否为密码。值为 **true** 表示元素是密码,**false** 表示相反情况。
默认值:**false**。| +| isVisible20+ | boolean | 是 | 否 | 元素是否可见。值为 **true** 表示元素可见,**false** 表示相反情况。
默认值:**false**。| +| itemCount20+ | number | 是 | 否 | 项目总数。
默认值:**0**。| +| lastContent20+ | string | 是 | 否 | 最后一项内容。| +| layer20+ | number | 是 | 否 | 元素的显示层级。| +| longClickable20+ | boolean | 是 | 否 | 元素是否可长按。值为 **true** 表示元素可长按,**false** 表示相反情况。
默认值:**false**。| +| pageId20+ | number | 是 | 否 | 页面 ID。
默认值:**-1**。| +| pluralLineSupported20+ | boolean | 是 | 否 | 元素是否支持多行文本。值为 **true** 表示元素支持多行文本,**false** 表示相反情况。
默认值:**false**。| +| rect20+ | [Rect](#rect) | 是 | 否 | 元素的区域。| +| resourceName20+ | string | 是 | 否 | 元素的资源名称。| +| screenRect20+ | [Rect](#rect) | 是 | 否 | 元素的显示区域。| +| scrollable20+ | boolean | 是 | 否 | 元素是否可滚动。值为 **true** 表示元素可滚动,**false** 表示相反情况。
默认值:**false**。| +| selected20+ | boolean | 是 | 否 | 元素是否已选中。值为 **true** 表示元素已选中,**false** 表示相反情况。
默认值:**false**。| +| startIndex20+ | number | 是 | 否 | 屏幕上第一个列表项的索引。
默认值:**0**。| +| text20+ | string | 是 | 否 | 元素的文本内容。| +| textLengthLimit20+ | number | 是 | 否 | 元素的最大文本长度。| +| textMoveUnit20+ | [accessibility.TextMoveUnit](js-apis-accessibility.md#textmoveunit)| 是 | 否 | 文本朗读时的移动单位。
默认值:**0**。| +| triggerAction20+ | [accessibility.Action](js-apis-accessibility.md#action) | 是 | 否 | 触发元素事件的操作。| +| type20+ | [WindowType](#windowtype) | 是 | 否 | 元素的窗口类型。| +| valueMax20+ | number | 是 | 否 | 最大值。
默认值:**0**。| +| valueMin20+ | number | 是 | 否 | 最小值。
默认值:**0**。| +| valueNow20+ | number | 是 | 否 | 当前值。
默认值:**0**。| +| windowId20+ | number | 是 | 否 | 窗口 ID。
默认值:**-1**。| +| offset20+ | number | 是 | 否 | 内容区域相对于可滚动组件(如 **List** 和 **Grid**)顶部坐标的像素偏移量。
默认值:**0**。| +| textType20+ | string | 是 | 否 | 元素的无障碍文本类型,由组件的 **accessibilityTextHint** 属性配置。| +| accessibilityText20+ | string | 是 | 否 | 元素的无障碍文本信息。| +| hotArea20+ | [Rect](#rect) | 是 | 否 | 元素的可触摸区域。| +| customComponentType20+ | string | 是 | 否 | 自定义组件类型。| +| accessibilityNextFocusId20+ | number | 是 | 否 | 下一个要获得焦点的组件的 ID。
默认值:**-1**。| +| accessibilityPreviousFocusId20+ | number | 是 | 否 | 上一个要获得焦点的组件的 ID。
默认值:**-1**。| +| extraInfo20+ | string | 是 | 否 | 元素的额外信息。值为 JSON 字符串。| +| accessibilityScrollable20+ | boolean | 是 | 否 | 元素是否因无障碍目的而可滚动。此属性优先级高于 **scrollable**。
- **true**(默认值):元素可滚动。
- **false**:元素不可滚动。| +| supportedActionNames20+ | Array<string> | 是 | 否 | 支持的操作名称。| +| accessibilityGroup20+ | boolean | 是 | 否 | 元素是否为无障碍组。值为 **true** 表示元素是无障碍组,**false** 表示相反情况。
默认值:**false**。| +| accessibilityLevel20+ | string | 是 | 否 | 组件的无障碍级别。| +| navDestinationId20+ | number | 是 | 否 | 组件的导航目标 ID。| +| currentItem20+ | AccessibilityGrid | 是 | 否 | 组件网格中的当前项。| +| spans20+ | AccessibilitySpan[] | 是 | 否 | 组件的跨度数组。| +| accessibilityVisible20+ | boolean | 是 | 否 | 组件是否无障碍可见。| +| mainWindowId20+ | number | 是 | 否 | 组件的主窗口 ID。| +| clip20+ | boolean | 是 | 否 | 组件是否需要裁剪。| +| parentId20+ | number | 是 | 否 | 组件的父元素 ID。| +| childrenIds20+ | Array | 是 | 否 | 组件的子元素 ID 列表。| + +**示例:** +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let windowId: number = 10; + +axContext.getRootInActiveWindow(windowId)..then((element: AccessibilityElement) => { + console.info("AccessibilityElement.checkable: " + element.checkable) + console.info("AccessibilityElement.checked: " + element.checked) + console.info("AccessibilityElement.clickable: " + element.clickable) + console.info("AccessibilityElement.componentId: " + element.componentId) + console.info("AccessibilityElement.componentType: " + element.componentType) + console.info("AccessibilityElement.contents: " + element.contents) + console.info("AccessibilityElement.currentIndex: " + element.currentIndex) + console.info("AccessibilityElement.description: " + element.description) + // .... +}).catch((err) => { + console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`); +}) +``` + +## getParent20+ + +getParent(): Promise\; + +获取元素的父元素。 + +**权限**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**系统能力**: SystemCapability.BarrierFree.Accessibility.Core + +**返回值:** + +| 类型 | 描述 | +| ---------------------------------------- | --------------------- | +| Promise\<[AccessibilityElement](#AccessibilityElement)> | 父元素。| + +**错误码:** + +有关错误码的详细信息,请参阅[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | +| 202 | 权限验证失败。非系统应用调用了系统 API。 | + +**示例:** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) => { + console.log(`element parent id: ${element.parentId}`); + element.getParent().then((parent: AccessibilityElement) => { + console.log(`parent element's parent id: ${parent.parentId}`); + }).catch((err) => { + console.log(`getParent failed, code: ${err.code}, message: ${err.message}`); + }) +}).catch((err) => { + console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`); +}) +``` + +## getChildren20+ + +getChildren(): Promise\>; + +获取元素的子元素列表。 + +**权限:**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**系统能力**: SystemCapability.BarrierFree.Accessibility.Core + +**返回值:** + +| 类型 | 描述 | +| ---------------------------------------- | --------------------- | +| Promise\> | 子元素数组。| + +**错误码:** + +有关错误码的详细信息,请参阅[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | +| 202 | 权限验证失败。非系统应用调用了系统 API。 | + +**示例:** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) => { + console.log(`element childrenIds: ${element.childrenIds}`); + element.getChildren().then((children: AccessibilityElement[]) => { + console.log(`children element's size: ${children.length}`); + }).catch((err) => { + console.log(`getChildren failed, code: ${err.code}, message: ${err.message}`); + }) +}).catch((err) => { + console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`); +}) +``` + +## getRoot20+ + +getRoot(): Promise\; + +获取活动窗口中的根元素。 + +**权限:**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**系统能力**: SystemCapability.BarrierFree.Accessibility.Core + +**返回值:** + +| 类型 | 描述 | +| ---------------------------------------- | --------------------- | +| Promise\<[AccessibilityElement](#AccessibilityElement)> | 根元素。| + +**错误码:** + +有关错误码的详细信息,请参阅[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | +| 202 | 权限验证失败。非系统应用调用了系统 API。 | + +**示例:** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let windows: AccessibilityWindow[] = axContext.getAccessibilityWindowsSync() +for (let window of windows) { + console.log(`window id: ${window.windowId}`); + window.getRoot().then((root: AccessibilityElement) => { + console.log(`root element's componentId: ${root.componentId}`); + }).catch((err) => { + console.log(`getRoot failed, code: ${err.code}, message: ${err.message}`); + }) +} +``` + +## findElementByContent + +findElementByContent(content: string): Promise\>; + +根据内容查找元素。 + +**权限:**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**系统能力**: SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---- | -------- | ------------------------------------------------------------ | +| content | string | 是 | 内容。 | + +**返回值:** + +| 类型 | 描述 | +| ---------------------------------------- | --------------------- | +| Promise\> | 元素数组。| + +**错误码:** + +有关错误码的详细信息,请参阅[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | +| 202 | 权限验证失败。非系统应用调用了系统 API。 | + +**示例:** + +```ts +// Page.ets + build() { + Text('Connect') + .id('connect') + .fontSize($r('app.float.page_text_font_size')) + .fontWeight(FontWeight.Bold) +// ... + +// AccessibilityExtAbility.ets +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let windowId: number = 10; + +axContext.getRootInActiveWindow(windowId)..then((root: AccessibilityElement) => { + root.findElementByContent('connect').then((elements: AccessibilityElement[]) => { + console.log("findElementByContent size=" + elements.length) + }).catch((err) => { + console.log(`findElementByContent failed, code: ${err.code}, message: ${err.message}`); + }) +}).catch((err) => { + console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`); +}) +``` + +## findElementByFocusDirection + +findElementByFocusDirection(direction: FocusDirection): Promise\; + +根据焦点方向查找元素。 + +**权限:**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**系统能力**: SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---- | -------- | ------------------------------------------------------------ | +| direction | FocusDirection | 是 | 焦点方向。 | + +**返回值:** + +| 类型 | 描述 | +| ---------------------------------------- | --------------------- | +| Promise\<[AccessibilityElement](#AccessibilityElement)> | AccessibilityElement.| + +**错误码:** + +有关错误码的详细信息,请参阅[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | +| 202 | 权限验证失败。非系统应用调用了系统 API。 | + +**示例:** + +```ts +// Page.ets +// Click TextInput and then it is the accessibility focus element, up direction element is Text#connect + build() { + Text('Connect') + .id('connect') + .fontSize($r('app.float.page_text_font_size')) + .fontWeight(FontWeight.Bold) + + TextInput({ placeholder: 'please input...' }) + .id('text_input') + .fontSize($r('app.float.page_text_font_size')) +// ... + +// AccessibilityExtAbility.ets +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +axContext.getAccessibilityFocusedElement().then((focus: AccessibilityElement) => { + focus.findElementByFocusDirection('up').then((element: AccessibilityElement) => { + console.log("findElementByFocusDirection UP componentId: " + element.componentId); + }).catch((err) => { + console.log(`findElementByFocusDirection UP failed, code: ${err.code}, message: ${err.message}`); + }) +}).catch((err) => { + console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`); +}) +``` + +## findElementByAccessibilityHintText + +findElementsByAccessibilityHintText(hintText: string): Promise\>; + +根据可访问性提示文本查找元素。 + +**权限:**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**系统能力**: SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---- | -------- | ------------------------------------------------------------ | +| hintText | string | 是 | 提示文本。 | + +**返回值:** + +| 类型 | 描述 | +| ---------------------------------------- | --------------------- | +| Promise\> | 元素数组。| + +**错误码:** + +有关错误码的详细信息,请参阅[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | +| 202 | 权限验证失败。非系统应用调用了系统 API。 | + +**示例:** + +```ts +// Page.ets + build() { + Text('Connect') + .id('connect') + .fontSize($r('app.float.page_text_font_size')) + .fontWeight(FontWeight.Bold) + + TextInput({ placeholder: 'please input...' }) + .id('text_input') + .fontSize($r('app.float.page_text_font_size')) + .accessibilityTextHint('location') +// ... + +// AccessibilityExtAbility.ets +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let windowId: number = 10; + +axContext.getRootInActiveWindow(windowId).then((root: AccessibilityElement) => { + root.findElementByAccessibilityHintText('location').then((elements: AccessibilityElement[]) => { + console.log("findElementByAccessibilityHintText size=" + elements.length) + }).catch((err) => { + console.log(`findElementByAccessibilityHintText failed, code: ${err.code}, message: ${err.message}`); + }) +}).catch((err) => { + console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`); +}) +``` + +## findElementById + +findElementById(elementId: number): Promise\; + +根据元素 ID 查找元素。 + +**权限:**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**系统能力**: SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 名称 | 类型 | 必填 | 描述 | +| -------- | ---- | -------- | ------------------------------------------------------------ | +| id | number | 是 | 元素 ID。 | + +**返回值:** + +| 类型 | 描述 | +| ---------------------------------------- | --------------------- | +| Promise\<[AccessibilityElement](#AccessibilityElement)> | AccessibilityElement.| + +**错误码:** + +有关错误码的详细信息,请参阅[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | +| 202 | 权限验证失败。非系统应用调用了系统 API。 | + +**示例:** + +```ts +// Page.ets +// Click TextInput and then it is the accessibility focus element + build() { + Text('Connect') + .id('connect') + .fontSize($r('app.float.page_text_font_size')) + .fontWeight(FontWeight.Bold) + + TextInput({ placeholder: 'please input...' }) + .id('text_input') + .fontSize($r('app.float.page_text_font_size')) +// ... + +// AccessibilityExtAbility.ets +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +axContext.getAccessibilityFocusedElement().then((focus: AccessibilityElement) => { + focus.findElementById(0).then((element: AccessibilityElement) => { + console.log("findElementById componentId: " + element.componentId); + }).catch((err) => { + console.log(`findElementById failed, code: ${err.code}, message: ${err.message}`); + }) +}).catch((err) => { + console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`); +}) +``` -- Gitee From a8184f0300581572ced4e4da6eaa8c4d2ffcd39b Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Fri, 20 Jun 2025 12:56:52 +0800 Subject: [PATCH 02/17] fix format_check Signed-off-by: liuzhiwei --- ...ication-accessibilityExtensionContext-sys.md | 16 ++++++++-------- ...ication-accessibilityExtensionContext-sys.md | 17 +++++++++-------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/en/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/en/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index dfdfce3efd3..008397bb54f 100644 --- a/en/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/en/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -22,7 +22,7 @@ class EntryAbility extends AccessibilityExtensionAbility { } } ``` - + ### AccessibilityAction Actions that UI components can perform. @@ -55,7 +55,7 @@ Actions that UI components can perform. | SPAN\_CLICK | 21 | Represents clicking a SPAN text element. | --- - + ### Parameter When performing an `AccessibilityAction`, pass the second parameter of the `executeAction` method with the correct structure. Only the fields relevant to the specific action need to be filled; others can keep their default values. @@ -506,7 +506,7 @@ axContext.getDefaultFocusedElementIds(windowId).then((data: number[]) => { console.error(`failed to get default focus, Code is ${err.code}, message is ${err.message}`); }); ``` - + ### getAccessibilityFocusedElement20+ getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#AccessibilityElement)>; @@ -543,7 +543,7 @@ axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) console.error(`failed to get accessibility focused element, Code is ${err.code}, message is ${err.message}`); }); ``` - + ### getRootInActiveWindow20+ getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#AccessibilityElement)>; @@ -677,9 +677,9 @@ Defines the **AccessibilityElement** system API. Provides methods to obtain attr | longClickable20+ | boolean | Yes | No | Whether the element is long-clickable. The value **true** indicates that the element is long-clickable, and **false** indicates the opposite.
Default value: **false**.| | pageId20+ | number | Yes | No | Page ID.
Default value: **-1**.| | pluralLineSupported20+ | boolean | Yes | No | Whether the element supports multiple lines of text. The value **true** indicates that the element supports multiple lines of text, and **false** indicates the opposite.
Default value: **false**.| -| rect20+ | [Rect](#rect) | Yes | No | Area of the element.| +| rect20+ | [Rect](js-apis-inner-application-accessibilityExtensionContext.md#Rect) | Yes | No | Area of the element.| | resourceName20+ | string | Yes | No | Resource name of the element.| -| screenRect20+ | [Rect](#rect) | Yes | No | Display area of the element.| +| screenRect20+ | [Rect](js-apis-inner-application-accessibilityExtensionContext.md#Rect) | Yes | No | Display area of the element.| | scrollable20+ | boolean | Yes | No | Whether the element is scrollable. The value **true** indicates that the element is scrollable, and **false** indicates the opposite.
Default value: **false**.| | selected20+ | boolean | Yes | No | Whether the element is selected. The value **true** indicates that the element is selected, and **false** indicates the opposite.
Default value: **false**.| | startIndex20+ | number | Yes | No | Index of the first list item on the screen.
Default value: **0**.| @@ -687,7 +687,7 @@ Defines the **AccessibilityElement** system API. Provides methods to obtain attr | textLengthLimit20+ | number | Yes | No | Maximum text length of the element.| | textMoveUnit20+ | [accessibility.TextMoveUnit](js-apis-accessibility.md#textmoveunit)| Yes | No | Unit of movement when the text is read.
Default value: **0**.| | triggerAction20+ | [accessibility.Action](js-apis-accessibility.md#action) | Yes | No | Action that triggers the element event.| -| type20+ | [WindowType](#windowtype) | Yes | No | Window type of the element.| +| type20+ | [WindowType](js-apis-inner-application-accessibilityExtensionContext.md#Rect#Windowtype) | Yes | No | Window type of the element.| | valueMax20+ | number | Yes | No | Maximum value.
Default value: **0**.| | valueMin20+ | number | Yes | No | Minimum value.
Default value: **0**.| | valueNow20+ | number | Yes | No | Current value.
Default value: **0**.| @@ -695,7 +695,7 @@ Defines the **AccessibilityElement** system API. Provides methods to obtain attr | offset20+ | number | Yes | No | Pixel offset of the content area relative to the top coordinate of a scrollable component, such as **List** and **Grid**.
Default value: **0**.| | textType20+ | string | Yes | No | Accessibility text type of an element, which is configured by the **accessibilityTextHint** attribute of the component.| | accessibilityText20+ | string | Yes | No | Accessibility text information of an element.| -| hotArea20+ | [Rect](#rect) | Yes | No | Touchable area of an element.| +| hotArea20+ | [Rect](js-apis-inner-application-accessibilityExtensionContext.md#Rect) | Yes | No | Touchable area of an element.| | customComponentType20+ | string | Yes | No | Custom component type.| | accessibilityNextFocusId20+ | number | Yes | No | ID of the next component to be focused on.
Default value: **-1**.| | accessibilityPreviousFocusId20+ | number | Yes | No | ID of the previous component to be focused on.
Default value: **-1**.| diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index 1eb35b0ec6a..3a022cf77ba 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -22,7 +22,7 @@ class EntryAbility extends AccessibilityExtensionAbility { } } ``` - + ## AccessibilityAction 界面组件可执行的操作。 @@ -54,6 +54,7 @@ class EntryAbility extends AccessibilityExtensionAbility { | COMMON | 20 | 表示没有特定操作,用于主动聚焦、主动播报等场景。 | | SPAN_CLICK | 21 | 对SPAN文本进行点击操作 | + ## Parameter 执行AccessibilityAction对应操作时,传入executeAction方法的第二个参数的类型定义,不同action传入对应的参数即可,其他参数保持默认。 @@ -132,7 +133,7 @@ executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\ ### getAccessibilityFocusedElement20+ getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#AccessibilityElement)>; @@ -712,7 +713,7 @@ axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) console.error(`failed to get accessibility focused element, Code is ${err.code}, message is ${err.message}`); }); ``` - + ### getRootInActiveWindow20+ getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#AccessibilityElement)>; @@ -839,9 +840,9 @@ for (let window of windowList) { | longClickable20+ | boolean | 是 | 否 | 元素是否可长按。值为 **true** 表示元素可长按,**false** 表示相反情况。
默认值:**false**。| | pageId20+ | number | 是 | 否 | 页面 ID。
默认值:**-1**。| | pluralLineSupported20+ | boolean | 是 | 否 | 元素是否支持多行文本。值为 **true** 表示元素支持多行文本,**false** 表示相反情况。
默认值:**false**。| -| rect20+ | [Rect](#rect) | 是 | 否 | 元素的区域。| +| rect20+ | [Rect](js-apis-inner-application-accessibilityExtensionContext.md#Rect) | 是 | 否 | 元素的区域。| | resourceName20+ | string | 是 | 否 | 元素的资源名称。| -| screenRect20+ | [Rect](#rect) | 是 | 否 | 元素的显示区域。| +| screenRect20+ | [Rect](js-apis-inner-application-accessibilityExtensionContext.md#Rect) | 是 | 否 | 元素的显示区域。| | scrollable20+ | boolean | 是 | 否 | 元素是否可滚动。值为 **true** 表示元素可滚动,**false** 表示相反情况。
默认值:**false**。| | selected20+ | boolean | 是 | 否 | 元素是否已选中。值为 **true** 表示元素已选中,**false** 表示相反情况。
默认值:**false**。| | startIndex20+ | number | 是 | 否 | 屏幕上第一个列表项的索引。
默认值:**0**。| @@ -849,7 +850,7 @@ for (let window of windowList) { | textLengthLimit20+ | number | 是 | 否 | 元素的最大文本长度。| | textMoveUnit20+ | [accessibility.TextMoveUnit](js-apis-accessibility.md#textmoveunit)| 是 | 否 | 文本朗读时的移动单位。
默认值:**0**。| | triggerAction20+ | [accessibility.Action](js-apis-accessibility.md#action) | 是 | 否 | 触发元素事件的操作。| -| type20+ | [WindowType](#windowtype) | 是 | 否 | 元素的窗口类型。| +| type20+ | [WindowType](js-apis-inner-application-accessibilityExtensionContext.md#Windowtype) | 是 | 否 | 元素的窗口类型。| | valueMax20+ | number | 是 | 否 | 最大值。
默认值:**0**。| | valueMin20+ | number | 是 | 否 | 最小值。
默认值:**0**。| | valueNow20+ | number | 是 | 否 | 当前值。
默认值:**0**。| @@ -857,7 +858,7 @@ for (let window of windowList) { | offset20+ | number | 是 | 否 | 内容区域相对于可滚动组件(如 **List** 和 **Grid**)顶部坐标的像素偏移量。
默认值:**0**。| | textType20+ | string | 是 | 否 | 元素的无障碍文本类型,由组件的 **accessibilityTextHint** 属性配置。| | accessibilityText20+ | string | 是 | 否 | 元素的无障碍文本信息。| -| hotArea20+ | [Rect](#rect) | 是 | 否 | 元素的可触摸区域。| +| hotArea20+ | [Rect](js-apis-inner-application-accessibilityExtensionContext.md#Rect) | 是 | 否 | 元素的可触摸区域。| | customComponentType20+ | string | 是 | 否 | 自定义组件类型。| | accessibilityNextFocusId20+ | number | 是 | 否 | 下一个要获得焦点的组件的 ID。
默认值:**-1**。| | accessibilityPreviousFocusId20+ | number | 是 | 否 | 上一个要获得焦点的组件的 ID。
默认值:**-1**。| -- Gitee From f6dfa1228af9c5ae42ad6712656f811a30681730 Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Fri, 20 Jun 2025 14:12:59 +0800 Subject: [PATCH 03/17] remove en doc Signed-off-by: liuzhiwei --- .../apis-accessibility-kit/Readme-EN.md | 1 - ...ation-accessibilityExtensionAbility-sys.md | 209 ----- ...ation-accessibilityExtensionContext-sys.md | 769 ------------------ 3 files changed, 979 deletions(-) delete mode 100644 en/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md diff --git a/en/application-dev/reference/apis-accessibility-kit/Readme-EN.md b/en/application-dev/reference/apis-accessibility-kit/Readme-EN.md index 3e06c39339c..4b8d61a04e7 100644 --- a/en/application-dev/reference/apis-accessibility-kit/Readme-EN.md +++ b/en/application-dev/reference/apis-accessibility-kit/Readme-EN.md @@ -8,7 +8,6 @@ - [AccessibilityExtensionContext](js-apis-inner-application-accessibilityExtensionContext.md) - [@ohos.accessibility.config (System Accessibility Configuration) (System API)](js-apis-accessibility-config-sys.md) - - [@ohos.application.AccessibilityExtensionAbility (AccessibilityExtensionAbilit)(System API)](js-apis-application-accessibilityExtensionAbility-sys.md) - [AccessibilityExtensionContext (System API)](js-apis-inner-application-accessibilityExtensionContext-sys.md) - Error Codes diff --git a/en/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md b/en/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md deleted file mode 100644 index c79b8b76e53..00000000000 --- a/en/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md +++ /dev/null @@ -1,209 +0,0 @@ -# @ohos.application.AccessibilityExtensionAbility (AccessibilityExtensionAbility)(System API) - -The **AccessibilityExtensionAbility** module provides accessibility extension capabilities based on the ExtensionAbility framework. - -> **NOTE** -> -> - The initial APIs of this module are supported since API version 20. Newly added APIs will be marked with a superscript to indicate their earliest API version. - -## Modules to Import - -```ts -import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEventType } from '@kit.AccessibilityKit'; -``` - -## AccessibilityEventType - -Enumerates accessibility event types. - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -| Type |value| Description | -| ----------------------- |----|------------------------| -| TYPE_ACCESSIBILITY_FOCUS |0 | Event indicating that the accessibility focus is obtained. | -| TYPE_ACCESSIBILITY_FOCUS_CLEAR |1| Event indicating that the accessibility focus is cleared. | -| TYPE_CLICK |2| Event of clicking a component. | -| TYPE_LONG_CLICK |3| Event indicating that the component is long pressed. | -| TYPE_SELECT |4| Event of selecting a component. | -| TYPE_HOVER_ENTER |5| Event indicating that the hover enters a component. | -| TYPE_HOVER_EXIT |6| Event indicating that the hover exits a component. | -| TYPE_FOCUS |7| Event indicating that the component obtains the focus. Not supported currently. | -| TYPE_TEXT_UPDATE |8| Event indicating that the component text has been updated.| -| TYPE_TEXT_SELECTION_UPDATE |9| Event indicating that the selected text has been updated. Not supported currently.| -| TYPE_SCROLL |10| Event of the scroll view. | -| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY |11| Event of the auto-focusing.| -| TYPE_ANNOUNCE_FOR_ACCESSIBILITY |12| Event of the auto-broadcasting.| -| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY_NOT_INTERRUPT |13| Event of the auto-focusing without interruption.| -| TYPE_ANNOUNCE_FOR_ACCESSIBILITY_NOT_INTERRUPT |14| Event of the auto-broadcasting without interruption.| -| TYPE_ELEMENT_INFO_CHANGE |15 | Event of element info change -| TYPE_SCROLLING |16| Event indicating that an item is scrolled out of the screen in the scrolling view.| -| TYPE_WINDOW_ADD |17| Window adding. | -| TYPE_WINDOW_REMOVE |18| Window deletion. | -| TYPE_WINDOW_BOUNDS |19| Window boundary change. | -| TYPE_WINDOW_ACTIVE |20| Window activity change.| -| TYPE_WINDOW_FOCUS |21| Window focus change. | -| TYPE_WINDOW_PROPERTY |22| Window property change.| -| TYPE_WINDOW_LAYER |23| Window layer change. | -| TYPE_TOUCH_BEGIN |24| Start of touch in touch guide mode.| -| TYPE_TOUCH_END |25| End of touch in touch guide mode.| -| TYPE_PAGE_CONTENT_UPDATE |26| Update of the page content.| -| TYPE_PAGE_STATE_UPDATE |27| Update of the page status.| -| TYPE_PAGE_OPEN |28| page change to open status.| -| TYPE_PAGE_CLOSE |29| page change to close status.| -| TYPE_SWIPE_LEFT |30| Left gesture. | -| TYPE_SWIPE_LEFT_THEN_RIGHT |31| Left-then-right gesture.| -| TYPE_SWIPE_LEFT_THEN_UP |32| Left-then-up gesture.| -| TYPE_SWIPE_LEFT_THEN_DOWN |33| Left-then-down gesture.| -| TYPE_SWIPE_RIGHT |34| Right gesture. | -| TYPE_SWIPE_RIGHT_THEN_LEFT |35| Right-then-left gesture.| -| TYPE_SWIPE_RIGHT_THEN_UP |36| Right-then-up gesture.| -| TYPE_SWIPE_RIGHT_THEN_DOWN |37| Right-then-down gesture.| -| TYPE_SWIPE_UP |38| Up gesture. | -| TYPE_SWIPE_UP_THEN_LEFT |39| Up-then-left gesture.| -| TYPE_SWIPE_UP_THEN_RIGHT |40| Up-then-right gesture.| -| TYPE_SWIPE_UP_THEN_DOWN |41| Up-then-down gesture.| -| TYPE_SWIPE_DOWN |42| Down gesture. | -| TYPE_SWIPE_DOWN_THEN_LEFT |43| Down-then-left gesture.| -| TYPE_SWIPE_DOWN_THEN_RIGHT |44| Down-then-right gesture.| -| TYPE_SWIPE_DOWN_THEN_UP |45| Down-then-up gesture.| -| TYPE_TWO_FINGER_SINGLE_TAP |46| Two-finger tap gesture.| -| TYPE_TWO_FINGER_DOUBLE_TAP |47| Two-finger double-tap gesture.| -| TYPE_TWO_FINGER_DOUBLE_TAP_AND_HOLD |48| Two-finger double-tap and press-and-hold gesture.| -| TYPE_TWO_FINGER_TRIPLE_TAP |49| Two-finger triple-tap gesture.| -| TYPE_TWO_FINGER_TRIPLE_TAP_AND_HOLD |50| Two-finger triple-tap and press-and-hold gesture.| -| TYPE_THREE_FINGER_SINGLE_TAP |51| Three-finger tap gesture.| -| TYPE_THREE_FINGER_DOUBLE_TAP |52| Three-finger double-tap gesture.| -| TYPE_THREE_FINGER_DOUBLE_TAP_AND_HOLD |53| Three-finger double-tap and press-and-hold gesture.| -| TYPE_THREE_FINGER_TRIPLE_TAP |54| Three-finger triple-tap gesture.| -| TYPE_THREE_FINGER_TRIPLE_TAP_AND_HOLD |55| Three-finger triple-tap and press-and-hold gesture.| -| TYPE_FOUR_FINGER_SINGLE_TAP |56| Four-finger tap gesture.| -| TYPE_FOUR_FINGER_DOUBLE_TAP |57| Four-finger double-tap gesture.| -| TYPE_FOUR_FINGER_DOUBLE_TAP_AND_HOLD |58| Four-finger double-tap and press-and-hold gesture.| -| TYPE_FOUR_FINGER_TRIPLE_TAP |59| Four-finger triple-tap gesture.| -| TYPE_FOUR_FINGER_TRIPLE_TAP_AND_HOLD |60| Four-finger triple-tap and press-and-hold gesture.| -| TYPE_THREE_FINGER_SWIPE_UP |61| Three-finger swipe-up gesture.| -| TYPE_THREE_FINGER_SWIPE_DOWN |62| Three-finger swipe-down gesture.| -| TYPE_THREE_FINGER_SWIPE_LEFT |63| Three-finger swipe-left gesture.| -| TYPE_THREE_FINGER_SWIPE_RIGHT |64| Three-finger swipe-right gesture.| -| TYPE_FOUR_FINGER_SWIPE_UP |65| Four-finger swipe-up gesture.| -| TYPE_FOUR_FINGER_SWIPE_DOWN |66| Four-finger swipe-down gesture.| -| TYPE_FOUR_FINGER_SWIPE_LEFT |67| Four-finger swipe-left gesture.| -| TYPE_FOUR_FINGER_SWIPE_RIGHT |68| Four-finger swipe-right gesture.| - -## AccessibilityEventInfo - -Defines an accessibility event. - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -### Attributes - -| Name | Type | Readable | Writable | Description | -| --------- |----------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------| ------------------------------------------------------------ | -| eventType | [AccessibilityEventType](#accessibilityeventtype) | Yes | No | Event type| -| target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9) | Yes | No | Target component where the event occurs. | -| timeStamp | number | Yes | No | Timestamp of the event, in milliseconds. | -| elementId | number | Yes | No | Component ID for auto-focusing. | -| textAnnouncedForAccessibility | string | Yes | No | Content for auto-broadcasting. | -| extraInfo | string | NO | Yes | The extra info of the element. The value is a JSON string.. | - -## AccessibilityExtensionAbility.onAccessibilityConnect - -onAccessibilityConnect(): void; - -Called when the **AccessibilityExtensionAbility** is enabled and connected to the system service. In this API, you can have the service logic initialized. This API can be overridden as required. - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Example** - -```ts -import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; - -class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { - onAccessibilityConnect(): void { - console.log('AxExtensionAbility onAccessibilityConnect'); - } -} -``` - -## AccessibilityExtensionAbility.onAccessibilityDisconnect - -onAccessibilityDisconnect(): void; - -Called when the **AccessibilityExtensionAbility** is disabled and disconnected from the system service. In this API, you can implement the service logic of resource release and exit. This API can be overridden as required. - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Example** - -```ts -import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; - -class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { - onAccessibilityDisconnect(): void { - console.log('AxExtensionAbility onDisconnect'); - } -} -``` - -## AccessibilityExtensionAbility.onAccessibilityEventInfo - -onAccessibilityEventInfo(event: AccessibilityEventInfo): void; - -Called when an event that matches the specified bundle and event type occurs. In this API, you can implement event-specific service logic. Generally, this API needs to be overridden. - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Parameters** - -| Name | Type | Mandatory | Description | -| ----- | ---------------------------------------- | ---- | --------------- | -| event | [AccessibilityEventInfo](#accessibilityeventinfo) | Yes | Accessibility event. No return value.| - -**Example** - -```ts -import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEventType } from '@kit.AccessibilityKit'; - -class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { - onAccessibilityEventInfo(event: AccessibilityEventInfo): void { - console.log('AxExtensionAbility onAccessibilityEventInfo'); - if (event.eventType === AccessibilityEventType.TYPE_CLICK) { - console.log('AxExtensionAbility onAccessibilityEventInfo: click'); - } - } -} -``` - -## AccessibilityExtensionAbility.onAccessibilityKeyEvent - -onAccessibilityKeyEvent(keyEvent: KeyEvent): boolean; - -Called when a physical key is pressed. In this API, you can determine whether to intercept an event based on the service. - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Parameters** - -| Name | Type | Mandatory | Description | -| -------- |--------------------------------------------------| ---- | ----------------------- | -| keyEvent | [KeyEvent](../apis-input-kit/js-apis-keyevent.md#keyevent) | Yes | Key event. If **true** is returned, the key is intercepted.| - -**Example** - -```ts -import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; -import { KeyEvent } from '@kit.InputKit'; - -class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { - onAccessibilityKeyEvent(keyEvent: KeyEvent): boolean { - console.log('AxExtensionAbility onKeyEvent'); - if (keyEvent.key.code === 16) { - console.log('AxExtensionAbility onAccessibilityKeyEvent: intercept 16'); - return true; - } - return false; - } -} -``` diff --git a/en/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/en/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index 008397bb54f..5652cbff7ba 100644 --- a/en/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/en/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -22,61 +22,6 @@ class EntryAbility extends AccessibilityExtensionAbility { } } ``` - -### AccessibilityAction - -Actions that UI components can perform. - -**System Capability**: All items below correspond to `SystemCapability.BarrierFree.Accessibility.Core` - -| Name | Value | Description | -| ---------------------------- | ----- | ---------------------------------------- | -| ACCESSIBILITY\_FOCUS | 0 | Represents gaining accessibility focus. | -| CLEAR\_ACCESSIBILLITY\_FOCUS | 1 | Represents clearing accessibility focus. | -| FOCUS | 2 | Represents the component gaining focus. | -| CLEAR\_FOCUS | 3 | Represents clearing component focus. | -| CLICK | 4 | Represents clicking the component. | -| LONG\_CLICK | 5 | Represents long pressing the component. | -| CUT | 6 | Represents cutting the component content. | -| COPY | 7 | Represents copying the component content. | -| PASTE | 8 | Represents pasting content into the component. | -| SELECT | 9 | Represents selecting the component. | -| SET\_TEXT | 10 | Represents setting text to the component. | -| SCROLL\_FORWARD | 11 | Represents scrolling the component forward. | -| SCROLL\_BACKWARD | 12 | Represents scrolling the component backward. | -| SET\_SELECTION | 13 | Represents selecting a text range within the component. | -| SET\_CURSOR\_POSITION | 14 | Represents setting the cursor position in the component. | -| HOME | 15 | Represents performing the HOME operation. | -| BACK | 16 | Represents performing the back operation. | -| RECENT\_TASK | 17 | Represents showing recent tasks. | -| NOTIFICATION\_CENTER | 18 | Represents showing the notification center. | -| CONTROL\_CENTER | 19 | Represents showing the control center. | -| COMMON | 20 | Represents no specific action, used for proactive focus or announcements. | -| SPAN\_CLICK | 21 | Represents clicking a SPAN text element. | - ---- - -### Parameter - -When performing an `AccessibilityAction`, pass the second parameter of the `executeAction` method with the correct structure. Only the fields relevant to the specific action need to be filled; others can keep their default values. - -For example, for the action `AccessibilityAction.SET_SELECTION`, the second parameter to `executeAction` would look like: - -```ts -let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true } -``` - -**System Capability**: All items below correspond to `SystemCapability.BarrierFree.Accessibility.Core` - -| Name | Type | Default | Description | -| ------------------- | ------ | ------- | ---------------------------------------- | -| setText | string | "" | Text content for the SET\_TEXT action. | -| selectTextBegin | string | "" | Start coordinate for SET\_SELECTION. E.g., `'2'`. | -| selectTextEnd | string | "" | End coordinate for SET\_SELECTION. E.g., `'8'`. | -| selectTextInForWard | bool | NA | Whether the selection moves forward. E.g., `true`. | -| offset | string | "" | Offset value for SET\_CURSOR\_POSITION. E.g., `'1'`. | -| spanId | string | "" | ID used in SPAN\_CLICK actions. | -| scrollType | string | "" | Scroll type for SCROLL\_FORWARD and SCROLL\_BACKWARD. | ### enableScreenCurtain12+ @@ -120,117 +65,6 @@ axContext.getWindowRootElement().then((data: AccessibilityElement) => { }); ``` -### executeAction20+ - -Executes a specific operation based on the corresponding enum value, using a Promise for asynchronous callback. - -**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY - -**System Capability**: `SystemCapability.BarrierFree.Accessibility.Core` - -**Parameters** - -| Name | Type | Required | Description | -| ---------- | ------------------- | -------- | ---------------------------------------- | -| action | AccessibilityAction | Yes | The enum value representing the operation to execute. See [AccessibilityAction](#AccessibilityAction) for reference. | -| parameters | Parameter | No | Parameters required for performing the target action. Empty by default. See [Parameter](#Parameter). | - -**Return Value** - -| Type | Description | -| ------- | -------------------------------------- | -| Promise | A Promise object with no return value. | - -**Error Codes** - -For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). - -| Error Code ID | Error Message | -| ------------- | ---------------------------------------- | -| 401 | Input parameter error. Possible causes: 1. Mandatory parameters are missing; 2. Incorrect parameter types; 3. Parameter validation failed. | -| 9300005 | This action is not supported. | - ------- - -**Example** - -```ts -import { BusinessError } from '@kit.BasicServicesKit'; -import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; - -// rootElement is an instance of AccessibilityElement -rootElement.executeAction(action).then(() => { - console.info(`Succeeded in perform action,actionName is ${actionName}`); -}).catch((err: BusinessError) => { - console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); -}); - -``` - ------- - -**Example: Action Without Parameters** - -Actions without explicitly required parameters are considered parameterless actions. - -```ts -import { BusinessError } from '@kit.BasicServicesKit'; -import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; - -// rootElement is an instance of AccessibilityElement -// Actions without parameter requirements are parameterless -rootElement.executeAction(AccessibilityAction.CLICK).then(() => { - console.info(`Succeeded in perform action.`); -}).catch((err: BusinessError) => { - console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); -}); - -``` - ------- - -**Example: Action With Parameters** - -```ts -import { BusinessError } from '@kit.BasicServicesKit'; -import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; - -// selectTextBegin: start position of the selection -// selectTextEnd: end position of the selection -// selectTextInForWard: true for forward selection, false for backward -let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true } - -// rootElement is an instance of AccessibilityElement -// Example for SET_SELECTION -rootElement.executeAction(AccessibilityAction.SET_SELECTION, p).then(() => { - console.info(`Succeeded in perform action`); -}).catch((err: BusinessError) => { - console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); -}); - -``` - ------- - -**Example: Set Cursor Position** - -```ts -import { BusinessError } from '@kit.BasicServicesKit'; -import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; - -// offset: cursor position to set -let p : Parameter = { offset: '1' } - -// rootElement is an instance of AccessibilityElement -// Example for SET_CURSOR_POSITION -rootElement.executeAction(AccessibilityAction.SET_CURSOR_POSITION, p).then(() => { - console.info(`Succeeded in perform action`); -}).catch((err: BusinessError) => { - console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); -}); - -``` - ### findElement('elementId')12+ findElement(type: 'elementId', condition: number): Promise\; @@ -506,606 +340,3 @@ axContext.getDefaultFocusedElementIds(windowId).then((data: number[]) => { console.error(`failed to get default focus, Code is ${err.code}, message is ${err.message}`); }); ``` - -### getAccessibilityFocusedElement20+ - -getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#AccessibilityElement)>; - -Get accessibility focused element. - -**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Return value** -| Type | Description | -| ----------------------------------- | ---------------------- | -| Promise\<[AccessibilityElement](#AccessibilityElement)>| Promise used to return the result.| - -**Error codes** -For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). - -| ID | Error Message | -| ------- | ----------------------------- | -| 201 | Permission verification failed.The application does not have the permission required to call the API. | -| 202 | Permission verification failed. A non-system application calls a system API. | -| 9300003 | No accessibility permission to perform the operation. | - -**Example** - -```ts -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) => { - console.log(`Succeeded in get accessibility focused element, ${element.bundleName}`); -}).catch((err: BusinessError) => { - console.error(`failed to get accessibility focused element, Code is ${err.code}, message is ${err.message}`); -}); -``` - -### getRootInActiveWindow20+ - -getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#AccessibilityElement)>; - -Get window root element. - -**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Parameters** - -| Name| Type| Mandatory| Description| -| -------- | -------- | -------- | -------- | -| windowId | number | No | Window ID to be obtained.| - -**Return value** -| Type | Description | -| ----------------------------------- | ---------------------- | -| Promise\<[AccessibilityElement](#AccessibilityElement)>| Promise used to return the result.| - -**Error codes** - -For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). - -| ID | Error Message | -| ------- | ---------------------------------------- | -| 201 | Permission verification failed.The application does not have the permission required to call the API. | -| 202 | Permission verification failed. A non-system application calls a system API. | -| 9300003 | No accessibility permission to perform the operation. | - -**Example** - -```ts -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -let windowId: number = 0; - -axContext.getRootInActiveWindow(windowId).then((element: AccessibilityElement) => { - console.log(`Succeeded in get root inactive window element, ${element.bundleName}`); -}).catch((err: BusinessError) => { - console.error(`failed to get root inactive window element, Code is ${err.code}, message is ${err.message}`); -}); -``` - -## getAccessibilityWindowsSync20+ - -getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](#AccessibilityElement)> - -Get window list - -**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Parameters** - -| Name | Type | Mandatory | Description | -| ----------- | ----------------------------- | ---- | -------- | -| displayId | number | No | Indicates the display ID. If this parameter is not provided, indicates the default displayId. | - -**Return value** - -| Type | Description | -| ---------------------------------------- | --------------------- | -| Array\<[AccessibilityElement](#AccessibilityElement)> | Window list.| - -**Error codes** - -For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). - -| ID | Error Message | -| ------- | ---------------------------------------- | -| 201 | Permission verification failed.The application does not have the permission required to call the API. | -| 202 | Permission verification failed. A non-system application calls a system API. | -| 9300003 | No accessibility permission to perform the operation. | - -**Example** - -```ts -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -let displayId: number = 0; - -let windowList: AccessibilityElement[] = axContext.getAccessibilityWindowsSync(displayId); - -for (let window of windowList) { - console.log(`window id: ${window.windowId}`); -} -``` - - -## AccessibilityElement20+ - -Defines the **AccessibilityElement** system API. Provides methods to obtain attribute value of a node element. Before calling APIs of **AccessibilityElement**, you should call [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getAccessibilityFocusedElement) or [AccessibilityExtensionContext.getRootInActiveWindow()](#getRootInActiveWindow) to obtain an **AccessibilityElement** instance. - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -### Attributes - -| Name | Type | Readable| Writable| Description | -|----------------------|--------------------------------------------------------------------|------|------|-------------------| -| accessibilityFocused20+ | boolean | Yes | No | Whether the element is focused for accessibility purposes. The value **true** indicates that the element is focused, and **false** indicates the opposite.
Default value: **false**.| -| bundleName20+ | string | Yes | No | Bundle name.| -| checkable20+ | boolean | Yes | No | Whether the element is checkable. The value **true** indicates that the element is checkable, and **false** indicates the opposite.
Default value: **false**.| -| checked20+ | boolean | Yes | No | Whether the element is checked. The value **true** indicates that the element is checked, and **false** indicates the opposite.
Default value: **false**.| -| clickable20+ | boolean | Yes | No | Whether the element is clickable. The value **true** indicates that the element is clickable, and **false** indicates the opposite.
Default value: **false**.| -| componentId20+ | number | Yes | No | ID of the component to which the element belongs.
Default value: **-1**.| -| componentType20+ | string | Yes | No | Type of the component to which the element belongs.| -| contents20+ | Array<string> | Yes | No | Contents.| -| currentIndex20+ | number | Yes | No | Index of the current item.
Default value: **0**.| -| description20+ | string | Yes | No | Description of the element.| -| editable20+ | boolean | Yes | No | Whether the element is editable. The value **true** indicates that the element is editable, and **false** indicates the opposite.
Default value: **false**.| -| endIndex20+ | number | Yes | No | Index of the last list item displayed on the screen.
Default value: **0**.| -| error20+ | string | Yes | No | Error status.| -| focusable20+ | boolean | Yes | No | Whether the element is focusable. The value **true** indicates that the element is focusable, and **false** indicates the opposite.
Default value: **false**.| -| hintText20+ | string | Yes | No | Hint text.| -| inputType20+ | number | Yes | No | Type of the input text.
Default value: **0**.| -| inspectorKey20+ | string | Yes | No | Inspector key.| -| isActive20+ | boolean | Yes | No | Whether the element is active. The value **true** indicates that the element is active and **false** indicates the opposite.
Default value: **true**.| -| isEnable20+ | boolean | Yes | No | Whether the element is enabled. The value **true** indicates that the element is enabled, and **false** indicates the opposite.
Default value: **false**.| -| isHint20+ | boolean | Yes | No | Whether the element is a hint. The value **true** indicates that the element is a hint, and **false** indicates the opposite.
Default value: **false**.| -| isFocused20+ | boolean | Yes | No | Whether the element is focused. The value **true** indicates that the element is focused, and **false** indicates the opposite.
Default value: **false**.| -| isPassword20+ | boolean | Yes | No | Whether the element is a password. The value **true** indicates that the element is a password, and **false** indicates the opposite.
Default value: **false**.| -| isVisible20+ | boolean | Yes | No | Whether the element is visible. The value **true** indicates that the element is visible, and **false** indicates the opposite.
Default value: **false**.| -| itemCount20+ | number | Yes | No | Total number of items.
Default value: **0**.| -| lastContent20+ | string | Yes | No | Last content.| -| layer20+ | number | Yes | No | Display layer of the element.| -| longClickable20+ | boolean | Yes | No | Whether the element is long-clickable. The value **true** indicates that the element is long-clickable, and **false** indicates the opposite.
Default value: **false**.| -| pageId20+ | number | Yes | No | Page ID.
Default value: **-1**.| -| pluralLineSupported20+ | boolean | Yes | No | Whether the element supports multiple lines of text. The value **true** indicates that the element supports multiple lines of text, and **false** indicates the opposite.
Default value: **false**.| -| rect20+ | [Rect](js-apis-inner-application-accessibilityExtensionContext.md#Rect) | Yes | No | Area of the element.| -| resourceName20+ | string | Yes | No | Resource name of the element.| -| screenRect20+ | [Rect](js-apis-inner-application-accessibilityExtensionContext.md#Rect) | Yes | No | Display area of the element.| -| scrollable20+ | boolean | Yes | No | Whether the element is scrollable. The value **true** indicates that the element is scrollable, and **false** indicates the opposite.
Default value: **false**.| -| selected20+ | boolean | Yes | No | Whether the element is selected. The value **true** indicates that the element is selected, and **false** indicates the opposite.
Default value: **false**.| -| startIndex20+ | number | Yes | No | Index of the first list item on the screen.
Default value: **0**.| -| text20+ | string | Yes | No | Text of the element.| -| textLengthLimit20+ | number | Yes | No | Maximum text length of the element.| -| textMoveUnit20+ | [accessibility.TextMoveUnit](js-apis-accessibility.md#textmoveunit)| Yes | No | Unit of movement when the text is read.
Default value: **0**.| -| triggerAction20+ | [accessibility.Action](js-apis-accessibility.md#action) | Yes | No | Action that triggers the element event.| -| type20+ | [WindowType](js-apis-inner-application-accessibilityExtensionContext.md#Rect#Windowtype) | Yes | No | Window type of the element.| -| valueMax20+ | number | Yes | No | Maximum value.
Default value: **0**.| -| valueMin20+ | number | Yes | No | Minimum value.
Default value: **0**.| -| valueNow20+ | number | Yes | No | Current value.
Default value: **0**.| -| windowId20+ | number | Yes | No | Window ID.
Default value: **-1**.| -| offset20+ | number | Yes | No | Pixel offset of the content area relative to the top coordinate of a scrollable component, such as **List** and **Grid**.
Default value: **0**.| -| textType20+ | string | Yes | No | Accessibility text type of an element, which is configured by the **accessibilityTextHint** attribute of the component.| -| accessibilityText20+ | string | Yes | No | Accessibility text information of an element.| -| hotArea20+ | [Rect](js-apis-inner-application-accessibilityExtensionContext.md#Rect) | Yes | No | Touchable area of an element.| -| customComponentType20+ | string | Yes | No | Custom component type.| -| accessibilityNextFocusId20+ | number | Yes | No | ID of the next component to be focused on.
Default value: **-1**.| -| accessibilityPreviousFocusId20+ | number | Yes | No | ID of the previous component to be focused on.
Default value: **-1**.| -| extraInfo20+ | string | Yes | No | The extra info of the element. The value is a JSON string.| -| accessibilityScrollable20+ | boolean | Yes | No | Whether an element is scrollable for accessibility. This attribute has a higher priority than **scrollable**.
- **true** (default): the element is scrollable.
- **false**: the element is not scrollable.| -| supportedActionNames20+ | Array<string> | Yes | No | supported action names.| -| accessibilityGroup20+ | boolean | Yes | No | Whether the element is accessibility group. The value **true** indicates that the element is accessibility group, and **false** indicates the opposite.
Default value: **false**.| -| accessibilityLevel20+ | string | Yes | No | The accessibilityLevel of component.| -| navDestinationId20+ | number | Yes | No | The navDestination id of component.| -| currentItem20+ | AccessibilityGrid | Yes | No | The current item in grid of component.| -| spans20+ | AccessibilitySpan[] | Yes | No | The span array of component.| -| accessibilityVisible20+ | boolean | Yes | No | Whether the component is accessibility visible.| -| mainWindowId20+ | number | Yes | No | The main windowId of component.| -| clip20+ | boolean | Yes | No | Whether the component need clip.| -| parentId20+ | number | Yes | No | The parent element id of component.| -| childrenIds20+ | Array | Yes | No | The children elements id list of component.| - -**Example** -```ts -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -let windowId: number = 10; - -axContext.getRootInActiveWindow(windowId)..then((element: AccessibilityElement) => { - console.info("AccessibilityElement.checkable: " + element.checkable) - console.info("AccessibilityElement.checked: " + element.checked) - console.info("AccessibilityElement.clickable: " + element.clickable) - console.info("AccessibilityElement.componentId: " + element.componentId) - console.info("AccessibilityElement.componentType: " + element.componentType) - console.info("AccessibilityElement.contents: " + element.contents) - console.info("AccessibilityElement.currentIndex: " + element.currentIndex) - console.info("AccessibilityElement.description: " + element.description) - // .... -}).catch((err) => { - console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`); -}) -``` - -## getParent20+ - -getParent(): Promise\; - -Get element's parent. - -**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Return value** - -| Type | Description | -| ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#AccessibilityElement)> | Parent element.| - -**Error codes** - -For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). - -| ID | Error Message | -| ------- | ---------------------------------------- | -| 201 | Permission verification failed.The application does not have the permission required to call the API. | -| 202 | Permission verification failed. A non-system application calls a system API. | - -**Example** - -```ts -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) => { - console.log(`element parent id: ${element.parentId}`); - element.getParent().then((parent: AccessibilityElement) => { - console.log(`parent element's parent id: ${parent.parentId}`); - }).catch((err) => { - console.log(`getParent failed, code: ${err.code}, message: ${err.message}`); - }) -}).catch((err) => { - console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`); -}) -``` - -## getChildren20+ - -getChildren(): Promise\>; - -Get element's children. - -**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Return value** - -| Type | Description | -| ---------------------------------------- | --------------------- | -| Promise\> | Children element array.| - -**Error codes** - -For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). - -| ID | Error Message | -| ------- | ---------------------------------------- | -| 201 | Permission verification failed.The application does not have the permission required to call the API. | -| 202 | Permission verification failed. A non-system application calls a system API. | - -**Example** - -```ts -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) => { - console.log(`element childrenIds: ${element.childrenIds}`); - element.getChildren().then((children: AccessibilityElement[]) => { - console.log(`children element's size: ${children.length}`); - }).catch((err) => { - console.log(`getChildren failed, code: ${err.code}, message: ${err.message}`); - }) -}).catch((err) => { - console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`); -}) -``` - -## getRoot20+ - -getRoot(): Promise\; - -Get root element in active window. - -**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Return value** - -| Type | Description | -| ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#AccessibilityElement)> | Root element.| - -**Error codes** - -For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). - -| ID | Error Message | -| ------- | ---------------------------------------- | -| 201 | Permission verification failed.The application does not have the permission required to call the API. | -| 202 | Permission verification failed. A non-system application calls a system API. | - -**Example** - -```ts -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -let windows: AccessibilityWindow[] = axContext.getAccessibilityWindowsSync() -for (let window of windows) { - console.log(`window id: ${window.windowId}`); - window.getRoot().then((root: AccessibilityElement) => { - console.log(`root element's componentId: ${root.componentId}`); - }).catch((err) => { - console.log(`getRoot failed, code: ${err.code}, message: ${err.message}`); - }) -} -``` - -## findElementByContent - -findElementByContent(content: string): Promise\>; - -Find elements by content. - -**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Parameters**: - -| Name | Type | Required | Description | -| -------- | ---- | -------- | ------------------------------------------------------------ | -| content | string | Yes | Content. | - -**Return value** - -| Type | Description | -| ---------------------------------------- | --------------------- | -| Promise\> | Element array.| - -**Error codes** - -For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). - -| ID | Error Message | -| ------- | ---------------------------------------- | -| 201 | Permission verification failed.The application does not have the permission required to call the API. | -| 202 | Permission verification failed. A non-system application calls a system API. | - -**Example** - -```ts -// Page.ets - build() { - Text('Connect') - .id('connect') - .fontSize($r('app.float.page_text_font_size')) - .fontWeight(FontWeight.Bold) -// ... - -// AccessibilityExtAbility.ets -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -let windowId: number = 10; - -axContext.getRootInActiveWindow(windowId)..then((root: AccessibilityElement) => { - root.findElementByContent('connect').then((elements: AccessibilityElement[]) => { - console.log("findElementByContent size=" + elements.length) - }).catch((err) => { - console.log(`findElementByContent failed, code: ${err.code}, message: ${err.message}`); - }) -}).catch((err) => { - console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`); -}) -``` - -## findElementByFocusDirection - -findElementByFocusDirection(direction: FocusDirection): Promise\; - -Find elements that match the focus direction - -**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Parameters**: - -| Name | Type | Required | Description | -| -------- | ---- | -------- | ------------------------------------------------------------ | -| direction | FocusDirection | Yes | Focus direction. | - -**Return value** - -| Type | Description | -| ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#AccessibilityElement)> | AccessibilityElement.| - -**Error codes** - -For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). - -| ID | Error Message | -| ------- | ---------------------------------------- | -| 201 | Permission verification failed.The application does not have the permission required to call the API. | -| 202 | Permission verification failed. A non-system application calls a system API. | - -**Example** - -```ts -// Page.ets -// Click TextInput and then it is the accessibility focus element, up direction element is Text#connect - build() { - Text('Connect') - .id('connect') - .fontSize($r('app.float.page_text_font_size')) - .fontWeight(FontWeight.Bold) - - TextInput({ placeholder: 'please input...' }) - .id('text_input') - .fontSize($r('app.float.page_text_font_size')) -// ... - -// AccessibilityExtAbility.ets -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -axContext.getAccessibilityFocusedElement().then((focus: AccessibilityElement) => { - focus.findElementByFocusDirection('up').then((element: AccessibilityElement) => { - console.log("findElementByFocusDirection UP componentId: " + element.componentId); - }).catch((err) => { - console.log(`findElementByFocusDirection UP failed, code: ${err.code}, message: ${err.message}`); - }) -}).catch((err) => { - console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`); -}) -``` - -## findElementByAccessibilityHintText - -findElementsByAccessibilityHintText(hintText: string): Promise\>; - -Find elements by accessibility hint text. - -**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Parameters**: - -| Name | Type | Required | Description | -| -------- | ---- | -------- | ------------------------------------------------------------ | -| hintText | string | Yes | Hint text. | - -**Return value** - -| Type | Description | -| ---------------------------------------- | --------------------- | -| Promise\> | Element array.| - -**Error codes** - -For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). - -| ID | Error Message | -| ------- | ---------------------------------------- | -| 201 | Permission verification failed.The application does not have the permission required to call the API. | -| 202 | Permission verification failed. A non-system application calls a system API. | - -**Example** - -```ts -// Page.ets - build() { - Text('Connect') - .id('connect') - .fontSize($r('app.float.page_text_font_size')) - .fontWeight(FontWeight.Bold) - - TextInput({ placeholder: 'please input...' }) - .id('text_input') - .fontSize($r('app.float.page_text_font_size')) - .accessibilityTextHint('location') -// ... - -// AccessibilityExtAbility.ets -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -let windowId: number = 10; - -axContext.getRootInActiveWindow(windowId).then((root: AccessibilityElement) => { - root.findElementByAccessibilityHintText('location').then((elements: AccessibilityElement[]) => { - console.log("findElementByAccessibilityHintText size=" + elements.length) - }).catch((err) => { - console.log(`findElementByAccessibilityHintText failed, code: ${err.code}, message: ${err.message}`); - }) -}).catch((err) => { - console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`); -}) -``` - -## findElementById - -findElementById(elementId: number): Promise\; - -Find elements that match the elementId. - -**Permissions**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY - -**System capability**: SystemCapability.BarrierFree.Accessibility.Core - -**Parameters**: - -| Name | Type | Required | Description | -| -------- | ---- | -------- | ------------------------------------------------------------ | -| id | number | Yes | Element id. | - -**Return value** - -| Type | Description | -| ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#AccessibilityElement)> | AccessibilityElement.| - -**Error codes** - -For details about the error codes, see [Accessibility Error Codes](errorcode-accessibility.md). - -| ID | Error Message | -| ------- | ---------------------------------------- | -| 201 | Permission verification failed.The application does not have the permission required to call the API. | -| 202 | Permission verification failed. A non-system application calls a system API. | - -**Example** - -```ts -// Page.ets -// Click TextInput and then it is the accessibility focus element - build() { - Text('Connect') - .id('connect') - .fontSize($r('app.float.page_text_font_size')) - .fontWeight(FontWeight.Bold) - - TextInput({ placeholder: 'please input...' }) - .id('text_input') - .fontSize($r('app.float.page_text_font_size')) -// ... - -// AccessibilityExtAbility.ets -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -axContext.getAccessibilityFocusedElement().then((focus: AccessibilityElement) => { - focus.findElementById(0).then((element: AccessibilityElement) => { - console.log("findElementById componentId: " + element.componentId); - }).catch((err) => { - console.log(`findElementById failed, code: ${err.code}, message: ${err.message}`); - }) -}).catch((err) => { - console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`); -}) -``` -- Gitee From 3f3eea1cc6ac43be8238e765a842a4b9ebb4854e Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Fri, 20 Jun 2025 14:37:30 +0800 Subject: [PATCH 04/17] Linking Letters in Lowercase Signed-off-by: liuzhiwei --- ...ation-accessibilityExtensionContext-sys.md | 37 +++++++++---------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index 3a022cf77ba..566fa4b1303 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -22,7 +22,7 @@ class EntryAbility extends AccessibilityExtensionAbility { } } ``` - + ## AccessibilityAction 界面组件可执行的操作。 @@ -54,7 +54,6 @@ class EntryAbility extends AccessibilityExtensionAbility { | COMMON | 20 | 表示没有特定操作,用于主动聚焦、主动播报等场景。 | | SPAN_CLICK | 21 | 对SPAN文本进行点击操作 | - ## Parameter 执行AccessibilityAction对应操作时,传入executeAction方法的第二个参数的类型定义,不同action传入对应的参数即可,其他参数保持默认。 @@ -132,8 +131,8 @@ executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\ ### getAccessibilityFocusedElement20+ -getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#AccessibilityElement)>; +getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#accessibilityElement20)>; 获取当前获得焦点的元素。 @@ -690,7 +689,7 @@ getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#Accessibility **返回值:** | 类型 | 描述 | | ----------------------------------- | ---------------------- | -| Promise\<[AccessibilityElement](#AccessibilityElement)>| Promise used to return the result.| +| Promise\<[AccessibilityElement](#accessibilityElement20)>| Promise used to return the result.| **错误码:** 以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 @@ -716,7 +715,7 @@ axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) ### getRootInActiveWindow20+ -getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#AccessibilityElement)>; +getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#accessibilityElement20)>; 获取活动窗口根元素。 @@ -732,7 +731,7 @@ getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#Acce **返回值:** | 类型 | 描述 | | ----------------------------------- | ---------------------- | -| Promise\<[AccessibilityElement](#AccessibilityElement)>| Promise used to return the result.| +| Promise\<[AccessibilityElement](#accessibilityElement20)>| Promise used to return the result.| **错误码:** 以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 @@ -759,7 +758,7 @@ axContext.getRootInActiveWindow(windowId).then((element: AccessibilityElement) = ## getAccessibilityWindowsSync20+ -getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](#AccessibilityElement)> +getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](#accessibilityElement20)> 获取窗口列表。 @@ -776,7 +775,7 @@ getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](# | 类型 | 描述 | | ----------------------------------- | ---------------------- | -| Array\<[AccessibilityElement](#AccessibilityElement)> | 窗口列表。| +| Array\<[AccessibilityElement](#accessibilityElement20)> | 窗口列表。| **错误码:** 以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 @@ -800,7 +799,7 @@ for (let window of windowList) { console.log(`window id: ${window.windowId}`); } ``` - + ## AccessibilityElement20+ 定义了 **AccessibilityElement** 系统 API。提供获取节点元素属性值的方法。在调用 **AccessibilityElement** 的 API 之前,您应该调用 [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getAccessibilityFocusedElement) 或 [AccessibilityExtensionContext.getRootInActiveWindow()](#getRootInActiveWindow) 来获取一个 **AccessibilityElement** 实例。 @@ -850,7 +849,7 @@ for (let window of windowList) { | textLengthLimit20+ | number | 是 | 否 | 元素的最大文本长度。| | textMoveUnit20+ | [accessibility.TextMoveUnit](js-apis-accessibility.md#textmoveunit)| 是 | 否 | 文本朗读时的移动单位。
默认值:**0**。| | triggerAction20+ | [accessibility.Action](js-apis-accessibility.md#action) | 是 | 否 | 触发元素事件的操作。| -| type20+ | [WindowType](js-apis-inner-application-accessibilityExtensionContext.md#Windowtype) | 是 | 否 | 元素的窗口类型。| +| type20+ | [WindowType](js-apis-inner-application-accessibilityExtensionContext.md#windowtype) | 是 | 否 | 元素的窗口类型。| | valueMax20+ | number | 是 | 否 | 最大值。
默认值:**0**。| | valueMin20+ | number | 是 | 否 | 最小值。
默认值:**0**。| | valueNow20+ | number | 是 | 否 | 当前值。
默认值:**0**。| @@ -912,7 +911,7 @@ getParent(): Promise\; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#AccessibilityElement)> | 父元素。| +| Promise\<[AccessibilityElement](#accessibilityElement20)> | 父元素。| **错误码:** @@ -955,7 +954,7 @@ getChildren(): Promise\>; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\> | 子元素数组。| +| Promise\> | 子元素数组。| **错误码:** @@ -998,7 +997,7 @@ getRoot(): Promise\; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#AccessibilityElement)> | 根元素。| +| Promise\<[AccessibilityElement](#accessibilityElement20)> | 根元素。| **错误码:** @@ -1046,7 +1045,7 @@ findElementByContent(content: string): Promise\>; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\> | 元素数组。| +| Promise\> | 元素数组。| **错误码:** @@ -1105,7 +1104,7 @@ findElementByFocusDirection(direction: FocusDirection): Promise\ | AccessibilityElement.| +| Promise\<[AccessibilityElement](#accessibilityElement20)> | AccessibilityElement.| **错误码:** @@ -1167,7 +1166,7 @@ findElementsByAccessibilityHintText(hintText: string): Promise\> | 元素数组。| +| Promise\> | 元素数组。| **错误码:** @@ -1231,7 +1230,7 @@ findElementById(elementId: number): Promise\; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#AccessibilityElement)> | AccessibilityElement.| +| Promise\<[AccessibilityElement](#accessibilityElement20)> | AccessibilityElement.| **错误码:** -- Gitee From 730acdc5f403fc8fdbc6b313fc49d29fc9533186 Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Fri, 20 Jun 2025 15:23:17 +0800 Subject: [PATCH 05/17] lower letters Signed-off-by: liuzhiwei --- ...ation-accessibilityExtensionContext-sys.md | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index 566fa4b1303..0723b5bea4d 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -131,7 +131,7 @@ executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\ ### getAccessibilityFocusedElement20+ -getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#accessibilityElement20)>; +getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#accessibilityelement20)>; 获取当前获得焦点的元素。 @@ -689,7 +689,7 @@ getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#accessibility **返回值:** | 类型 | 描述 | | ----------------------------------- | ---------------------- | -| Promise\<[AccessibilityElement](#accessibilityElement20)>| Promise used to return the result.| +| Promise\<[AccessibilityElement](#accessibilityelement20)>| Promise used to return the result.| **错误码:** 以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 @@ -715,7 +715,7 @@ axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) ### getRootInActiveWindow20+ -getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#accessibilityElement20)>; +getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#accessibilityelement20)>; 获取活动窗口根元素。 @@ -731,7 +731,7 @@ getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#acce **返回值:** | 类型 | 描述 | | ----------------------------------- | ---------------------- | -| Promise\<[AccessibilityElement](#accessibilityElement20)>| Promise used to return the result.| +| Promise\<[AccessibilityElement](#accessibilityelement20)>| Promise used to return the result.| **错误码:** 以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 @@ -758,7 +758,7 @@ axContext.getRootInActiveWindow(windowId).then((element: AccessibilityElement) = ## getAccessibilityWindowsSync20+ -getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](#accessibilityElement20)> +getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](#accessibilityelement20)> 获取窗口列表。 @@ -775,7 +775,7 @@ getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](# | 类型 | 描述 | | ----------------------------------- | ---------------------- | -| Array\<[AccessibilityElement](#accessibilityElement20)> | 窗口列表。| +| Array\<[AccessibilityElement](#accessibilityelement20)> | 窗口列表。| **错误码:** 以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 @@ -802,7 +802,7 @@ for (let window of windowList) { ## AccessibilityElement20+ -定义了 **AccessibilityElement** 系统 API。提供获取节点元素属性值的方法。在调用 **AccessibilityElement** 的 API 之前,您应该调用 [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getAccessibilityFocusedElement) 或 [AccessibilityExtensionContext.getRootInActiveWindow()](#getRootInActiveWindow) 来获取一个 **AccessibilityElement** 实例。 +定义了 **AccessibilityElement** 系统 API。提供获取节点元素属性值的方法。在调用 **AccessibilityElement** 的 API 之前,您应该调用 [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getaccessibilityfocusedelement) 或 [AccessibilityExtensionContext.getRootInActiveWindow()](#getrootinactivewindow) 来获取一个 **AccessibilityElement** 实例。 **系统能力:**: SystemCapability.BarrierFree.Accessibility.Core @@ -873,7 +873,7 @@ for (let window of windowList) { | mainWindowId20+ | number | 是 | 否 | 组件的主窗口 ID。| | clip20+ | boolean | 是 | 否 | 组件是否需要裁剪。| | parentId20+ | number | 是 | 否 | 组件的父元素 ID。| -| childrenIds20+ | Array | 是 | 否 | 组件的子元素 ID 列表。| +| childrenIds20+ | Array\ | 是 | 否 | 组件的子元素 ID 列表。| **示例:** ```ts @@ -911,7 +911,7 @@ getParent(): Promise\; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#accessibilityElement20)> | 父元素。| +| Promise\<[AccessibilityElement](#accessibilityelement20)> | 父元素。| **错误码:** @@ -954,7 +954,7 @@ getChildren(): Promise\>; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\> | 子元素数组。| +| Promise\> | 子元素数组。| **错误码:** @@ -997,7 +997,7 @@ getRoot(): Promise\; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#accessibilityElement20)> | 根元素。| +| Promise\<[AccessibilityElement](#accessibilityelement20)> | 根元素。| **错误码:** @@ -1045,7 +1045,7 @@ findElementByContent(content: string): Promise\>; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\> | 元素数组。| +| Promise\> | 元素数组。| **错误码:** @@ -1104,7 +1104,7 @@ findElementByFocusDirection(direction: FocusDirection): Promise\ | AccessibilityElement.| +| Promise\<[AccessibilityElement](#accessibilityelement20)> | AccessibilityElement.| **错误码:** @@ -1166,7 +1166,7 @@ findElementsByAccessibilityHintText(hintText: string): Promise\> | 元素数组。| +| Promise\> | 元素数组。| **错误码:** @@ -1230,7 +1230,7 @@ findElementById(elementId: number): Promise\; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#accessibilityElement20)> | AccessibilityElement.| +| Promise\<[AccessibilityElement](#accessibilityelement20)> | AccessibilityElement.| **错误码:** -- Gitee From e737e9f9f1f41f5bc987e99aba5ef9ed71a11b0b Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Fri, 20 Jun 2025 16:00:16 +0800 Subject: [PATCH 06/17] fix format check Signed-off-by: liuzhiwei --- ...inner-application-accessibilityExtensionContext-sys.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index 0723b5bea4d..0a031d05206 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -34,7 +34,7 @@ class EntryAbility extends AccessibilityExtensionAbility { | ACCESSIBILITY_FOCUS | 0 | 表示获得无障碍焦点。 | | CLEAR_ACCESSIBILLITY_FOCUS | 1 | 表示清除无障碍焦点。 | | FOCUS | 2 | 表示组件获取焦点。 | -| CLEAR_FOCUS | 3 | 表示清队组件焦点。 | +| CLEAR_FOCUS | 3 | 表示清除组件焦点。 | | CLICK | 4 | 表示点击组件。 | | LONG_CLICK | 5 | 表示长按点击组件。 | | CUT | 6 | 表示剪切组件内容。 | @@ -675,7 +675,7 @@ try { console.error(`Failed to notify accessibility, code is ${err.code}, message is ${err.message}`); } ``` - + ### getAccessibilityFocusedElement20+ getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#accessibilityelement20)>; @@ -712,7 +712,7 @@ axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) console.error(`failed to get accessibility focused element, Code is ${err.code}, message is ${err.message}`); }); ``` - + ### getRootInActiveWindow20+ getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#accessibilityelement20)>; @@ -802,7 +802,7 @@ for (let window of windowList) { ## AccessibilityElement20+ -定义了 **AccessibilityElement** 系统 API。提供获取节点元素属性值的方法。在调用 **AccessibilityElement** 的 API 之前,您应该调用 [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getaccessibilityfocusedelement) 或 [AccessibilityExtensionContext.getRootInActiveWindow()](#getrootinactivewindow) 来获取一个 **AccessibilityElement** 实例。 +定义了 **AccessibilityElement** 系统 API。提供获取节点元素属性值的方法。在调用 **AccessibilityElement** 的 API 之前,您应该调用 [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getaccessibilityfocusedelement20) 或 [AccessibilityExtensionContext.getRootInActiveWindow()](#getrootinactivewindow20) 来获取一个 **AccessibilityElement** 实例。 **系统能力:**: SystemCapability.BarrierFree.Accessibility.Core -- Gitee From 5963f4b24371500874e8742ad729c434ab66b704 Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Mon, 30 Jun 2025 10:22:53 +0800 Subject: [PATCH 07/17] move enum to accessibility Signed-off-by: liuzhiwei --- .../js-apis-accessibility-js.md | 125 ++++++++++++++++++ ...ation-accessibilityExtensionAbility-sys.md | 82 +----------- ...ation-accessibilityExtensionContext-sys.md | 33 +---- 3 files changed, 127 insertions(+), 113 deletions(-) create mode 100755 zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-js.md diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-js.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-js.md new file mode 100755 index 00000000000..77365102d56 --- /dev/null +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-js.md @@ -0,0 +1,125 @@ +# @ohos.accessibility (辅助功能) + +本模块提供辅助功能查询能力,包括获取辅助应用列表、辅助应用启用状态、无障碍字幕配置等。 + +> **说明:** +> +> - 本模块首批接口从 API version 20 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 + +## 导入模块 + +```ts +import { accessibility } from '@kit.AccessibilityKit'; +``` + + +## AccessibilityEventType + +界面变更事件。 + +**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core + + +| 名称 | 值 |说明| +| ----------------------- |-----------|------------------------| +| TYPE_ACCESSIBILITY_FOCUS |0| 表示获得无障碍焦点的事件。 | +| TYPE_ACCESSIBILITY_FOCUS_CLEAR |1| 表示清除无障碍焦点的事件。 | +| TYPE_CLICK |2| 表示点击组件的事件。 | +| TYPE_LONG_CLICK |3| 表示长按组件的事件。 | +| TYPE_SELECT |4| 表示选择组件的事件。 | +| TYPE_HOVER_ENTER |5| 表示悬停进入组件的事件。 | +| TYPE_HOVER_EXIT |6| 表示悬停离开组件的事件。 | +| TYPE_FOCUS |7| 表示组件获得焦点的事件,当前版本暂不支持。 | +| TYPE_TEXT_UPDATE |8| 表示组件文本已更改的事件。| +| TYPE_TEXT_SELECTION_UPDATE |9 | 表示选定文本已更改的事件,当前版本暂不支持。| +| TYPE_SCROLL |10| 表示滚动视图的事件。 | +| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY |11 | 表示主动聚焦的事件。| +| TYPE_ANNOUNCE_FOR_ACCESSIBILITY |12 | 表示主动播报的事件。| +| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY_NOT_INTERRUPT |13| 表示主动聚焦不打断的事件。| +| TYPE_ANNOUNCE_FOR_ACCESSIBILITY_NOT_INTERRUPT |14 | 表示主动播报不打断的事件。| +| TYPE_ELEMENT_INFO_CHANGE |15 | 表示组件信息改变事件。| +| TYPE_SCROLLING |16| 表示滚动视图中有item被滚出屏幕的事件。| +| TYPE_WINDOW_ADD |17 | 表示添加窗口的窗口变化事件。 | +| TYPE_WINDOW_REMOVE |18| 表示一个窗口被删除的窗口变化事件。 | +| TYPE_WINDOW_BOUNDS |19| 表示窗口边界已更改的窗口变化事件。 | +| TYPE_WINDOW_ACTIVE |20| 表示窗口变为活动或不活动的窗口变化事件。| +| TYPE_WINDOW_FOCUS |21| 表示窗口焦点发生变化的窗口变化事件。 | +| TYPE_WINDOW_PROPERTY |22| 表示窗口属性变化事件。| +| TYPE_WINDOW_LAYER |23| 表示窗口层级变化事件。 | +| TYPE_TOUCH_BEGIN |24| 表示触摸浏览时开始触摸。| +| TYPE_TOUCH_END |25| 表示触摸浏览时结束触摸。| +| TYPE_PAGE_CONTENT_UPDATE |26| 表示页面内容刷新。| +| TYPE_PAGE_STATE_UPDATE |27| 表示页面状态刷新。| +| TYPE_PAGE_OPEN |28| 表示页面打开。| +| TYPE_PAGE_CLOSE |29| 表示页面关闭。| +| TYPE_SWIPE_LEFT |30| 表示向左的手势。 | +| TYPE_SWIPE_LEFT_THEN_RIGHT |31| 表示先向左再向右的手势。| +| TYPE_SWIPE_LEFT_THEN_UP |32| 表示先向左再向上的手势。| +| TYPE_SWIPE_LEFT_THEN_DOWN |33| 表示先向左再向下的手势。| +| TYPE_SWIPE_RIGHT |34| 表示向右的手势。 | +| TYPE_SWIPE_RIGHT_THEN_LEFT |35| 表示先向右再向左的手势。| +| TYPE_SWIPE_RIGHT_THEN_UP |36| 表示先向右再向上的手势。| +| TYPE_SWIPE_RIGHT_THEN_DOWN |37| 表示先向右再向下的手势| +| TYPE_SWIPE_UP |38| 表示向上的手势。 | +| TYPE_SWIPE_UP_THEN_LEFT |39| 表示先向上再向左的手势。| +| TYPE_SWIPE_UP_THEN_RIGHT |40| 表示先向上再向右的手势。| +| TYPE_SWIPE_UP_THEN_DOWN |41| 表示先向上再向下的手势。| +| TYPE_SWIPE_DOWN |42| 表示向下的手势。 | +| TYPE_SWIPE_DOWN_THEN_LEFT |43| 表示先向下再向左的手势。| +| TYPE_SWIPE_DOWN_THEN_RIGHT |44| 表示先向下再向右的手势| +| TYPE_SWIPE_DOWN_THEN_UP |45| 表示先向下再向上的手势| +| TYPE_TWO_FINGER_SINGLE_TAP |46| 表示双指单击的手势。| +| TYPE_TWO_FINGER_DOUBLE_TAP |47| 表示双指双击的手势。| +| TYPE_TWO_FINGER_DOUBLE_TAP_AND_HOLD |48| 表示双指双击长按的手势。| +| TYPE_TWO_FINGER_TRIPLE_TAP |49| 表示双指三击的手势。| +| TYPE_TWO_FINGER_TRIPLE_TAP_AND_HOLD |50| 表示双指三击长按的手势。| +| TYPE_THREE_FINGER_SINGLE_TAP |51| 表示三指单击的手势。| +| TYPE_THREE_FINGER_DOUBLE_TAP |52| 表示三指双击的手势。| +| TYPE_THREE_FINGER_DOUBLE_TAP_AND_HOLD |53| 表示三指双击长按的手势。| +| TYPE_THREE_FINGER_TRIPLE_TAP |54| 表示三指三击的手势。| +| TYPE_THREE_FINGER_TRIPLE_TAP_AND_HOLD |55| 表示三指三击长按的手势。| +| TYPE_FOUR_FINGER_SINGLE_TAP |56| 表示四指单击的手势。| +| TYPE_FOUR_FINGER_DOUBLE_TAP |57| 表示四指双击的手势。| +| TYPE_FOUR_FINGER_DOUBLE_TAP_AND_HOLD |58| 表示四指双击长按的手势。| +| TYPE_FOUR_FINGER_TRIPLE_TAP |59| 表示四指三击的手势。| +| TYPE_FOUR_FINGER_TRIPLE_TAP_AND_HOLD |60| 表示四指三击长按的手势。| +| TYPE_THREE_FINGER_SWIPE_UP |61| 表示三指向上滑动的手势| +| TYPE_THREE_FINGER_SWIPE_DOWN |62| 表示三指向下滑动的手势| +| TYPE_THREE_FINGER_SWIPE_LEFT |63| 表示三指向左滑动的手势。| +| TYPE_THREE_FINGER_SWIPE_RIGHT |64| 表示三指向右滑动的手势| +| TYPE_FOUR_FINGER_SWIPE_UP |65| 表示四指向上滑动的手势。| +| TYPE_FOUR_FINGER_SWIPE_DOWN |66| 表示四指向下滑动的手势。| +| TYPE_FOUR_FINGER_SWIPE_LEFT |67| 表示四指向左滑动的手势。| +| TYPE_FOUR_FINGER_SWIPE_RIGHT |68| 表示四指向右滑动的手势。| + +## AccessibilityAction + +界面组件可执行的操作。 + +**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core + +| 名称 | 值 | 说明 | +| -------------------------- | ---- | ------------------------ | +| ACCESSIBILITY_FOCUS | 0 | 表示获得无障碍焦点。 | +| CLEAR_ACCESSIBILLITY_FOCUS | 1 | 表示清除无障碍焦点。 | +| FOCUS | 2 | 表示组件获取焦点。 | +| CLEAR_FOCUS | 3 | 表示清队组件焦点。 | +| CLICK | 4 | 表示点击组件。 | +| LONG_CLICK | 5 | 表示长按点击组件。 | +| CUT | 6 | 表示剪切组件内容。 | +| COPY | 7 | 表示拷贝组件内容 | +| PASTE | 8 | 表示粘贴内容到组件 | +| SELECT | 9 | 表示选择组件 | +| SET_TEXT | 10 | 表示给组件设置文本 | +| SCROLL_FORWARD | 11 | 表示向前滚动组件 | +| SCROLL_BACKWARD | 12 | 表示向后滚动组件。 | +| SET_SELECTION | 13 | 表示选定组件内文件范围。 | +| SET_CURSOR_POSITION | 14 | 表示设置组件内的光标位置 | +| HOME | 15 | 表示组件执行HOME操作 | +| BACK | 16 | 表示执行返回操作 | +| RECENT_TASK | 17 | 表示显示最近任务 | +| NOTIFICATION_CENTER | 18 | 表示显示通知中心 | +| CONTROL_CENTER | 19 | 表示显示控制中心。 | +| COMMON | 20 | 表示没有特定操作,用于主动聚焦、主动播报等场景。 | +| SPAN_CLICK | 21 | 对SPAN文本进行点击操作 | + diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md index 57dcdf0e9bf..db221543e99 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md @@ -11,86 +11,6 @@ AccessibilityExtensionAbility基于ExtensionAbility框架,提供辅助功能 ```ts import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEventType } from '@kit.AccessibilityKit'; ``` - -## AccessibilityEventType - -界面变更事件。 - -**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core - - -| 名称 | 值 |说明| -| ----------------------- |-----------|------------------------| -| TYPE_ACCESSIBILITY_FOCUS |0| 表示获得无障碍焦点的事件。 | -| TYPE_ACCESSIBILITY_FOCUS_CLEAR |1| 表示清除无障碍焦点的事件。 | -| TYPE_CLICK |2| 表示点击组件的事件。 | -| TYPE_LONG_CLICK |3| 表示长按组件的事件。 | -| TYPE_SELECT |4| 表示选择组件的事件。 | -| TYPE_HOVER_ENTER |5| 表示悬停进入组件的事件。 | -| TYPE_HOVER_EXIT |6| 表示悬停离开组件的事件。 | -| TYPE_FOCUS |7| 表示组件获得焦点的事件,当前版本暂不支持。 | -| TYPE_TEXT_UPDATE |8| 表示组件文本已更改的事件。| -| TYPE_TEXT_SELECTION_UPDATE |9 | 表示选定文本已更改的事件,当前版本暂不支持。| -| TYPE_SCROLL |10| 表示滚动视图的事件。 | -| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY |11 | 表示主动聚焦的事件。| -| TYPE_ANNOUNCE_FOR_ACCESSIBILITY |12 | 表示主动播报的事件。| -| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY_NOT_INTERRUPT |13| 表示主动聚焦不打断的事件。| -| TYPE_ANNOUNCE_FOR_ACCESSIBILITY_NOT_INTERRUPT |14 | 表示主动播报不打断的事件。| -| TYPE_ELEMENT_INFO_CHANGE |15 | 表示组件信息改变事件。| -| TYPE_SCROLLING |16| 表示滚动视图中有item被滚出屏幕的事件。| -| TYPE_WINDOW_ADD |17 | 表示添加窗口的窗口变化事件。 | -| TYPE_WINDOW_REMOVE |18| 表示一个窗口被删除的窗口变化事件。 | -| TYPE_WINDOW_BOUNDS |19| 表示窗口边界已更改的窗口变化事件。 | -| TYPE_WINDOW_ACTIVE |20| 表示窗口变为活动或不活动的窗口变化事件。| -| TYPE_WINDOW_FOCUS |21| 表示窗口焦点发生变化的窗口变化事件。 | -| TYPE_WINDOW_PROPERTY |22| 表示窗口属性变化事件。| -| TYPE_WINDOW_LAYER |23| 表示窗口层级变化事件。 | -| TYPE_TOUCH_BEGIN |24| 表示触摸浏览时开始触摸。| -| TYPE_TOUCH_END |25| 表示触摸浏览时结束触摸。| -| TYPE_PAGE_CONTENT_UPDATE |26| 表示页面内容刷新。| -| TYPE_PAGE_STATE_UPDATE |27| 表示页面状态刷新。| -| TYPE_PAGE_OPEN |28| 表示页面打开。| -| TYPE_PAGE_CLOSE |29| 表示页面关闭。| -| TYPE_SWIPE_LEFT |30| 表示向左的手势。 | -| TYPE_SWIPE_LEFT_THEN_RIGHT |31| 表示先向左再向右的手势。| -| TYPE_SWIPE_LEFT_THEN_UP |32| 表示先向左再向上的手势。| -| TYPE_SWIPE_LEFT_THEN_DOWN |33| 表示先向左再向下的手势。| -| TYPE_SWIPE_RIGHT |34| 表示向右的手势。 | -| TYPE_SWIPE_RIGHT_THEN_LEFT |35| 表示先向右再向左的手势。| -| TYPE_SWIPE_RIGHT_THEN_UP |36| 表示先向右再向上的手势。| -| TYPE_SWIPE_RIGHT_THEN_DOWN |37| 表示先向右再向下的手势| -| TYPE_SWIPE_UP |38| 表示向上的手势。 | -| TYPE_SWIPE_UP_THEN_LEFT |39| 表示先向上再向左的手势。| -| TYPE_SWIPE_UP_THEN_RIGHT |40| 表示先向上再向右的手势。| -| TYPE_SWIPE_UP_THEN_DOWN |41| 表示先向上再向下的手势。| -| TYPE_SWIPE_DOWN |42| 表示向下的手势。 | -| TYPE_SWIPE_DOWN_THEN_LEFT |43| 表示先向下再向左的手势。| -| TYPE_SWIPE_DOWN_THEN_RIGHT |44| 表示先向下再向右的手势| -| TYPE_SWIPE_DOWN_THEN_UP |45| 表示先向下再向上的手势| -| TYPE_TWO_FINGER_SINGLE_TAP |46| 表示双指单击的手势。| -| TYPE_TWO_FINGER_DOUBLE_TAP |47| 表示双指双击的手势。| -| TYPE_TWO_FINGER_DOUBLE_TAP_AND_HOLD |48| 表示双指双击长按的手势。| -| TYPE_TWO_FINGER_TRIPLE_TAP |49| 表示双指三击的手势。| -| TYPE_TWO_FINGER_TRIPLE_TAP_AND_HOLD |50| 表示双指三击长按的手势。| -| TYPE_THREE_FINGER_SINGLE_TAP |51| 表示三指单击的手势。| -| TYPE_THREE_FINGER_DOUBLE_TAP |52| 表示三指双击的手势。| -| TYPE_THREE_FINGER_DOUBLE_TAP_AND_HOLD |53| 表示三指双击长按的手势。| -| TYPE_THREE_FINGER_TRIPLE_TAP |54| 表示三指三击的手势。| -| TYPE_THREE_FINGER_TRIPLE_TAP_AND_HOLD |55| 表示三指三击长按的手势。| -| TYPE_FOUR_FINGER_SINGLE_TAP |56| 表示四指单击的手势。| -| TYPE_FOUR_FINGER_DOUBLE_TAP |57| 表示四指双击的手势。| -| TYPE_FOUR_FINGER_DOUBLE_TAP_AND_HOLD |58| 表示四指双击长按的手势。| -| TYPE_FOUR_FINGER_TRIPLE_TAP |59| 表示四指三击的手势。| -| TYPE_FOUR_FINGER_TRIPLE_TAP_AND_HOLD |60| 表示四指三击长按的手势。| -| TYPE_THREE_FINGER_SWIPE_UP |61| 表示三指向上滑动的手势| -| TYPE_THREE_FINGER_SWIPE_DOWN |62| 表示三指向下滑动的手势| -| TYPE_THREE_FINGER_SWIPE_LEFT |63| 表示三指向左滑动的手势。| -| TYPE_THREE_FINGER_SWIPE_RIGHT |64| 表示三指向右滑动的手势| -| TYPE_FOUR_FINGER_SWIPE_UP |65| 表示四指向上滑动的手势。| -| TYPE_FOUR_FINGER_SWIPE_DOWN |66| 表示四指向下滑动的手势。| -| TYPE_FOUR_FINGER_SWIPE_LEFT |67| 表示四指向左滑动的手势。| -| TYPE_FOUR_FINGER_SWIPE_RIGHT |68| 表示四指向右滑动的手势。| - ## AccessibilityEventInfo 辅助事件信息。 @@ -101,7 +21,7 @@ import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEve | 名称 | 类型 | 只读 | 可选 | 说明 | | --------- |----------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------| ------------------------------------------------------------ | -| eventType | [AccessibilityEventType](#accessibilityeventtype) | 否 | 否 | 事件类型 | +| eventType | [AccessibilityEventType](./js-apis-accessibility-js.md#accessibilityeventtype) | 否 | 否 | 事件类型 | | target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9) | 否 | 是 | 发生事件的目标组件。 | | timeStamp | number | 否 | 是 | 事件时间戳,单位是毫秒。默认值为0。 | | elementId | number | 否 | 是 | 主动聚焦的组件ID。默认值为0。 | diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index 0a031d05206..4b637e34a14 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -23,37 +23,6 @@ class EntryAbility extends AccessibilityExtensionAbility { } ``` -## AccessibilityAction - -界面组件可执行的操作。 - -**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core - -| 名称 | 值 | 说明 | -| -------------------------- | ---- | ------------------------ | -| ACCESSIBILITY_FOCUS | 0 | 表示获得无障碍焦点。 | -| CLEAR_ACCESSIBILLITY_FOCUS | 1 | 表示清除无障碍焦点。 | -| FOCUS | 2 | 表示组件获取焦点。 | -| CLEAR_FOCUS | 3 | 表示清除组件焦点。 | -| CLICK | 4 | 表示点击组件。 | -| LONG_CLICK | 5 | 表示长按点击组件。 | -| CUT | 6 | 表示剪切组件内容。 | -| COPY | 7 | 表示拷贝组件内容 | -| PASTE | 8 | 表示粘贴内容到组件 | -| SELECT | 9 | 表示选择组件 | -| SET_TEXT | 10 | 表示给组件设置文本 | -| SCROLL_FORWARD | 11 | 表示向前滚动组件 | -| SCROLL_BACKWARD | 12 | 表示向后滚动组件。 | -| SET_SELECTION | 13 | 表示选定组件内文件范围。 | -| SET_CURSOR_POSITION | 14 | 表示设置组件内的光标位置 | -| HOME | 15 | 表示组件执行HOME操作 | -| BACK | 16 | 表示执行返回操作 | -| RECENT_TASK | 17 | 表示显示最近任务 | -| NOTIFICATION_CENTER | 18 | 表示显示通知中心 | -| CONTROL_CENTER | 19 | 表示显示控制中心。 | -| COMMON | 20 | 表示没有特定操作,用于主动聚焦、主动播报等场景。 | -| SPAN_CLICK | 21 | 对SPAN文本进行点击操作 | - ## Parameter 执行AccessibilityAction对应操作时,传入executeAction方法的第二个参数的类型定义,不同action传入对应的参数即可,其他参数保持默认。 @@ -131,7 +100,7 @@ executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\ Date: Mon, 30 Jun 2025 17:43:49 +0800 Subject: [PATCH 08/17] add readme Signed-off-by: liuzhiwei --- .../reference/apis-accessibility-kit/Readme-CN.md | 1 + ...-apis-accessibility-js.md => js-apis-accessibility-sys.md} | 0 .../js-apis-application-accessibilityExtensionAbility-sys.md | 2 +- ...pis-inner-application-accessibilityExtensionContext-sys.md | 4 ++-- 4 files changed, 4 insertions(+), 3 deletions(-) rename zh-cn/application-dev/reference/apis-accessibility-kit/{js-apis-accessibility-js.md => js-apis-accessibility-sys.md} (100%) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/Readme-CN.md b/zh-cn/application-dev/reference/apis-accessibility-kit/Readme-CN.md index f87a7f64d8a..fde457fcdb9 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/Readme-CN.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/Readme-CN.md @@ -7,6 +7,7 @@ - [@ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力)](js-apis-application-accessibilityExtensionAbility.md) - [AccessibilityExtensionContext (辅助功能扩展上下文)](js-apis-inner-application-accessibilityExtensionContext.md) + - [@ohos.accessibility (辅助功能)(系统接口)](js-apis-accessibility-sys.md) - [@ohos.accessibility.config (系统辅助功能配置)(系统接口)](js-apis-accessibility-config-sys.md) - [@ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力)(系统接口)](js-apis-application-accessibilityExtensionAbility-sys.md) - [AccessibilityExtensionContext (辅助功能扩展上下文)(系统接口)](js-apis-inner-application-accessibilityExtensionContext-sys.md) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-js.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md similarity index 100% rename from zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-js.md rename to zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md index db221543e99..b5fab9500b6 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md @@ -21,7 +21,7 @@ import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEve | 名称 | 类型 | 只读 | 可选 | 说明 | | --------- |----------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------| ------------------------------------------------------------ | -| eventType | [AccessibilityEventType](./js-apis-accessibility-js.md#accessibilityeventtype) | 否 | 否 | 事件类型 | +| eventType | [AccessibilityEventType](./js-apis-accessibility-sys.md#accessibilityeventtype) | 否 | 否 | 事件类型 | | target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9) | 否 | 是 | 发生事件的目标组件。 | | timeStamp | number | 否 | 是 | 事件时间戳,单位是毫秒。默认值为0。 | | elementId | number | 否 | 是 | 主动聚焦的组件ID。默认值为0。 | diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index 4b637e34a14..22db44106d4 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -100,7 +100,7 @@ executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\ { **有参数Action示例:** ```ts -import { BusinessError } from '@kit.BasicServicesKit'; +import { BusinessError } from '@kit.BasicServicesKit'; import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; // selectTextBegin: 表示选择起始位置 -- Gitee From 87e73692decef0c73491ff803d6a26ac682b33b3 Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Mon, 30 Jun 2025 18:26:38 +0800 Subject: [PATCH 09/17] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=A3=80=E8=A7=86?= =?UTF-8?q?=E6=84=8F=E8=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuzhiwei --- .../js-apis-accessibility-sys.md | 38 ++++---- ...ation-accessibilityExtensionContext-sys.md | 88 ++++++++++--------- 2 files changed, 64 insertions(+), 62 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md index 77365102d56..8a38598793f 100755 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md @@ -15,7 +15,7 @@ import { accessibility } from '@kit.AccessibilityKit'; ## AccessibilityEventType -界面变更事件。 +事件类型。 **系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core @@ -59,15 +59,15 @@ import { accessibility } from '@kit.AccessibilityKit'; | TYPE_SWIPE_RIGHT |34| 表示向右的手势。 | | TYPE_SWIPE_RIGHT_THEN_LEFT |35| 表示先向右再向左的手势。| | TYPE_SWIPE_RIGHT_THEN_UP |36| 表示先向右再向上的手势。| -| TYPE_SWIPE_RIGHT_THEN_DOWN |37| 表示先向右再向下的手势| +| TYPE_SWIPE_RIGHT_THEN_DOWN |37| 表示先向右再向下的手势。| | TYPE_SWIPE_UP |38| 表示向上的手势。 | | TYPE_SWIPE_UP_THEN_LEFT |39| 表示先向上再向左的手势。| | TYPE_SWIPE_UP_THEN_RIGHT |40| 表示先向上再向右的手势。| | TYPE_SWIPE_UP_THEN_DOWN |41| 表示先向上再向下的手势。| | TYPE_SWIPE_DOWN |42| 表示向下的手势。 | | TYPE_SWIPE_DOWN_THEN_LEFT |43| 表示先向下再向左的手势。| -| TYPE_SWIPE_DOWN_THEN_RIGHT |44| 表示先向下再向右的手势| -| TYPE_SWIPE_DOWN_THEN_UP |45| 表示先向下再向上的手势| +| TYPE_SWIPE_DOWN_THEN_RIGHT |44| 表示先向下再向右的手势。| +| TYPE_SWIPE_DOWN_THEN_UP |45| 表示先向下再向上的手势。| | TYPE_TWO_FINGER_SINGLE_TAP |46| 表示双指单击的手势。| | TYPE_TWO_FINGER_DOUBLE_TAP |47| 表示双指双击的手势。| | TYPE_TWO_FINGER_DOUBLE_TAP_AND_HOLD |48| 表示双指双击长按的手势。| @@ -83,10 +83,10 @@ import { accessibility } from '@kit.AccessibilityKit'; | TYPE_FOUR_FINGER_DOUBLE_TAP_AND_HOLD |58| 表示四指双击长按的手势。| | TYPE_FOUR_FINGER_TRIPLE_TAP |59| 表示四指三击的手势。| | TYPE_FOUR_FINGER_TRIPLE_TAP_AND_HOLD |60| 表示四指三击长按的手势。| -| TYPE_THREE_FINGER_SWIPE_UP |61| 表示三指向上滑动的手势| -| TYPE_THREE_FINGER_SWIPE_DOWN |62| 表示三指向下滑动的手势| +| TYPE_THREE_FINGER_SWIPE_UP |61| 表示三指向上滑动的手势。| +| TYPE_THREE_FINGER_SWIPE_DOWN |62| 表示三指向下滑动的手势。| | TYPE_THREE_FINGER_SWIPE_LEFT |63| 表示三指向左滑动的手势。| -| TYPE_THREE_FINGER_SWIPE_RIGHT |64| 表示三指向右滑动的手势| +| TYPE_THREE_FINGER_SWIPE_RIGHT |64| 表示三指向右滑动的手势。| | TYPE_FOUR_FINGER_SWIPE_UP |65| 表示四指向上滑动的手势。| | TYPE_FOUR_FINGER_SWIPE_DOWN |66| 表示四指向下滑动的手势。| | TYPE_FOUR_FINGER_SWIPE_LEFT |67| 表示四指向左滑动的手势。| @@ -94,7 +94,7 @@ import { accessibility } from '@kit.AccessibilityKit'; ## AccessibilityAction -界面组件可执行的操作。 +无障碍节点元素可执行的操作。 **系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core @@ -107,19 +107,19 @@ import { accessibility } from '@kit.AccessibilityKit'; | CLICK | 4 | 表示点击组件。 | | LONG_CLICK | 5 | 表示长按点击组件。 | | CUT | 6 | 表示剪切组件内容。 | -| COPY | 7 | 表示拷贝组件内容 | -| PASTE | 8 | 表示粘贴内容到组件 | -| SELECT | 9 | 表示选择组件 | -| SET_TEXT | 10 | 表示给组件设置文本 | -| SCROLL_FORWARD | 11 | 表示向前滚动组件 | +| COPY | 7 | 表示拷贝组件内容。 | +| PASTE | 8 | 表示粘贴内容到组件。 | +| SELECT | 9 | 表示选择组件。 | +| SET_TEXT | 10 | 表示给组件设置文本。 | +| SCROLL_FORWARD | 11 | 表示向前滚动组件。 | | SCROLL_BACKWARD | 12 | 表示向后滚动组件。 | | SET_SELECTION | 13 | 表示选定组件内文件范围。 | -| SET_CURSOR_POSITION | 14 | 表示设置组件内的光标位置 | -| HOME | 15 | 表示组件执行HOME操作 | -| BACK | 16 | 表示执行返回操作 | -| RECENT_TASK | 17 | 表示显示最近任务 | -| NOTIFICATION_CENTER | 18 | 表示显示通知中心 | +| SET_CURSOR_POSITION | 14 | 表示设置组件内的光标位置。 | +| HOME | 15 | 表示组件执行HOME操作。 | +| BACK | 16 | 表示执行返回操作。 | +| RECENT_TASK | 17 | 表示显示最近任务。 | +| NOTIFICATION_CENTER | 18 | 表示显示通知中心。 | | CONTROL_CENTER | 19 | 表示显示控制中心。 | | COMMON | 20 | 表示没有特定操作,用于主动聚焦、主动播报等场景。 | -| SPAN_CLICK | 21 | 对SPAN文本进行点击操作 | +| SPAN_CLICK | 21 | 对SPAN文本进行点击操作。 | diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index 22db44106d4..dae9adf8d79 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -44,47 +44,6 @@ let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForW | spanId | string | “” | SPAN_CLICK操作的id | | scrollType | string | “” | SCROLL_FORWARD和SCROLL_BACKWARD的类型 | -### enableScreenCurtain12+ - -enableScreenCurtain(isEnable: boolean): void; - -提供开启/关闭幕帘屏的能力。 - -**系统能力**:SystemCapability.BarrierFree.Accessibility.Core - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ---------------------------------------- | ---- | -------------- | -| isEnable | boolean | 是 | true表示打开幕帘屏功能,false表示关闭幕帘屏功能。| - -**错误码:** - -以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 - -| 错误码ID | 错误信息 | -| ------- | ---------------------------------------- | -| 202 | Permission verification failed. A non-system application calls a system API. | -| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | -| 9300003 | No accessibility permission to perform the operation. | - -**示例:** - -```ts -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -let rootElement: AccessibilityElement; - -axContext.getWindowRootElement().then((data: AccessibilityElement) => { - rootElement = data; - console.log(`Succeeded in get root element of the window, ${JSON.stringify(data)}`); - await rootElement.enableScreenCurtain(true); - console.log(`Succeeded in enableScreenCurtain}`); -}).catch((err: BusinessError) => { - console.error(`failed to enableScreenCurtain, Code is ${err.code}, message is ${err.message}`); -}); -``` ### executeAction20+ @@ -181,6 +140,49 @@ rootElement.executeAction(AccessibilityAction.SET_CURSOR_POSITION, p).then(() => }); ``` + +### enableScreenCurtain12+ + +enableScreenCurtain(isEnable: boolean): void; + +提供开启/关闭幕帘屏的能力。 + +**系统能力**:SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ---------------------------------------- | ---- | -------------- | +| isEnable | boolean | 是 | true表示打开幕帘屏功能,false表示关闭幕帘屏功能。| + +**错误码:** + +以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 202 | Permission verification failed. A non-system application calls a system API. | +| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | +| 9300003 | No accessibility permission to perform the operation. | + +**示例:** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let rootElement: AccessibilityElement; + +axContext.getWindowRootElement().then((data: AccessibilityElement) => { + rootElement = data; + console.log(`Succeeded in get root element of the window, ${JSON.stringify(data)}`); + await rootElement.enableScreenCurtain(true); + console.log(`Succeeded in enableScreenCurtain}`); +}).catch((err: BusinessError) => { + console.error(`failed to enableScreenCurtain, Code is ${err.code}, message is ${err.message}`); +}); +``` + ### findElement('elementId')12+ findElement(type: 'elementId', condition: number): Promise\; @@ -786,12 +788,12 @@ for (let window of windowList) { | clickable20+ | boolean | 是 | 否 | 元素是否可点击。值为 **true** 表示元素可点击,**false** 表示相反情况。
默认值:**false**。| | componentId20+ | number | 是 | 否 | 元素所属组件的 ID。
默认值:**-1**。| | componentType20+ | string | 是 | 否 | 元素所属组件的类型。| -| contents20+ | Array<string> | 是 | 否 | 内容。| +| contents20+ | Array<string> | 是 | 否 | 元素显示内容。| | currentIndex20+ | number | 是 | 否 | 当前项的索引。
默认值:**0**。| | description20+ | string | 是 | 否 | 元素的描述信息。| | editable20+ | boolean | 是 | 否 | 元素是否可编辑。值为 **true** 表示元素可编辑,**false** 表示相反情况。
默认值:**false**。| | endIndex20+ | number | 是 | 否 | 屏幕上显示的最后一个列表项的索引。
默认值:**0**。| -| error20+ | string | 是 | 否 | 错误状态。| +| error20+ | string | 是 | 否 | 元素的错误状态。| | focusable20+ | boolean | 是 | 否 | 元素是否可获得焦点。值为 **true** 表示元素可获得焦点,**false** 表示相反情况。
默认值:**false**。| | hintText20+ | string | 是 | 否 | 提示文本。| | inputType20+ | number | 是 | 否 | 输入文本的类型。
默认值:**0**。| -- Gitee From 9a7378df7029780373263232b385166daa925481 Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Tue, 1 Jul 2025 18:01:59 +0800 Subject: [PATCH 10/17] =?UTF-8?q?=E7=BC=96=E7=A0=81=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuzhiwei --- .../js-apis-accessibility-sys.md | 90 +++++++++---------- ...ation-accessibilityExtensionAbility-sys.md | 50 ++++++----- ...ation-accessibilityExtensionContext-sys.md | 43 ++++----- 3 files changed, 95 insertions(+), 88 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md index 8a38598793f..bdc32b7c2e8 100755 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md @@ -1,6 +1,6 @@ # @ohos.accessibility (辅助功能) -本模块提供辅助功能查询能力,包括获取辅助应用列表、辅助应用启用状态、无障碍字幕配置等。 +本模块提供无障碍事件类型和无障碍节点元素可执行的操作 > **说明:** > @@ -15,39 +15,39 @@ import { accessibility } from '@kit.AccessibilityKit'; ## AccessibilityEventType -事件类型。 +无障碍事件类型。 **系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core | 名称 | 值 |说明| -| ----------------------- |-----------|------------------------| -| TYPE_ACCESSIBILITY_FOCUS |0| 表示获得无障碍焦点的事件。 | -| TYPE_ACCESSIBILITY_FOCUS_CLEAR |1| 表示清除无障碍焦点的事件。 | -| TYPE_CLICK |2| 表示点击组件的事件。 | -| TYPE_LONG_CLICK |3| 表示长按组件的事件。 | -| TYPE_SELECT |4| 表示选择组件的事件。 | -| TYPE_HOVER_ENTER |5| 表示悬停进入组件的事件。 | -| TYPE_HOVER_EXIT |6| 表示悬停离开组件的事件。 | -| TYPE_FOCUS |7| 表示组件获得焦点的事件,当前版本暂不支持。 | -| TYPE_TEXT_UPDATE |8| 表示组件文本已更改的事件。| -| TYPE_TEXT_SELECTION_UPDATE |9 | 表示选定文本已更改的事件,当前版本暂不支持。| -| TYPE_SCROLL |10| 表示滚动视图的事件。 | -| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY |11 | 表示主动聚焦的事件。| -| TYPE_ANNOUNCE_FOR_ACCESSIBILITY |12 | 表示主动播报的事件。| -| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY_NOT_INTERRUPT |13| 表示主动聚焦不打断的事件。| -| TYPE_ANNOUNCE_FOR_ACCESSIBILITY_NOT_INTERRUPT |14 | 表示主动播报不打断的事件。| -| TYPE_ELEMENT_INFO_CHANGE |15 | 表示组件信息改变事件。| -| TYPE_SCROLLING |16| 表示滚动视图中有item被滚出屏幕的事件。| -| TYPE_WINDOW_ADD |17 | 表示添加窗口的窗口变化事件。 | -| TYPE_WINDOW_REMOVE |18| 表示一个窗口被删除的窗口变化事件。 | -| TYPE_WINDOW_BOUNDS |19| 表示窗口边界已更改的窗口变化事件。 | -| TYPE_WINDOW_ACTIVE |20| 表示窗口变为活动或不活动的窗口变化事件。| -| TYPE_WINDOW_FOCUS |21| 表示窗口焦点发生变化的窗口变化事件。 | -| TYPE_WINDOW_PROPERTY |22| 表示窗口属性变化事件。| -| TYPE_WINDOW_LAYER |23| 表示窗口层级变化事件。 | -| TYPE_TOUCH_BEGIN |24| 表示触摸浏览时开始触摸。| -| TYPE_TOUCH_END |25| 表示触摸浏览时结束触摸。| +| ---------------------------------------- | ---- | ---------------------- | +| TYPE_ACCESSIBILITY_FOCUS | 0 | 表示获得无障碍焦点。 | +| TYPE_ACCESSIBILITY_FOCUS_CLEAR | 1 | 表示清除无障碍焦点。 | +| TYPE_CLICK | 2 | 表示点击组件。 | +| TYPE_LONG_CLICK | 3 | 表示长按点击组件。 | +| TYPE_SELECT | 4 | 表示选择组件。 | +| TYPE_HOVER_ENTER | 5 | 表示悬停进入组件。 | +| TYPE_HOVER_EXIT | 6 | 表示悬停离开组件。 | +| TYPE_FOCUS | 7 | 表示组件获得焦点。 | +| TYPE_TEXT_UPDATE | 8 | 表示组件文本已更改。 | +| TYPE_TEXT_SELECTION_UPDATE | 9 | 表示组件选定文本已更改,当前版本暂不支持。 | +| TYPE_SCROLL | 10 | 表示滚动视图。 | +| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY | 11 | 表示主动聚焦。 | +| TYPE_ANNOUNCE_FOR_ACCESSIBILITY | 12 | 表示主动播报。 | +| TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY_NOT_INTERRUPT | 13 | 表示主动聚焦不打断。 | +| TYPE_ANNOUNCE_FOR_ACCESSIBILITY_NOT_INTERRUPT | 14 | 表示主动播报不打断。 | +| TYPE_ELEMENT_INFO_CHANGE | 15 | 表示组件信息改变。 | +| TYPE_SCROLLING | 16 | 表示滚动视图中有item被滚出屏幕。 | +| TYPE_WINDOW_ADD | 17 | 表示添加窗口。 | +| TYPE_WINDOW_REMOVE | 18 | 表示删除窗口。 | +| TYPE_WINDOW_BOUNDS | 19 | 表示窗口边界改变。 | +| TYPE_WINDOW_ACTIVE | 20 | 表示切换窗口活动状态 | +| TYPE_WINDOW_FOCUS | 21 | 表示窗口焦点发生变化。 | +| TYPE_WINDOW_PROPERTY | 22 | 表示窗口属性变化事件。例如:透明度、大小等。 | +| TYPE_WINDOW_LAYER | 23 | 表示窗口层级变化。 | +| TYPE_TOUCH_BEGIN | 24 | 表示开始手指触摸事件。 | +| TYPE_TOUCH_END | 25 | 表示结束手指触摸事件。 | | TYPE_PAGE_CONTENT_UPDATE |26| 表示页面内容刷新。| | TYPE_PAGE_STATE_UPDATE |27| 表示页面状态刷新。| | TYPE_PAGE_OPEN |28| 表示页面打开。| @@ -70,19 +70,19 @@ import { accessibility } from '@kit.AccessibilityKit'; | TYPE_SWIPE_DOWN_THEN_UP |45| 表示先向下再向上的手势。| | TYPE_TWO_FINGER_SINGLE_TAP |46| 表示双指单击的手势。| | TYPE_TWO_FINGER_DOUBLE_TAP |47| 表示双指双击的手势。| -| TYPE_TWO_FINGER_DOUBLE_TAP_AND_HOLD |48| 表示双指双击长按的手势。| +| TYPE_TWO_FINGER_DOUBLE_TAP_AND_HOLD | 48 | 表示双指双击且长按的手势。 | | TYPE_TWO_FINGER_TRIPLE_TAP |49| 表示双指三击的手势。| -| TYPE_TWO_FINGER_TRIPLE_TAP_AND_HOLD |50| 表示双指三击长按的手势。| +| TYPE_TWO_FINGER_TRIPLE_TAP_AND_HOLD | 50 | 表示双指三击且长按的手势。 | | TYPE_THREE_FINGER_SINGLE_TAP |51| 表示三指单击的手势。| | TYPE_THREE_FINGER_DOUBLE_TAP |52| 表示三指双击的手势。| -| TYPE_THREE_FINGER_DOUBLE_TAP_AND_HOLD |53| 表示三指双击长按的手势。| +| TYPE_THREE_FINGER_DOUBLE_TAP_AND_HOLD | 53 | 表示三指双击且长按的手势。 | | TYPE_THREE_FINGER_TRIPLE_TAP |54| 表示三指三击的手势。| -| TYPE_THREE_FINGER_TRIPLE_TAP_AND_HOLD |55| 表示三指三击长按的手势。| +| TYPE_THREE_FINGER_TRIPLE_TAP_AND_HOLD | 55 | 表示三指三击且长按的手势。 | | TYPE_FOUR_FINGER_SINGLE_TAP |56| 表示四指单击的手势。| | TYPE_FOUR_FINGER_DOUBLE_TAP |57| 表示四指双击的手势。| -| TYPE_FOUR_FINGER_DOUBLE_TAP_AND_HOLD |58| 表示四指双击长按的手势。| +| TYPE_FOUR_FINGER_DOUBLE_TAP_AND_HOLD | 58 | 表示四指双击且长按的手势。 | | TYPE_FOUR_FINGER_TRIPLE_TAP |59| 表示四指三击的手势。| -| TYPE_FOUR_FINGER_TRIPLE_TAP_AND_HOLD |60| 表示四指三击长按的手势。| +| TYPE_FOUR_FINGER_TRIPLE_TAP_AND_HOLD | 60 | 表示四指三击且长按的手势。 | | TYPE_THREE_FINGER_SWIPE_UP |61| 表示三指向上滑动的手势。| | TYPE_THREE_FINGER_SWIPE_DOWN |62| 表示三指向下滑动的手势。| | TYPE_THREE_FINGER_SWIPE_LEFT |63| 表示三指向左滑动的手势。| @@ -94,7 +94,7 @@ import { accessibility } from '@kit.AccessibilityKit'; ## AccessibilityAction -无障碍节点元素可执行的操作。 +无障碍节点元素可执行的操作,无障碍节点元素是指,UI界面上可执行无障碍操作的一些组件,例如:按钮、文本输入框等组件。 **系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core @@ -102,24 +102,24 @@ import { accessibility } from '@kit.AccessibilityKit'; | -------------------------- | ---- | ------------------------ | | ACCESSIBILITY_FOCUS | 0 | 表示获得无障碍焦点。 | | CLEAR_ACCESSIBILLITY_FOCUS | 1 | 表示清除无障碍焦点。 | -| FOCUS | 2 | 表示组件获取焦点。 | -| CLEAR_FOCUS | 3 | 表示清队组件焦点。 | +| FOCUS | 2 | 表示组件获得焦点。 | +| CLEAR_FOCUS | 3 | 表示清除组件焦点。 | | CLICK | 4 | 表示点击组件。 | | LONG_CLICK | 5 | 表示长按点击组件。 | | CUT | 6 | 表示剪切组件内容。 | | COPY | 7 | 表示拷贝组件内容。 | | PASTE | 8 | 表示粘贴内容到组件。 | | SELECT | 9 | 表示选择组件。 | -| SET_TEXT | 10 | 表示给组件设置文本。 | +| SET_TEXT | 10 | 表示设置组件的文本。 | | SCROLL_FORWARD | 11 | 表示向前滚动组件。 | | SCROLL_BACKWARD | 12 | 表示向后滚动组件。 | -| SET_SELECTION | 13 | 表示选定组件内文件范围。 | +| SET_SELECTION | 13 | 表示选定组件内文本范围。 | | SET_CURSOR_POSITION | 14 | 表示设置组件内的光标位置。 | -| HOME | 15 | 表示组件执行HOME操作。 | +| HOME | 15 | 表示组件返回首页操作。 | | BACK | 16 | 表示执行返回操作。 | -| RECENT_TASK | 17 | 表示显示最近任务。 | -| NOTIFICATION_CENTER | 18 | 表示显示通知中心。 | -| CONTROL_CENTER | 19 | 表示显示控制中心。 | +| RECENT_TASK | 17 | 显示最近任务。 | +| NOTIFICATION_CENTER | 18 | 显示通知中心。 | +| CONTROL_CENTER | 19 | 显示控制中心。 | | COMMON | 20 | 表示没有特定操作,用于主动聚焦、主动播报等场景。 | -| SPAN_CLICK | 21 | 对SPAN文本进行点击操作。 | +| SPAN_CLICK | 21 | 对局部文本进行点击操作。 | diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md index b5fab9500b6..5144698b5e4 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md @@ -1,6 +1,6 @@ # @ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力)(系统接口) -AccessibilityExtensionAbility基于ExtensionAbility框架,提供辅助功能业务的能力。 +AccessibilityExtensionAbility基于ExtensionAbility框架,提供辅助功能业务的能力。给Ability提供包括处理成功连接无障碍服务、断开无障碍服务,无障碍服务事件及无障碍按键事件发生时的处理能力。 > **说明:** > @@ -13,27 +13,27 @@ import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEve ``` ## AccessibilityEventInfo -辅助事件信息。 +无障碍事件信息。 **系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core ### 属性 -| 名称 | 类型 | 只读 | 可选 | 说明 | -| --------- |----------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------| ------------------------------------------------------------ | -| eventType | [AccessibilityEventType](./js-apis-accessibility-sys.md#accessibilityeventtype) | 否 | 否 | 事件类型 | -| target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9) | 否 | 是 | 发生事件的目标组件。 | -| timeStamp | number | 否 | 是 | 事件时间戳,单位是毫秒。默认值为0。 | -| elementId | number | 否 | 是 | 主动聚焦的组件ID。默认值为0。 | -| textAnnouncedForAccessibility | string | 否 | 是 | 主动播报的内容。 | -| extraInfo | string | 否 | 是 | 针对TextArea、TextInput、SearchField、RichEdit组件,当文本内容有新增或删除时,携带的文本内容。 | +| 名称 | 类型 | 只读 | 可选 | 说明 | +| ----------------------------- | ---------------------------------------- | ---- | ---- | ---------------------------------------- | +| eventType | [AccessibilityEventType](./js-apis-accessibility-sys.md#accessibilityeventtype) | 否 | 否 | 无障碍事件类型。 | +| target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9) | 否 | 是 | 发生事件的目标组件。 | +| timeStamp | number | 否 | 是 | 事件时间戳,单位是毫秒。默认值为0。 | +| elementId | number | 否 | 是 | 主动聚焦的组件ID。默认值为0。 | +| textAnnouncedForAccessibility | string | 否 | 是 | 主动播报的内容。 | +| extraInfo | string | 否 | 是 | 针对TextArea、TextInput、SearchField、RichEdit组件, 组件文本内容有新增或删除时,新增或删除的文本内容。 | ## AccessibilityExtensionAbility.onAccessibilityConnect onAccessibilityConnect(): void; -用户启用AccessibilityExtensionAbility时,系统服务完成连接后,回调此接口,可以该方法中执行初始化业务逻辑操作。该方法可以选择性重写。 +用户启用AccessibilityExtensionAbility时,系统服务完成连接后,回调此接口,可以在该方法中执行初始化业务逻辑操作。该方法可以选择性重写。无障碍服务通过此回调,通知此Ability已经成功连接到无障碍服务。 **系统能力**:SystemCapability.BarrierFree.Accessibility.Core @@ -73,15 +73,15 @@ class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { onAccessibilityEvent(event: onAccessibilityEventInfo): void; -在关注的应用及事件类型对应的事件发生时回调此接口,可以在该方法中根据事件信息进行业务逻辑处理。一般情况下需要重写该方法完成业务。 +在关注的应用及事件类型对应的事件发生时回调此接口,可以在该方法中根据事件信息进行业务逻辑处理。通常需要重写。 **系统能力**:SystemCapability.BarrierFree.Accessibility.Core **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ----- | ---------------------------------------- | ---- | --------------- | -| event | [onAccessibilityEventInfo](#accessibilityeventinfo) | 是 | 无障碍事件。无返回值。 | +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ---------------------------------------- | ---- | ----- | +| event | [onAccessibilityEventInfo](#accessibilityeventinfo) | 是 | 无障碍事件 | **示例:** @@ -100,28 +100,34 @@ class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { ## AccessibilityExtensionAbility.onAccessibilityKeyEvent -onKeyEvent(keyEvent: KeyEvent): boolean; +onAccessibilityKeyEvent(keyEvent: KeyEvent): boolean; -在物理按键按下时回调此方法,可以在该方法中根据业务判断是否对事件进行拦截。 +在物理按键按下时回调此方法,可以在该方法中根据业务判断是否对事件消费此事件,返回true表示该事件被消费,不会继续往下传递。 **系统能力**:SystemCapability.BarrierFree.Accessibility.Core **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- |--------------------------------------------------| ---- | ----------------------- | -| keyEvent | [KeyEvent](../apis-input-kit/js-apis-keyevent.md#keyevent) | 是 | 按键事件回调函数。返回true表示拦截此按键。| +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ---------------------------------------- | ---- | ---- | +| keyEvent | [KeyEvent](../apis-input-kit/js-apis-keyevent.md#keyevent) | 是 | 按键事件 | + +**返回值:** + +true:表示此事件被消费,不会继续传递。 + +false:表示些事件未被消费,会继续传递。 **示例:** ```ts import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; -import { KeyEvent } from '@kit.InputKit'; +import { KeyEvent, KeyCode } from '@kit.InputKit'; class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { onAccessibilityKeyEvent(keyEvent: KeyEvent): boolean { console.log('AxExtensionAbility onAccessibilityKeyEvent'); - if (keyEvent.key.code === 16) { + if (keyEvent.key.code === KeyCode.KEYCODE_VOLUME_UP) { console.log('AxExtensionAbility onAccessibilityKeyEvent: intercept 16'); return true; } diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index dae9adf8d79..eb04042ee3e 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -25,12 +25,7 @@ class EntryAbility extends AccessibilityExtensionAbility { ## Parameter -执行AccessibilityAction对应操作时,传入executeAction方法的第二个参数的类型定义,不同action传入对应的参数即可,其他参数保持默认。 - -例如:针对action: AccessibilityAction.SET_SELECTION, executeAction方法的第二个参数如下: -```ts -let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true } -``` +无障碍节点元素执行特定操作时,为操作提供具体设置的参数值。 **系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core @@ -41,15 +36,19 @@ let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForW | selectTextEnd | string | “” | SET_SELECTION操作的结束坐标。例:‘8’ | | selectTextInForWard | bool | 无 | SET_SELECTION操作是否向前选择,例:true | | offset | string | “” | SET_CURSOR_POSITION操作的位移。例:'1' | -| spanId | string | “” | SPAN_CLICK操作的id | -| scrollType | string | “” | SCROLL_FORWARD和SCROLL_BACKWARD的类型 | - +| spanId | string | “” | SPAN文本进行点击操作时文本id | +| scrollType | string | “” | 组件滚动类型,包括SCROLL_FORWARD(向前滚动)和SCROLL_BACKWARD(向后滚动) | +例如:针对action: AccessibilityAction.SET_SELECTION, executeAction方法的第二个参数如下: +```ts +let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true } +``` +可以选中文本输入框中index从0到7的字符 ### executeAction20+ executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\; -根据操作对应的枚举值执行某个操作,使用Promise异步回调。 +根据action指定的操作类型和parameters传入的参数,执行特定操作。使用Promise异步回调。 **权限**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY @@ -59,8 +58,8 @@ executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\ { }); ``` -**无参数Action示例:** ```ts +//无参数Action示例: import { BusinessError } from '@kit.BasicServicesKit'; import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; @@ -106,9 +105,10 @@ rootElement.executeAction(AccessibilityAction.CLICK).then(() => { }); ``` -**有参数Action示例:** + ```ts +//有参数Action示例: import { BusinessError } from '@kit.BasicServicesKit'; import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; @@ -126,6 +126,7 @@ rootElement.executeAction(AccessibilityAction.SET_SELECTION, p).then(() => { ``` ```ts +//有参数Action示例: import { BusinessError } from '@kit.BasicServicesKit'; import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; @@ -649,7 +650,7 @@ try { ### getAccessibilityFocusedElement20+ -getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#accessibilityelement20)>; +getAccessibilityFocusedElement(): Promise\; 获取当前获得焦点的元素。 @@ -660,16 +661,16 @@ getAccessibilityFocusedElement(): Promise\<[AccessibilityElement](#accessibility **返回值:** | 类型 | 描述 | | ----------------------------------- | ---------------------- | -| Promise\<[AccessibilityElement](#accessibilityelement20)>| Promise used to return the result.| +| Promise\<[AccessibilityElement](#accessibilityelement20)>| 异步返回函数结果.| **错误码:** 以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 | 错误码ID | 错误信息 | | ------- | ---------------------------------------- | -| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | -| 202 | 权限验证失败。非系统应用调用了系统 API。 | -| 9300003 | 没有执行此操作的无障碍权限。 | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | +| 9300003 | No accessibility permission to perform the operation. | **示例:** @@ -773,7 +774,7 @@ for (let window of windowList) { ## AccessibilityElement20+ -定义了 **AccessibilityElement** 系统 API。提供获取节点元素属性值的方法。在调用 **AccessibilityElement** 的 API 之前,您应该调用 [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getaccessibilityfocusedelement20) 或 [AccessibilityExtensionContext.getRootInActiveWindow()](#getrootinactivewindow20) 来获取一个 **AccessibilityElement** 实例。 +提供节点元素属性值。在调用 **AccessibilityElement** 的 API 之前,应该调用 [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getaccessibilityfocusedelement20) 或 [AccessibilityExtensionContext.getRootInActiveWindow()](#getrootinactivewindow20) 来获取一个 **AccessibilityElement** 实例。 **系统能力:**: SystemCapability.BarrierFree.Accessibility.Core @@ -1121,7 +1122,7 @@ axContext.getAccessibilityFocusedElement().then((focus: AccessibilityElement) => findElementsByAccessibilityHintText(hintText: string): Promise\>; -根据可访问性提示文本查找元素。 +根据性提示文本查找元素。 **权限:**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY -- Gitee From 6697887794184525297d3de145a2cd678e97e274 Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Wed, 2 Jul 2025 09:40:02 +0800 Subject: [PATCH 11/17] =?UTF-8?q?=E6=A3=80=E8=A7=86=E6=84=8F=E8=A7=81?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuzhiwei --- ...ation-accessibilityExtensionContext-sys.md | 231 +++++++++--------- 1 file changed, 116 insertions(+), 115 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index eb04042ee3e..5a58bd5644a 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -44,102 +44,7 @@ class EntryAbility extends AccessibilityExtensionAbility { let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true } ``` 可以选中文本输入框中index从0到7的字符 -### executeAction20+ - -executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\; - -根据action指定的操作类型和parameters传入的参数,执行特定操作。使用Promise异步回调。 - -**权限**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY -**系统能力**:SystemCapability.BarrierFree.Accessibility.Core - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ---------------------------------------- | ---- |----------------------------------------------------------| -| action | [AccessibilityAction](./js-apis-accessibility-sys.md#accessibilityaction)| 是 | 无障碍节点可执行的操作。。 -| parameters | [Parameter](#parameter) | 否 | 执行操作时设置的参数值,默认为空。 | - -**返回值:** - -| 类型 | 说明 | -| ------------------- | ---------------- | -| Promise<void> | 无返回结果的Promise对象。 | - -**错误码:** - -以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 - -| 错误码ID | 错误信息 | -| ------- | ---------------------------------------- | -| 401 | Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | -| 9300005 | This action is not supported. | - -**示例:** - -```ts -import { BusinessError } from '@kit.BasicServicesKit'; -import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; - -// rootElement是AccessibilityElement的实例 -rootElement.executeAction(action).then(() => { - console.info(`Succeeded in perform action,actionName is ${actionName}`); -}).catch((err: BusinessError) => { - console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); -}); -``` - - -```ts -//无参数Action示例: -import { BusinessError } from '@kit.BasicServicesKit'; -import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; - -// rootElement是AccessibilityElement的实例 -// Action描述中无明确要求的,均为无参数Action -rootElement.executeAction(AccessibilityAction.CLICK).then(() => { - console.info(`Succeeded in perform action.`); -}).catch((err: BusinessError) => { - console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); -}); -``` - - - -```ts -//有参数Action示例: -import { BusinessError } from '@kit.BasicServicesKit'; -import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; - -// selectTextBegin: 表示选择起始位置 -// selectTextEnd: 表示选择结束位置 -// selectTextInForWard: true表示为前光标,false表示为后光标 -let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true } -// rootElement是AccessibilityElement的实例 -// setSelection示例代码 -rootElement.executeAction(AccessibilityAction.SET_SELECTION, p).then(() => { - console.info(`Succeeded in perform action`); -}).catch((err: BusinessError) => { - console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); -}); -``` - -```ts -//有参数Action示例: -import { BusinessError } from '@kit.BasicServicesKit'; -import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; - -// offset: 表示光标的设置位置 -let p : Parameter = { offset: '1' } -// rootElement是AccessibilityElement的实例 -// setCursorPosition示例代码 -rootElement.executeAction(AccessibilityAction.SET_CURSOR_POSITION, p).then(() => { - console.info(`Succeeded in perform action`); -}).catch((err: BusinessError) => { - console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); -}); -``` ### enableScreenCurtain12+ @@ -709,9 +614,9 @@ getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#acce 以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 | 错误码ID | 错误信息 | | ------- | ---------------------------------------- | -| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | -| 202 | 权限验证失败。非系统应用调用了系统 API。 | -| 9300003 | 没有执行此操作的无障碍权限。 | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | +| 9300003 | No accessibility permission to perform the operation. | **示例:** @@ -753,9 +658,9 @@ getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](# 以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 | 错误码ID | 错误信息 | | ------- | ---------------------------------------- | -| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | -| 202 | 权限验证失败。非系统应用调用了系统 API。 | -| 9300003 | 没有执行此操作的无障碍权限。 | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | +| 9300003 | No accessibility permission to perform the operation. | **示例:** @@ -868,6 +773,102 @@ axContext.getRootInActiveWindow(windowId)..then((element: AccessibilityElement) console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`); }) ``` +### executeAction20+ + +executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\; + +根据action指定的操作类型和parameters传入的参数,执行特定操作。使用Promise异步回调。 + +**权限**: ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + +**系统能力**:SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ---------------------------------------- | ---- |----------------------------------------------------------| +| action | [AccessibilityAction](./js-apis-accessibility-sys.md#accessibilityaction)| 是 | 无障碍节点可执行的操作。。 +| parameters | [Parameter](#parameter) | 否 | 执行操作时设置的参数值,默认为空。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ---------------- | +| Promise<void> | 无返回结果的Promise对象。 | + +**错误码:** + +以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 401 | Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | +| 9300005 | This action is not supported. | + +**示例:** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; +import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; + +// rootElement是AccessibilityElement的实例 +rootElement.executeAction(action).then(() => { + console.info(`Succeeded in perform action,actionName is ${actionName}`); +}).catch((err: BusinessError) => { + console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); +}); +``` + + +```ts +//无参数Action示例: +import { BusinessError } from '@kit.BasicServicesKit'; +import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; + +// rootElement是AccessibilityElement的实例 +// Action描述中无明确要求的,均为无参数Action +rootElement.executeAction(AccessibilityAction.CLICK).then(() => { + console.info(`Succeeded in perform action.`); +}).catch((err: BusinessError) => { + console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); +}); +``` + + + +```ts +//有参数Action示例: +import { BusinessError } from '@kit.BasicServicesKit'; +import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; + +// selectTextBegin: 表示选择起始位置 +// selectTextEnd: 表示选择结束位置 +// selectTextInForWard: true表示为前光标,false表示为后光标 +let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true } +// rootElement是AccessibilityElement的实例 +// setSelection示例代码 +rootElement.executeAction(AccessibilityAction.SET_SELECTION, p).then(() => { + console.info(`Succeeded in perform action`); +}).catch((err: BusinessError) => { + console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); +}); +``` + +```ts +//有参数Action示例: +import { BusinessError } from '@kit.BasicServicesKit'; +import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit'; + +// offset: 表示光标的设置位置 +let p : Parameter = { offset: '1' } +// rootElement是AccessibilityElement的实例 +// setCursorPosition示例代码 +rootElement.executeAction(AccessibilityAction.SET_CURSOR_POSITION, p).then(() => { + console.info(`Succeeded in perform action`); +}).catch((err: BusinessError) => { + console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`); +}); +``` ## getParent20+ @@ -891,8 +892,8 @@ getParent(): Promise\; | 错误码ID | 错误信息 | | ------- | ---------------------------------------- | -| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | -| 202 | 权限验证失败。非系统应用调用了系统 API。 | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | **示例:** @@ -934,8 +935,8 @@ getChildren(): Promise\>; | 错误码ID | 错误信息 | | ------- | ---------------------------------------- | -| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | -| 202 | 权限验证失败。非系统应用调用了系统 API。 | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | **示例:** @@ -977,8 +978,8 @@ getRoot(): Promise\; | 错误码ID | 错误信息 | | ------- | ---------------------------------------- | -| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | -| 202 | 权限验证失败。非系统应用调用了系统 API。 | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | **示例:** @@ -1025,8 +1026,8 @@ findElementByContent(content: string): Promise\>; | 错误码ID | 错误信息 | | ------- | ---------------------------------------- | -| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | -| 202 | 权限验证失败。非系统应用调用了系统 API。 | +| 201 | Permission verification failed.The application does not have the permission required to call the API. | +| 202 | Permission verification failed. A non-system application calls a system API. | **示例:** @@ -1084,8 +1085,8 @@ findElementByFocusDirection(direction: FocusDirection): Promise\; | 错误码ID | 错误信息 | | ------- | ---------------------------------------- | -| 201 | 权限验证失败。应用程序没有调用该 API 所需的权限。 | -| 202 | 权限验证失败。非系统应用调用了系统 API。 | +| 201 | Permission verification failed.The application does not have the permission required to call the API.| +| 202 | Permission verification failed. A non-system application calls a system API. | **示例:** -- Gitee From ab351f0d1e63f072dc254b4a910dd6f2f896a37d Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Wed, 2 Jul 2025 11:27:51 +0800 Subject: [PATCH 12/17] =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuzhiwei --- .../js-apis-accessibility-sys.md | 2 +- ...ation-accessibilityExtensionAbility-sys.md | 4 +- ...ation-accessibilityExtensionContext-sys.md | 44 +++++++++---------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md index bdc32b7c2e8..7b2dadeb618 100755 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md @@ -31,7 +31,7 @@ import { accessibility } from '@kit.AccessibilityKit'; | TYPE_HOVER_EXIT | 6 | 表示悬停离开组件。 | | TYPE_FOCUS | 7 | 表示组件获得焦点。 | | TYPE_TEXT_UPDATE | 8 | 表示组件文本已更改。 | -| TYPE_TEXT_SELECTION_UPDATE | 9 | 表示组件选定文本已更改,当前版本暂不支持。 | +| TYPE_TEXT_SELECTION_UPDATE | 9 | 表示组件选定文本已更改。 | | TYPE_SCROLL | 10 | 表示滚动视图。 | | TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY | 11 | 表示主动聚焦。 | | TYPE_ANNOUNCE_FOR_ACCESSIBILITY | 12 | 表示主动播报。 | diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md index 5144698b5e4..0fdfaf32671 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md @@ -9,7 +9,7 @@ AccessibilityExtensionAbility基于ExtensionAbility框架,提供辅助功能 ## 导入模块 ```ts -import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEventType } from '@kit.AccessibilityKit'; +import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; ``` ## AccessibilityEventInfo @@ -22,7 +22,7 @@ import { AccessibilityExtensionAbility, AccessibilityEventInfo, AccessibilityEve | 名称 | 类型 | 只读 | 可选 | 说明 | | ----------------------------- | ---------------------------------------- | ---- | ---- | ---------------------------------------- | | eventType | [AccessibilityEventType](./js-apis-accessibility-sys.md#accessibilityeventtype) | 否 | 否 | 无障碍事件类型。 | -| target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9) | 否 | 是 | 发生事件的目标组件。 | +| target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext-sys.md#accessibilityelement20) | 否 | 是 | 发生事件的目标组件。 | | timeStamp | number | 否 | 是 | 事件时间戳,单位是毫秒。默认值为0。 | | elementId | number | 否 | 是 | 主动聚焦的组件ID。默认值为0。 | | textAnnouncedForAccessibility | string | 否 | 是 | 主动播报的内容。 | diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index 5a58bd5644a..a4855d572b9 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -47,7 +47,7 @@ let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForW -### enableScreenCurtain12+ +## enableScreenCurtain12+ enableScreenCurtain(isEnable: boolean): void; @@ -89,7 +89,7 @@ axContext.getWindowRootElement().then((data: AccessibilityElement) => { }); ``` -### findElement('elementId')12+ +## findElement('elementId')12+ findElement(type: 'elementId', condition: number): Promise\; @@ -134,7 +134,7 @@ rootElement.findElement('elementId', condition).then((data: AccessibilityElement }); ``` -### findElement('textType')12+ +## findElement('textType')12+ findElement(type: 'textType', condition: string): Promise\>; @@ -179,7 +179,7 @@ rootElement.findElement('textType', condition).then((data: AccessibilityElement[ }); ``` -### getCursorPosition12+ +## getCursorPosition12+ getCursorPosition(): Promise\; @@ -206,7 +206,7 @@ rootElement.getCursorPosition().then((data: number) => { }); ``` -### getCursorPosition12+ +## getCursorPosition12+ getCursorPosition(callback: AsyncCallback\): void; @@ -235,7 +235,7 @@ rootElement.getCursorPosition((err: BusinessError, data: number) => { }); ``` -### startAbility12+ +## startAbility12+ startAbility(want: Want): Promise\; @@ -281,7 +281,7 @@ axContext.startAbility(want).then(() => { }); ``` -### AccessibilityExtensionContext.getElements18+ +## AccessibilityExtensionContext.getElements18+ getElements(windowId: number, elementId?: number): Promise; @@ -327,7 +327,7 @@ axContext.getElements(windowId, elementId).then((data:AccessibilityElement[]) => }); ``` -### AccessibilityExtensionContext.getDefaultFocusedElementIds18+ +## AccessibilityExtensionContext.getDefaultFocusedElementIds18+ getDefaultFocusedElementIds(windowId: number): Promise; @@ -371,7 +371,7 @@ axContext.getDefaultFocusedElementIds(windowId).then((data: number[]) => { }); ``` -### AccessibilityExtensionContext.holdRunningLockSync20+ +## AccessibilityExtensionContext.holdRunningLockSync20+ holdRunningLockSync(): void @@ -403,7 +403,7 @@ try { } ``` -### AccessibilityExtensionContext.unholdRunningLockSync20+ +## AccessibilityExtensionContext.unholdRunningLockSync20+ unholdRunningLockSync(): void @@ -435,7 +435,7 @@ try { } ``` -### AccessibilityExtensionContext.on('preDisconnect')20+ +## AccessibilityExtensionContext.on('preDisconnect')20+ on(type: 'preDisconnect', callback: Callback<void>): void @@ -478,7 +478,7 @@ try { } ``` -### AccessibilityExtensionContext.off('preDisconnect')20+ +## AccessibilityExtensionContext.off('preDisconnect')20+ off(type: 'preDisconnect', callback?: Callback<void>): void @@ -519,7 +519,7 @@ try { } ``` -### AccessibilityExtensionContext.notifyDisconnect20+ +## AccessibilityExtensionContext.notifyDisconnect20+ notifyDisconnect(): void @@ -553,7 +553,7 @@ try { } ``` -### getAccessibilityFocusedElement20+ +## getAccessibilityFocusedElement20+ getAccessibilityFocusedElement(): Promise\; @@ -590,7 +590,7 @@ axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) }); ``` -### getRootInActiveWindow20+ +## getRootInActiveWindow20+ getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#accessibilityelement20)>; @@ -870,7 +870,7 @@ rootElement.executeAction(AccessibilityAction.SET_CURSOR_POSITION, p).then(() => }); ``` -## getParent20+ +### getParent20+ getParent(): Promise\; @@ -913,7 +913,7 @@ axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) }) ``` -## getChildren20+ +### getChildren20+ getChildren(): Promise\>; @@ -956,7 +956,7 @@ axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) }) ``` -## getRoot20+ +### getRoot20+ getRoot(): Promise\; @@ -998,7 +998,7 @@ for (let window of windows) { } ``` -## findElementByContent +### findElementByContent findElementByContent(content: string): Promise\>; @@ -1057,7 +1057,7 @@ axContext.getRootInActiveWindow(windowId)..then((root: AccessibilityElement) => }) ``` -## findElementByFocusDirection +### findElementByFocusDirection findElementByFocusDirection(direction: FocusDirection): Promise\; @@ -1119,7 +1119,7 @@ axContext.getAccessibilityFocusedElement().then((focus: AccessibilityElement) => }) ``` -## findElementByAccessibilityHintText +### findElementByAccessibilityHintText findElementsByAccessibilityHintText(hintText: string): Promise\>; @@ -1183,7 +1183,7 @@ axContext.getRootInActiveWindow(windowId).then((root: AccessibilityElement) => { }) ``` -## findElementById +### findElementById findElementById(elementId: number): Promise\; -- Gitee From ab7e94674dd70fbca59217f2cb77e972f462d78d Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Wed, 2 Jul 2025 15:18:49 +0800 Subject: [PATCH 13/17] =?UTF-8?q?=E4=BD=8D=E7=BD=AE=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuzhiwei --- ...ation-accessibilityExtensionContext-sys.md | 384 +++++++++--------- 1 file changed, 192 insertions(+), 192 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index a4855d572b9..67db8758442 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -45,196 +45,6 @@ let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForW ``` 可以选中文本输入框中index从0到7的字符 - - -## enableScreenCurtain12+ - -enableScreenCurtain(isEnable: boolean): void; - -提供开启/关闭幕帘屏的能力。 - -**系统能力**:SystemCapability.BarrierFree.Accessibility.Core - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ---------------------------------------- | ---- | -------------- | -| isEnable | boolean | 是 | true表示打开幕帘屏功能,false表示关闭幕帘屏功能。| - -**错误码:** - -以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 - -| 错误码ID | 错误信息 | -| ------- | ---------------------------------------- | -| 202 | Permission verification failed. A non-system application calls a system API. | -| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | -| 9300003 | No accessibility permission to perform the operation. | - -**示例:** - -```ts -import { AccessibilityElement } from '@kit.AccessibilityKit'; -import { BusinessError } from '@kit.BasicServicesKit'; - -let rootElement: AccessibilityElement; - -axContext.getWindowRootElement().then((data: AccessibilityElement) => { - rootElement = data; - console.log(`Succeeded in get root element of the window, ${JSON.stringify(data)}`); - await rootElement.enableScreenCurtain(true); - console.log(`Succeeded in enableScreenCurtain}`); -}).catch((err: BusinessError) => { - console.error(`failed to enableScreenCurtain, Code is ${err.code}, message is ${err.message}`); -}); -``` - -## findElement('elementId')12+ - -findElement(type: 'elementId', condition: number): Promise\; - -根据elementId查询当前活动窗口下的节点元素,使用Promise异步回调。 - -**系统能力**:SystemCapability.BarrierFree.Accessibility.Core - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| --------- | --------------------------------- | ---- | ---------------------------------------- | -| type | string | 是 | 固定为'elementId', 表示根据elementId查询当前活动窗口下的节点元素。 | -| condition | number | 是 | 表示要查询的节点元素的elementId。 | - -**返回值:** - -| 类型 | 说明 | -| ----------------------------------- | -------------------------------- | -| Promise<[AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9)> | Promise对象,返回满足指定查询条件的节点元素。 | - -**错误码:** - -以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 - -| 错误码ID | 错误信息 | -| ------- | ----------------------------- | -| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | - -**示例:** - -```ts -import { BusinessError } from '@kit.BasicServicesKit'; - -//elementId为10 -let condition = 10; - -// rootElement是AccessibilityElement的实例 -rootElement.findElement('elementId', condition).then((data: AccessibilityElement) => { - console.log(`Succeeded in find element, ${JSON.stringify(data)}`); -}).catch((err: BusinessError) => { - console.error(`failed to find element, Code is ${err.code}, message is ${err.message}`); -}); -``` - -## findElement('textType')12+ - -findElement(type: 'textType', condition: string): Promise\>; - -根据节点配置的accessibilityTextHint无障碍文本类型查询所有节点元素,使用Promise异步回调。 - -**系统能力**:SystemCapability.BarrierFree.Accessibility.Core - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| --------- | ------ | ---- | ----------------------------- | -| type | string | 是 | 固定为'textType', 表示根据文本类型查找节点元素。 | -| condition | string | 是 | 表示查找的条件。 | - -**返回值:** - -| 类型 | 说明 | -| ---------------------------------------- | ----------------------------- | -| Promise<Array<[AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9)>> | Promise对象,返回满足指定查询关键字的所有节点元素。 | - -**错误码:** - -以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 - -| 错误码ID | 错误信息 | -| ------- | ----------------------------- | -| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | - -**示例:** - -```ts -import { BusinessError } from '@kit.BasicServicesKit'; - -// condition的内容需要与目标组件accessibilityTextHint属性的type字段值保持一致 -let condition = 'location'; - -// rootElement是AccessibilityElement的实例 -rootElement.findElement('textType', condition).then((data: AccessibilityElement[]) => { - console.log(`Succeeded in find element, ${JSON.stringify(data)}`); -}).catch((err: BusinessError) => { - console.error(`failed to find element, Code is ${err.code}, message is ${err.message}`); -}); -``` - -## getCursorPosition12+ - -getCursorPosition(): Promise\; - -获取文本组件中光标位置,使用Promise异步回调。 - -**系统能力**:SystemCapability.BarrierFree.Accessibility.Core - -**返回值:** - -| 类型 | 说明 | -| ------------------- | ---------------- | -| Promise<number> | Promise对象,返回当前光标所处位置。 | - -**示例:** - -```ts -import { BusinessError } from '@kit.BasicServicesKit'; - -// rootElement是AccessibilityElement的实例 -rootElement.getCursorPosition().then((data: number) => { - console.info(`Succeeded in getCursorPosition, ${data}`); -}).catch((err: BusinessError) => { - console.error(`failed to getCursorPosition, Code is ${err.code}, message is ${err.message}`); -}); -``` - -## getCursorPosition12+ - -getCursorPosition(callback: AsyncCallback\): void; - -获取文本组件中光标位置,使用callback异步回调。 - -**系统能力**:SystemCapability.BarrierFree.Accessibility.Core - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ---------------------------------------- | ---- | -------------- | -| callback | AsyncCallback<number> | 是 | 回调函数,表示文本组件中光标位置。| - -**示例:** - -```ts -import { BusinessError } from '@kit.BasicServicesKit'; - -// rootElement是AccessibilityElement的实例 -rootElement.getCursorPosition((err: BusinessError, data: number) => { - if (err && err.code) { - console.error(`failed to getCursorPosition, Code is ${err.code}, message is ${err.message}`); - return; - } - console.info(`Succeeded in getCursorPosition, ${data}`); -}); -``` - ## startAbility12+ startAbility(want: Want): Promise\; @@ -677,9 +487,9 @@ for (let window of windowList) { } ``` -## AccessibilityElement20+ +## AccessibilityElement12+ -提供节点元素属性值。在调用 **AccessibilityElement** 的 API 之前,应该调用 [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getaccessibilityfocusedelement20) 或 [AccessibilityExtensionContext.getRootInActiveWindow()](#getrootinactivewindow20) 来获取一个 **AccessibilityElement** 实例。 +无障碍节点元素。在调用 **AccessibilityElement** 的 API 之前,应该调用 [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getaccessibilityfocusedelement20) 或 [AccessibilityExtensionContext.getRootInActiveWindow()](#getrootinactivewindow20) 来获取一个 **AccessibilityElement** 实例。 **系统能力:**: SystemCapability.BarrierFree.Accessibility.Core @@ -773,6 +583,196 @@ axContext.getRootInActiveWindow(windowId)..then((element: AccessibilityElement) console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`); }) ``` + +## enableScreenCurtain12+ + +enableScreenCurtain(isEnable: boolean): void; + +提供开启/关闭幕帘屏的能力。 + +**系统能力**:SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ---------------------------------------- | ---- | -------------- | +| isEnable | boolean | 是 | true表示打开幕帘屏功能,false表示关闭幕帘屏功能。| + +**错误码:** + +以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ---------------------------------------- | +| 202 | Permission verification failed. A non-system application calls a system API. | +| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | +| 9300003 | No accessibility permission to perform the operation. | + +**示例:** + +```ts +import { AccessibilityElement } from '@kit.AccessibilityKit'; +import { BusinessError } from '@kit.BasicServicesKit'; + +let rootElement: AccessibilityElement; + +axContext.getWindowRootElement().then((data: AccessibilityElement) => { + rootElement = data; + console.log(`Succeeded in get root element of the window, ${JSON.stringify(data)}`); + await rootElement.enableScreenCurtain(true); + console.log(`Succeeded in enableScreenCurtain}`); +}).catch((err: BusinessError) => { + console.error(`failed to enableScreenCurtain, Code is ${err.code}, message is ${err.message}`); +}); +``` + +## findElement('elementId')12+ + +findElement(type: 'elementId', condition: number): Promise\; + +根据elementId查询当前活动窗口下的节点元素,使用Promise异步回调。 + +**系统能力**:SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| --------- | --------------------------------- | ---- | ---------------------------------------- | +| type | string | 是 | 固定为'elementId', 表示根据elementId查询当前活动窗口下的节点元素。 | +| condition | number | 是 | 表示要查询的节点元素的elementId。 | + +**返回值:** + +| 类型 | 说明 | +| ----------------------------------- | -------------------------------- | +| Promise<[AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9)> | Promise对象,返回满足指定查询条件的节点元素。 | + +**错误码:** + +以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ----------------------------- | +| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | + +**示例:** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; + +//elementId为10 +let condition = 10; + +// rootElement是AccessibilityElement的实例 +rootElement.findElement('elementId', condition).then((data: AccessibilityElement) => { + console.log(`Succeeded in find element, ${JSON.stringify(data)}`); +}).catch((err: BusinessError) => { + console.error(`failed to find element, Code is ${err.code}, message is ${err.message}`); +}); +``` + +## findElement('textType')12+ + +findElement(type: 'textType', condition: string): Promise\>; + +根据节点配置的accessibilityTextHint无障碍文本类型查询所有节点元素,使用Promise异步回调。 + +**系统能力**:SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| --------- | ------ | ---- | ----------------------------- | +| type | string | 是 | 固定为'textType', 表示根据文本类型查找节点元素。 | +| condition | string | 是 | 表示查找的条件。 | + +**返回值:** + +| 类型 | 说明 | +| ---------------------------------------- | ----------------------------- | +| Promise<Array<[AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9)>> | Promise对象,返回满足指定查询关键字的所有节点元素。 | + +**错误码:** + +以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 + +| 错误码ID | 错误信息 | +| ------- | ----------------------------- | +| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | + +**示例:** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; + +// condition的内容需要与目标组件accessibilityTextHint属性的type字段值保持一致 +let condition = 'location'; + +// rootElement是AccessibilityElement的实例 +rootElement.findElement('textType', condition).then((data: AccessibilityElement[]) => { + console.log(`Succeeded in find element, ${JSON.stringify(data)}`); +}).catch((err: BusinessError) => { + console.error(`failed to find element, Code is ${err.code}, message is ${err.message}`); +}); +``` + +## getCursorPosition12+ + +getCursorPosition(): Promise\; + +获取文本组件中光标位置,使用Promise异步回调。 + +**系统能力**:SystemCapability.BarrierFree.Accessibility.Core + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ---------------- | +| Promise<number> | Promise对象,返回当前光标所处位置。 | + +**示例:** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; + +// rootElement是AccessibilityElement的实例 +rootElement.getCursorPosition().then((data: number) => { + console.info(`Succeeded in getCursorPosition, ${data}`); +}).catch((err: BusinessError) => { + console.error(`failed to getCursorPosition, Code is ${err.code}, message is ${err.message}`); +}); +``` + +## getCursorPosition12+ + +getCursorPosition(callback: AsyncCallback\): void; + +获取文本组件中光标位置,使用callback异步回调。 + +**系统能力**:SystemCapability.BarrierFree.Accessibility.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ---------------------------------------- | ---- | -------------- | +| callback | AsyncCallback<number> | 是 | 回调函数,表示文本组件中光标位置。| + +**示例:** + +```ts +import { BusinessError } from '@kit.BasicServicesKit'; + +// rootElement是AccessibilityElement的实例 +rootElement.getCursorPosition((err: BusinessError, data: number) => { + if (err && err.code) { + console.error(`failed to getCursorPosition, Code is ${err.code}, message is ${err.message}`); + return; + } + console.info(`Succeeded in getCursorPosition, ${data}`); +}); +``` + + ### executeAction20+ executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\; -- Gitee From 47aa6acd10a96235e8ccfa459ea837a127fbbf47 Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Wed, 2 Jul 2025 15:22:45 +0800 Subject: [PATCH 14/17] =?UTF-8?q?=E5=B1=82=E7=BA=A7=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuzhiwei --- ...er-application-accessibilityExtensionContext-sys.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index 67db8758442..71e02ed0ede 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -584,7 +584,7 @@ axContext.getRootInActiveWindow(windowId)..then((element: AccessibilityElement) }) ``` -## enableScreenCurtain12+ +### enableScreenCurtain12+ enableScreenCurtain(isEnable: boolean): void; @@ -626,7 +626,7 @@ axContext.getWindowRootElement().then((data: AccessibilityElement) => { }); ``` -## findElement('elementId')12+ +### findElement('elementId')12+ findElement(type: 'elementId', condition: number): Promise\; @@ -671,7 +671,7 @@ rootElement.findElement('elementId', condition).then((data: AccessibilityElement }); ``` -## findElement('textType')12+ +### findElement('textType')12+ findElement(type: 'textType', condition: string): Promise\>; @@ -716,7 +716,7 @@ rootElement.findElement('textType', condition).then((data: AccessibilityElement[ }); ``` -## getCursorPosition12+ +### getCursorPosition12+ getCursorPosition(): Promise\; @@ -743,7 +743,7 @@ rootElement.getCursorPosition().then((data: number) => { }); ``` -## getCursorPosition12+ +### getCursorPosition12+ getCursorPosition(callback: AsyncCallback\): void; -- Gitee From b1fddfa9248dd067e0dcaae25056e7beff118520 Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Wed, 2 Jul 2025 15:26:41 +0800 Subject: [PATCH 15/17] =?UTF-8?q?=E8=B6=85=E9=93=BE=E6=8E=A5=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuzhiwei --- .../js-apis-application-accessibilityExtensionAbility-sys.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md index 0fdfaf32671..3207162b137 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md @@ -22,7 +22,7 @@ import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; | 名称 | 类型 | 只读 | 可选 | 说明 | | ----------------------------- | ---------------------------------------- | ---- | ---- | ---------------------------------------- | | eventType | [AccessibilityEventType](./js-apis-accessibility-sys.md#accessibilityeventtype) | 否 | 否 | 无障碍事件类型。 | -| target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext-sys.md#accessibilityelement20) | 否 | 是 | 发生事件的目标组件。 | +| target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext-sys.md#accessibilityelement12) | 否 | 是 | 发生事件的目标组件。 | | timeStamp | number | 否 | 是 | 事件时间戳,单位是毫秒。默认值为0。 | | elementId | number | 否 | 是 | 主动聚焦的组件ID。默认值为0。 | | textAnnouncedForAccessibility | string | 否 | 是 | 主动播报的内容。 | -- Gitee From 8a2b5a2f43417ca55f687f9608c7b79c1c457b1c Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Wed, 2 Jul 2025 21:33:39 +0800 Subject: [PATCH 16/17] =?UTF-8?q?=E8=B6=85=E9=93=BE=E6=8E=A5=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuzhiwei --- ...ation-accessibilityExtensionContext-sys.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index 71e02ed0ede..cbafbb15a63 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -376,7 +376,7 @@ getAccessibilityFocusedElement(): Promise\; **返回值:** | 类型 | 描述 | | ----------------------------------- | ---------------------- | -| Promise\<[AccessibilityElement](#accessibilityelement20)>| 异步返回函数结果.| +| Promise\<[AccessibilityElement](#accessibilityelement12)>| 异步返回函数结果.| **错误码:** 以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 @@ -402,7 +402,7 @@ axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) ## getRootInActiveWindow20+ -getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#accessibilityelement20)>; +getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#accessibilityelement12)>; 获取活动窗口根元素。 @@ -418,7 +418,7 @@ getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#acce **返回值:** | 类型 | 描述 | | ----------------------------------- | ---------------------- | -| Promise\<[AccessibilityElement](#accessibilityelement20)>| Promise used to return the result.| +| Promise\<[AccessibilityElement](#accessibilityelement12)>| Promise used to return the result.| **错误码:** 以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 @@ -445,7 +445,7 @@ axContext.getRootInActiveWindow(windowId).then((element: AccessibilityElement) = ## getAccessibilityWindowsSync20+ -getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](#accessibilityelement20)> +getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](#accessibilityelement12)> 获取窗口列表。 @@ -462,7 +462,7 @@ getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](# | 类型 | 描述 | | ----------------------------------- | ---------------------- | -| Array\<[AccessibilityElement](#accessibilityelement20)> | 窗口列表。| +| Array\<[AccessibilityElement](#accessibilityelement12)> | 窗口列表。| **错误码:** 以下错误码的详细介绍请参见[无障碍子系统错误码](errorcode-accessibility.md)。 @@ -884,7 +884,7 @@ getParent(): Promise\; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#accessibilityelement20)> | 父元素。| +| Promise\<[AccessibilityElement](#accessibilityelement12)> | 父元素。| **错误码:** @@ -927,7 +927,7 @@ getChildren(): Promise\>; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\> | 子元素数组。| +| Promise\> | 子元素数组。| **错误码:** @@ -970,7 +970,7 @@ getRoot(): Promise\; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#accessibilityelement20)> | 根元素。| +| Promise\<[AccessibilityElement](#accessibilityelement12)> | 根元素。| **错误码:** @@ -1018,7 +1018,7 @@ findElementByContent(content: string): Promise\>; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\> | 元素数组。| +| Promise\> | 元素数组。| **错误码:** @@ -1077,7 +1077,7 @@ findElementByFocusDirection(direction: FocusDirection): Promise\ | AccessibilityElement.| +| Promise\<[AccessibilityElement](#accessibilityelement12)> | AccessibilityElement.| **错误码:** @@ -1139,7 +1139,7 @@ findElementsByAccessibilityHintText(hintText: string): Promise\> | 元素数组。| +| Promise\> | 元素数组。| **错误码:** @@ -1203,7 +1203,7 @@ findElementById(elementId: number): Promise\; | 类型 | 描述 | | ---------------------------------------- | --------------------- | -| Promise\<[AccessibilityElement](#accessibilityelement20)> | AccessibilityElement.| +| Promise\<[AccessibilityElement](#accessibilityelement12)> | AccessibilityElement.| **错误码:** -- Gitee From 7864b870e1ac4682a13e4924607a7de35aebc39d Mon Sep 17 00:00:00 2001 From: liuzhiwei Date: Thu, 3 Jul 2025 14:43:51 +0800 Subject: [PATCH 17/17] =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liuzhiwei --- .../js-apis-accessibility-sys.md | 5 ++-- ...ation-accessibilityExtensionAbility-sys.md | 13 ++++++----- ...ation-accessibilityExtensionContext-sys.md | 23 ++++++++++--------- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md index 7b2dadeb618..c368c184fcf 100755 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-accessibility-sys.md @@ -1,10 +1,11 @@ -# @ohos.accessibility (辅助功能) +# @ohos.accessibility (辅助功能)(系统接口) -本模块提供无障碍事件类型和无障碍节点元素可执行的操作 +本模块提供无障碍事件类型和无障碍节点元素可执行的操作。 > **说明:** > > - 本模块首批接口从 API version 20 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 +> - 当前页面仅包含本模块的系统接口。其他公开接口参见[@ohos.accessibility](js-apis-accessibility.md)。 ## 导入模块 diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md index 3207162b137..baaddf7b735 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-application-accessibilityExtensionAbility-sys.md @@ -1,10 +1,11 @@ # @ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力)(系统接口) -AccessibilityExtensionAbility基于ExtensionAbility框架,提供辅助功能业务的能力。给Ability提供包括处理成功连接无障碍服务、断开无障碍服务,无障碍服务事件及无障碍按键事件发生时的处理能力。 +AccessibilityExtensionAbility基于ExtensionAbility框架,提供辅助功能业务的能力,能力包括成功连接无障碍服务、断开无障碍服务、处理无障碍服务事件和无障碍按键事件等。 > **说明:** > > - 本模块首批接口从API version 20开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。 +> - 当前页面仅包含本模块的系统接口。其他公开接口参见[@ohos.application.AccessibilityExtensionAbility](js-apis-application-accessibilityExtensionAbility.md)。 ## 导入模块 @@ -102,7 +103,7 @@ class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { onAccessibilityKeyEvent(keyEvent: KeyEvent): boolean; -在物理按键按下时回调此方法,可以在该方法中根据业务判断是否对事件消费此事件,返回true表示该事件被消费,不会继续往下传递。 +在物理按键按下时回调该方法,在该方法中根据业务判断是否消费事件。 **系统能力**:SystemCapability.BarrierFree.Accessibility.Core @@ -110,13 +111,13 @@ onAccessibilityKeyEvent(keyEvent: KeyEvent): boolean; | 参数名 | 类型 | 必填 | 说明 | | -------- | ---------------------------------------- | ---- | ---- | -| keyEvent | [KeyEvent](../apis-input-kit/js-apis-keyevent.md#keyevent) | 是 | 按键事件 | +| keyEvent | [KeyEvent](../apis-input-kit/js-apis-keyevent.md#keyevent) | 是 | 按键事件。 | **返回值:** +| 类型 | 说明 | +| ------- | ------------------------------------------------------------ | +| boolean | 返回true表示此事件被消费,不会继续传递。
返回false表示些事件未被消费,会继续传递。| -true:表示此事件被消费,不会继续传递。 - -false:表示些事件未被消费,会继续传递。 **示例:** diff --git a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md index cbafbb15a63..98e7e231933 100644 --- a/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md +++ b/zh-cn/application-dev/reference/apis-accessibility-kit/js-apis-inner-application-accessibilityExtensionContext-sys.md @@ -23,21 +23,22 @@ class EntryAbility extends AccessibilityExtensionAbility { } ``` -## Parameter +## Parameter20 无障碍节点元素执行特定操作时,为操作提供具体设置的参数值。 +详见[无障碍节点元素可执行的操作](./js-apis-accessibility-sys.md#accessibilityaction) **系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core -| 名称 | 类型 | 默认值 | 说明 | -| ------------------- | ------ | ---- | --------------------------------- | -| setText | string | “” | SET_TEXT操作对应的文本内容 | -| selectTextBegin | string | “” | SET_SELECTION操作的起始坐标。例:‘2’ | -| selectTextEnd | string | “” | SET_SELECTION操作的结束坐标。例:‘8’ | -| selectTextInForWard | bool | 无 | SET_SELECTION操作是否向前选择,例:true | -| offset | string | “” | SET_CURSOR_POSITION操作的位移。例:'1' | -| spanId | string | “” | SPAN文本进行点击操作时文本id | -| scrollType | string | “” | 组件滚动类型,包括SCROLL_FORWARD(向前滚动)和SCROLL_BACKWARD(向后滚动) | +| 名称 | 类型 | 只读 |可选| 说明 | +| ------------------- | ------ | ---- | ----|--------------------------------- | +| setText | string | 否 |是 |SET_TEXT操作对应的文本内容 | +| selectTextBegin | string | 否 | 是|SET_SELECTION操作的起始坐标。例:‘2’ | +| selectTextEnd | string | 否 | 是|SET_SELECTION操作的结束坐标。例:‘8’ | +| selectTextInForWard | bool | 否 | 是|SET_SELECTION操作是否向前选择,例:true | +| offset | string | 否 | 是|SET_CURSOR_POSITION操作的位移。例:'1' | +| spanId | string | 否 |是 |SPAN文本进行点击操作时文本id | +| scrollType | string | 否 | 是|组件滚动类型,包括SCROLL_FORWARD(向前滚动)和SCROLL_BACKWARD(向后滚动) | 例如:针对action: AccessibilityAction.SET_SELECTION, executeAction方法的第二个参数如下: ```ts @@ -788,7 +789,7 @@ executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\