diff --git a/api/@ohos.application.AccessibilityExtensionAbility.d.ts b/api/@ohos.application.AccessibilityExtensionAbility.d.ts index bb65f013b3a512b56c8393ffbdbea3d2521a49f8..8ed280280d7afa197e882d8312caddad5b793a32 100644 --- a/api/@ohos.application.AccessibilityExtensionAbility.d.ts +++ b/api/@ohos.application.AccessibilityExtensionAbility.d.ts @@ -159,6 +159,744 @@ export default class AccessibilityExtensionAbility { * @deprecated since 12 */ onKeyEvent(keyEvent: KeyEvent): boolean; + + /** + * Called when extension ability is connected. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + onAccessibilityConnect(): void; + + /** + * Called when extension ability is disconnected. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + onAccessibilityDisconnect(): void; + + /** + * Called when an accessibility event occurs, such as when the user touches the application interface. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @param { AccessibilityEventInfo } event Indicates an accessibility event. + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + onAccessibilityEventInfo(event: AccessibilityEventInfo): void; + + /** + * Called when a physical key is pressed, such as when the user presses the volume button . + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @param { KeyEvent } keyEvent Indicates the physical key event. + * @returns { boolean } + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + onAccessibilityKeyEvent(keyEvent: KeyEvent): boolean; +} + +/** + * Indicates the accessibility event. + * It provides the event type and the target element of the event if any. + * + * @typedef AccessibilityEventInfo + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ +declare interface AccessibilityEventInfo { + /** + * EventType + * + * @type { AccessibilityEventType } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + eventType: AccessibilityEventType; + + /** + * Target + * + * @type { ?AccessibilityElement } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + target?: AccessibilityElement; + + /** + * TimeStamp + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + timestamp?: number; + + /** + * The content of add/remove accessibility extraInfo text. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + extraInfo?: string; +} + +/** + * AccessibilityEvent type + * + * @enum { number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ +export enum AccessibilityEventType { + //EventType + /** + * AccessibilityFocus type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_ACCESSIBILITY_FOCUS = 0, + + /** + * AccessibilityFocusClear type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_ACCESSIBILITY_FOCUS_CLEAR = 1, + + /** + * Click type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_CLICK = 2, + + /** + * LongClick type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_LONG_CLICK = 3, + + /** + * Select type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SELECT = 4, + + /** + * HoverEnter type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_HOVER_ENTER = 5, + + /** + * HoverExit type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_HOVER_EXIT = 6, + + /** + * Focus type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_FOCUS = 7, + + /** + * TextUpdate type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_TEXT_UPDATE = 8, + + /** + * TextSelectionUpdate type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_TEXT_SELECTION_UPDATE = 9, + + /** + * Scroll type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SCROLL = 10, + + /** + * RequestFocusForAccessibility type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY = 11, + + /** + * AnnounceForAccessibility type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_ANNOUNCE_FOR_ACCESSIBILITY = 12, + + /** + * RequestFocusForAccessibilityNotInterrupt type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_REQUEST_FOCUS_FOR_ACCESSIBILITY_NOT_INTERRUPT = 13, + + /** + * AnnounceForAccessibilityNotInterrupt type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_ANNOUNCE_FOR_ACCESSIBILITY_NOT_INTERRUPT = 14, + + /** + * ElementInfoChange type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_ELEMENT_INFO_CHANGE = 15, + + /** + * Scrolling type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SCROLLING = 16, + + // WindowUpdateType + /** + * Window add type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_WINDOW_ADD = 17, + + /** + * Window remove type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_WINDOW_REMOVE = 18, + + /** + * Window bounds type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_WINDOW_BOUNDS = 19, + + /** + * Window active type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_WINDOW_ACTIVE = 20, + + /** + * Window focus type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_WINDOW_FOCUS = 21, + + /** + * Window property type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_WINDOW_PROPERTY = 22, + + /** + * Window layer type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_WINDOW_LAYER = 23, + + //TouchGuideType + /** + * TouchBegin type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_TOUCH_BEGIN = 24, + + /** + * TouchEnd type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_TOUCH_END = 25, + + //PageUpdateType + /** + * PageContentUpdate type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_PAGE_CONTENT_UPDATE = 26, + + /** + * PageStateUpdate type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_PAGE_STATE_UPDATE = 27, + + /** + * PageOpen type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_PAGE_OPEN = 28, + + /** + * PageClose type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_PAGE_CLOSE = 29, + + //GestureType + /** + * left type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_LEFT = 30, + + /** + * leftThenRight type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_LEFT_THEN_RIGHT = 31, + + /** + * leftThenUp type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_LEFT_THEN_UP = 32, + + /** + * leftThenDown type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_LEFT_THEN_DOWN = 33, + + /** + * right type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_RIGHT = 34, + + /** + * rightThenLeft type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_RIGHT_THEN_LEFT = 35, + + /** + * rightThenUp type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_RIGHT_THEN_UP = 36, + + /** + * rightThenDown type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_RIGHT_THEN_DOWN = 37, + + /** + * up type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_UP = 38, + + /** + * upThenLeft type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_UP_THEN_LEFT = 39, + + /** + * upThenRight type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_UP_THEN_RIGHT = 40, + + /** + * upThenDown type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_UP_THEN_DOWN = 41, + + /** + * down type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_DOWN = 42, + + /** + * downThenLeft type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_DOWN_THEN_LEFT = 43, + + /** + * downThenRight type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_DOWN_THEN_RIGHT = 44, + + /** + * downThenUp type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_SWIPE_DOWN_THEN_UP = 45, + + /** + * twoFingerSingleTap type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_TWO_FINGER_SINGLE_TAP = 46, + + /** + * twoFingerDoubleTap type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_TWO_FINGER_DOUBLE_TAP = 47, + + /** + * twoFingerDoubleTapAndHold type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_TWO_FINGER_DOUBLE_TAP_AND_HOLD = 48, + + /** + * twoFingerTripleTap type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_TWO_FINGER_TRIPLE_TAP = 49, + + /** + * twoFingerTripleTapAndHold type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_TWO_FINGER_TRIPLE_TAP_AND_HOLD = 50, + + /** + * threeFingerSingleTap type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_THREE_FINGER_SINGLE_TAP = 51, + + /** + * threeFingerDoubleTap type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_THREE_FINGER_DOUBLE_TAP = 52, + + /** + * threeFingerDoubleTapAndHold type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_THREE_FINGER_DOUBLE_TAP_AND_HOLD = 53, + + /** + * threeFingerTripleTap type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_THREE_FINGER_TRIPLE_TAP = 54, + + /** + * threeFingerTripleTapAndHold type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_THREE_FINGER_TRIPLE_TAP_AND_HOLD = 55, + + /** + * fourFingerSingleTap type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_FOUR_FINGER_SINGLE_TAP = 56, + + /** + * fourFingerDoubleTap type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_FOUR_FINGER_DOUBLE_TAP = 57, + + /** + * fourFingerDoubleTapAndHold type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_FOUR_FINGER_DOUBLE_TAP_AND_HOLD = 58, + + /** + * fourFingerTripleTap type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_FOUR_FINGER_TRIPLE_TAP = 59, + + /** + * fourFingerTripleTapAndHold type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_FOUR_FINGER_TRIPLE_TAP_AND_HOLD = 60, + + /** + * threeFingerSwipeUp type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_THREE_FINGER_SWIPE_UP = 61, + + /** + * threeFingerSwipeDown type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_THREE_FINGER_SWIPE_DOWN = 62, + + /** + * threeFingerSwipeLeft type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_THREE_FINGER_SWIPE_LEFT = 63, + + /** + * threeFingerSwipeRight type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_THREE_FINGER_SWIPE_RIGHT = 64, + + /** + * fourFingerSwipeUp type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_FOUR_FINGER_SWIPE_UP = 65, + + /** + * fourFingerSwipeDown type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_FOUR_FINGER_SWIPE_DOWN = 66, + + /** + * fourFingerSwipeLeft type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_FOUR_FINGER_SWIPE_LEFT = 67, + + /** + * fourFingerSwipeRight type + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + TYPE_FOUR_FINGER_SWIPE_RIGHT = 68 } /** diff --git a/api/application/AccessibilityExtensionContext.d.ts b/api/application/AccessibilityExtensionContext.d.ts index be448fd0baf36b46be7a0bdad85554acfdff040b..9cd0f1cb5d8c46ce6506f0282b9e6d0a1dd5dcee 100644 --- a/api/application/AccessibilityExtensionContext.d.ts +++ b/api/application/AccessibilityExtensionContext.d.ts @@ -127,7 +127,7 @@ export default class AccessibilityExtensionContext extends ExtensionContext { /** * Get window root element. * - * @param { number } windowId Indicates the window ID. + * @param { number } [windowId] Indicates the window ID. * @returns { Promise } * @throws { BusinessError } 401 - Input parameter error. Possible causes: * 1. Mandatory parameters are left unspecified; @@ -361,6 +361,52 @@ export default class AccessibilityExtensionContext extends ExtensionContext { * @since 20 */ notifyDisconnect(): void; + + /** + * Get accessibility focused element. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @returns { Promise } + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @throws { BusinessError } 9300003 - No accessibility permission to perform the operation. + * @throws { BusinessError } 9300006 - The target application failed to connect to accessibility service. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + getAccessibilityFocusedElement(): Promise; + + /** + * Get window root element. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @param { number } [windowId] Indicates the window ID. + * @returns { Promise } + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @throws { BusinessError } 9300003 - No accessibility permission to perform the operation. + * @throws { BusinessError } 9300006 - The target application failed to connect to accessibility service. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + getRootInActiveWindow(windowId?: number): Promise; + + /** + * Get window list. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @param { number } [displayId] Indicates the display ID. If this parameter is not provided, indicates the default displayId. + * @returns { Array } + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @throws { BusinessError } 9300003 - No accessibility permission to perform the operation. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + getAccessibilityWindowsSync(displayId?: number): Array; } /** @@ -659,6 +705,1127 @@ declare interface AccessibilityElement { * @since 12 */ findElement(type: 'elementId', condition: number): Promise; + + /** + * Indicates accessibility focus state. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + accessibilityFocused?: boolean; + + /** + * Indicates the bundle name to which it belongs. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + bundleName?: string; + + /** + * Indicates whether the element is checkable. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + checkable?: boolean; + + /** + * Indicates whether the element is checked. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + checked?: boolean; + + /** + * Indicates whether the element is clickable. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + clickable?: boolean; + + /** + * Indicates the component ID to which the element belongs. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + componentId?: number; + + /** + * Indicates the component type to which the element belongs. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + componentType?: string; + + /** + * Indicates the content. + * + * @type { ?Array } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + contents?: Array; + + /** + * Indicates the index of the current item. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + currentIndex?: number; + + /** + * Indicates the description of the element. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + description?: string; + + /** + * Indicates whether the element is editable. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + editable?: boolean; + + /** + * Indicates the list index of the last item displayed on the screen. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + endIndex?: number; + + /** + * Indicates the string of error state. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + error?: string; + + /** + * Indicates whether the element is focusable. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + focusable?: boolean; + + /** + * Indicates the hint text. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + hintText?: string; + + /** + * Indicates the type of input text. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + inputType?: number; + + /** + * Indicates the inspector key. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + inspectorKey?: string; + + /** + * Indicates whether the element is active or not. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + isActive?: boolean; + + /** + * Indicates whether the element is enable or not. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + isEnable?: boolean; + + /** + * Indicates whether the element is hint state or not. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + isHint?: boolean; + + /** + * Indicates whether the element is focused or not. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + isFocused?: boolean; + + /** + * Indicates whether the element is password or not. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + isPassword?: boolean; + + /** + * Indicates whether the element is visible or not. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + isVisible?: boolean; + + /** + * Indicates the total count of the items. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + itemCount?: number; + + /** + * Indicates the last content. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + lastContent?: string; + + /** + * Indicates the display layer of the element. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + layer?: number; + + /** + * Indicates whether the element is long clickable. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + longClickable?: boolean; + + /** + * Indicates the page id. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + pageId?: number; + + /** + * Indicates whether the element supports multiple lines of text. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + pluralLineSupported?: boolean; + + /** + * Indicates the area of the element. + * + * @type { ?Rect } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + rect?: Rect; + + /** + * Indicates the resource name of the element. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + resourceName?: string; + + /** + * Indicates the display area of the element. + * + * @type { ?Rect } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + screenRect?: Rect; + + /** + * Indicates whether the element is scrollable. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + scrollable?: boolean; + + /** + * Indicates whether the element is selected. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + selected?: boolean; + + /** + * Indicates the list index of the first item displayed on the screen. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + startIndex?: number; + + /** + * Indicates the text of the element. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + text?: string; + + /** + * Indicates the maximum length limit of the element text. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + textLengthLimit?: number; + + /** + * Indicates the unit of movement of the element text as it is read. + * + * @type { ?accessibility.TextMoveUnit } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + textMoveUnit?: accessibility.TextMoveUnit; + + /** + * Indicates the action that triggered the element event. + * + * @type { ?AccessibilityAction } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + triggerAction?: AccessibilityAction; + + /** + * Indicates the window type of the element. + * + * @type { ?WindowType } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + type?: WindowType; + + /** + * Indicates the maximum value. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + valueMax?: number; + + /** + * Indicates the minimum value. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + valueMin?: number; + + /** + * Indicates the current value. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + valueNow?: number; + + /** + * Indicates the window id. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + windowId?: number; + + /** + * Indicates the offset. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + offset?: number; + + /** + * Indicates the text type. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + textType?: string; + + /** + * Indicates the accessibility text of component. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + accessibilityText?: string; + + /** + * Indicates the hot area of the element. + * + * @type { ?Rect } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + hotArea?: Rect; + + /** + * Indicates the custom component type. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + customComponentType?: string; + + /** + * Indicates the component next accessibility focus id. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + accessibilityNextFocusId?: number; + + /** + * Indicates the component previous accessibility focus id. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + accessibilityPreviousFocusId?: number; + + /** + * Indicates the extra info of the element. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + extraInfo?: string; + + /** + * Indicates whether the element is scrollable for accessibility. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + accessibilityScrollable?: boolean; + + /** + * Indicates actions the element support. + * + * @type { ?Array } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + supportedActionNames?: Array; + + /** + * Indicates whether the element is accessibilityGroup. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + accessibilityGroup?: boolean; + + /** + * Indicates the accessibilityLevel of component. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + accessibilityLevel?: string; + + /** + * Indicates the navDestination id of component. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + navDestinationId?: number; + + /** + * Indicates the current item in grid of component. + * + * @type { ?AccessibilityGrid } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + currentItem?: AccessibilityGrid; + + /** + * Indicates the span array of component. + * + * @type { ?AccessibilitySpan[] } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + spans?: AccessibilitySpan[]; + + /** + * Indicates whether the component is accessibility visible. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + accessibilityVisible?: boolean; + + /** + * Indicates the main windowId of component. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + mainWindowId?: number; + + /** + * Indicates whether the component need clip. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + clip?: boolean; + + /** + * Indicates the parent element id of component. + * + * @type { ?number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + parentId?: number; + + /** + * Indicates the children elements id list of component. + * + * @type { ?Array } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + childrenIds?: Array; + + /** + * Execute the specified action. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @param { AccessibilityAction } action Indicates the action to execute. + * @param { Parameter } [parameters] Indicates the parameters needed to execute the action. + * @returns { Promise } + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @throws { BusinessError } 9300005 - This action is not supported. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + executeAction(action: AccessibilityAction, parameters?: Parameter): Promise; + + /** + * Get element's parent. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @returns { Promise } + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + getParent(): Promise; + + /** + * Get element's children. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @returns { Promise> } + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + getChildren(): Promise>; + + /** + * Get element's root. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @returns { Promise } + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + getRoot(): Promise; + + /** + * Find elements that match the condition. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @param { string } condition Indicates the specific content to be queried. + * @returns { Promise> } + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @throws { BusinessError } 9300006 - The target application failed to connect to accessibility service. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + findElementByContent(condition: string): Promise>; + + /** + * Find elements that match the focus direction. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @param { FocusDirection } condition Indicates the direction of search focus to query. + * @returns { Promise } + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @throws { BusinessError } 9300006 - The target application failed to connect to accessibility service. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + findElementByFocusDirection(condition: FocusDirection): Promise; + + /** + * Find elements that match the condition. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @param { string } condition Indicates the specific json string to be queried. + * @returns { Promise> } + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @throws { BusinessError } 9300006 - The target application failed to connect to accessibility service. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + findElementsByAccessibilityHintText(condition: string): Promise>; + + /** + * Find elements that match the elementId. + * + * @permission ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY + * @param { number } condition Indicates the elementId to query. + * @returns { Promise } + * @throws { BusinessError } 201 - Permission verification failed.The application does not have the permission required to call the API. + * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API. + * @throws { BusinessError } 9300006 - The target application failed to connect to accessibility service. + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + findElementById(condition: number): Promise; +} + +/** + * Accessibility action that the ability can execute. + * + * @enum { number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ +export enum AccessibilityAction { + /** + * AccessibilityFocus + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + ACCESSIBILITY_FOCUS = 0, + + /** + * ClearAccessibilityFocus + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + CLEAR_ACCESSIBILITY_FOCUS = 1, + + /** + * Focus + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + FOCUS = 2, + + /** + * ClearFocus + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + CLEAR_FOCUS = 3, + + /** + * Click + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + CLICK = 4, + + /** + * LongClick + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + LONG_CLICK = 5, + + /** + * Cut + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + CUT = 6, + + /** + * Copy + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + COPY = 7, + + /** + * Paste + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + PASTE = 8, + + /** + * Select + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + SELECT = 9, + + /** + * SetText + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + SET_TEXT = 10, + + /** + * ScrollForward + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + SCROLL_FORWARD = 11, + + /** + * ScrollBackward + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + SCROLL_BACKWARD = 12, + + /** + * SetSelection + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + SET_SELECTION = 13, + + /** + * SetCursorPosition + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + SET_CURSOR_POSITION = 14, + + /** + * Home + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + HOME = 15, + + /** + * Back + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + BACK = 16, + + /** + * RecentTask + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + RECENT_TASK = 17, + + /** + * NotificationCenter + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + NOTIFICATION_CENTER = 18, + + /** + * ControlCenter + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + CONTROL_CENTER = 19, + + /** + * Common + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + COMMON = 20, + + /** + * SpanClick + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + SPAN_CLICK = 21 +} + +/** + * Indicates grid info. + * + * @typedef AccessibilityGrid + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ +interface AccessibilityGrid { + /** + * The row index in grid. + * + * @type { number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + rowIndex: number; + /** + * The colum index in grid. + * + * @type { number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + columnIndex: number; +} + +/** + * Indicates span info. + * + * @typedef AccessibilitySpan + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ +interface AccessibilitySpan { + /** + * The id of span. + * + * @type { number } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + spanId: number; + /** + * The text of span. + * + * @type { string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + spanText: string; + /** + * The accessibility text of span. + * + * @type { string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + accessibilityText: string; + /** + * The accessibility description of span. + * + * @type { string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + accessibilityDescription: string; + /** + * The accessibility level of span. + * + * @type { string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + accessibilityLevel: string; +} + +/** + * Indicates the parameter of the AccessibiltyAction. + * + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ +export declare class Parameter { + /** + * Indicates the text to set for AccessibilityAction.SET_TEXT. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + setText?: string; + /** + * Indicates the begin position of select text for AccessibilityAction.SET_SELECTION. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + selectTextBegin?: string; + /** + * Indicates the end position of select text for AccessibilityAction.SET_SELECTION. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + selectTextEnd?: string; + /** + * Indicates the direction of select text for AccessibilityAction.SET_SELECTION. + * + * @type { ?boolean } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + selectTextInForWard?: boolean; + /** + * Indicates the cursor position for AccessibilityAction.SET_CURSOR_POSITION. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + offset?: string; + /** + * Indicates the span id for AccessibilityAction.SPAN_CLICK. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + spanId?: string; + /** + * Indicates the scroll type for AccessibilityAction.SCROLL_FORWARD and AccessibilityAction.SCROLL_BACKWARD. + * + * @type { ?string } + * @syscap SystemCapability.BarrierFree.Accessibility.Core + * @systemapi + * @since 20 + */ + scrollType?: string; } /** diff --git a/kits/@kit.AccessibilityKit.d.ts b/kits/@kit.AccessibilityKit.d.ts index 8e7cac8fc6c03f88fdc78bdfe1de27006781ba48..e40ad63bed2abc7a3213d7a0a6347f6bae2c6edb 100644 --- a/kits/@kit.AccessibilityKit.d.ts +++ b/kits/@kit.AccessibilityKit.d.ts @@ -24,11 +24,11 @@ import { GesturePath } from '@ohos.accessibility.GesturePath'; import { GesturePoint } from '@ohos.accessibility.GesturePoint'; import AccessibilityExtensionAbility, { AccessibilityElement, AccessibilityExtensionContext, ElementAttributeKeys, - ElementAttributeValues, FocusDirection, FocusType, Rect, WindowType, AccessibilityEvent + ElementAttributeValues, FocusDirection, FocusType, Rect, WindowType, AccessibilityEvent, AccessibilityEventInfo } from '@ohos.application.AccessibilityExtensionAbility'; export { AccessibilityElement, AccessibilityExtensionAbility, AccessibilityExtensionContext, ElementAttributeKeys, ElementAttributeValues, FocusDirection, FocusType, GesturePath, - GesturePoint, Rect, WindowType, accessibility, config, AccessibilityEvent + GesturePoint, Rect, WindowType, accessibility, config, AccessibilityEvent, AccessibilityEventInfo };