1885b47fbSopenharmony_ci/* 2885b47fbSopenharmony_ci * Copyright (c) 2022-2023 Huawei Device Co., Ltd. 3885b47fbSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"), 4885b47fbSopenharmony_ci * you may not use this file except in compliance with the License. 5885b47fbSopenharmony_ci * You may obtain a copy of the License at 6885b47fbSopenharmony_ci * 7885b47fbSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8885b47fbSopenharmony_ci * 9885b47fbSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10885b47fbSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11885b47fbSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12885b47fbSopenharmony_ci * See the License for the specific language governing permissions and 13885b47fbSopenharmony_ci * limitations under the License. 14885b47fbSopenharmony_ci */ 15885b47fbSopenharmony_ci 16885b47fbSopenharmony_ciimport type accessibility from './@ohos.accessibility'; 17885b47fbSopenharmony_ciimport type { KeyEvent } from './@ohos.multimodalInput.keyEvent'; 18885b47fbSopenharmony_ciimport type { 19885b47fbSopenharmony_ci AccessibilityElement as _AccessibilityElement, 20885b47fbSopenharmony_ci ElementAttributeValues as _ElementAttributeValues, 21885b47fbSopenharmony_ci FocusDirection as _FocusDirection, 22885b47fbSopenharmony_ci FocusType as _FocusType, 23885b47fbSopenharmony_ci WindowType as _WindowType, 24885b47fbSopenharmony_ci Rect as _Rect, 25885b47fbSopenharmony_ci Span as _Span, 26885b47fbSopenharmony_ci} from './application/AccessibilityExtensionContext'; 27885b47fbSopenharmony_ciimport type * as _AccessibilityExtensionContext from './application/AccessibilityExtensionContext'; 28885b47fbSopenharmony_ci 29885b47fbSopenharmony_ci 30885b47fbSopenharmony_ci/** 31885b47fbSopenharmony_ci * Indicates an accessibility element. 32885b47fbSopenharmony_ci * Supports querying element attributes, requesting execution actions, and finding child elements by condition. 33885b47fbSopenharmony_ci * 34885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 35885b47fbSopenharmony_ci * @since 10 36885b47fbSopenharmony_ci */ 37885b47fbSopenharmony_ciexport type AccessibilityElement = _AccessibilityElement; 38885b47fbSopenharmony_ci 39885b47fbSopenharmony_ci/** 40885b47fbSopenharmony_ci * Indicates the possible attributes of the element and the type of the attribute value. 41885b47fbSopenharmony_ci * 42885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 43885b47fbSopenharmony_ci * @since 10 44885b47fbSopenharmony_ci */ 45885b47fbSopenharmony_ciexport type ElementAttributeValues = _ElementAttributeValues; 46885b47fbSopenharmony_ci 47885b47fbSopenharmony_ci/** 48885b47fbSopenharmony_ci * Indicates the direction of the search focus. 49885b47fbSopenharmony_ci * 50885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 51885b47fbSopenharmony_ci * @since 10 52885b47fbSopenharmony_ci */ 53885b47fbSopenharmony_ciexport type FocusDirection = _FocusDirection; 54885b47fbSopenharmony_ci 55885b47fbSopenharmony_ci/** 56885b47fbSopenharmony_ci * Indicates the key of the attribute value. 57885b47fbSopenharmony_ci * 58885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 59885b47fbSopenharmony_ci * @since 10 60885b47fbSopenharmony_ci */ 61885b47fbSopenharmony_ciexport type ElementAttributeKeys = keyof ElementAttributeValues; 62885b47fbSopenharmony_ci 63885b47fbSopenharmony_ci/** 64885b47fbSopenharmony_ci * Indicates the type of the focus. 65885b47fbSopenharmony_ci * 66885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 67885b47fbSopenharmony_ci * @since 10 68885b47fbSopenharmony_ci */ 69885b47fbSopenharmony_ciexport type FocusType = _FocusType; 70885b47fbSopenharmony_ci 71885b47fbSopenharmony_ci/** 72885b47fbSopenharmony_ci * Indicates the type of the window. 73885b47fbSopenharmony_ci * 74885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 75885b47fbSopenharmony_ci * @since 10 76885b47fbSopenharmony_ci */ 77885b47fbSopenharmony_ciexport type WindowType = _WindowType; 78885b47fbSopenharmony_ci 79885b47fbSopenharmony_ci/** 80885b47fbSopenharmony_ci * Indicates rectangle. 81885b47fbSopenharmony_ci * 82885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 83885b47fbSopenharmony_ci * @since 10 84885b47fbSopenharmony_ci */ 85885b47fbSopenharmony_ciexport type Rect = _Rect; 86885b47fbSopenharmony_ci 87885b47fbSopenharmony_ci/** 88885b47fbSopenharmony_ci * Indicates rectangle. 89885b47fbSopenharmony_ci * 90885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 91885b47fbSopenharmony_ci * @since 12 92885b47fbSopenharmony_ci */ 93885b47fbSopenharmony_ciexport type Span = _Span; 94885b47fbSopenharmony_ci 95885b47fbSopenharmony_ci/** 96885b47fbSopenharmony_ci * The accessibility extension context. Used to configure, query information, and inject gestures. 97885b47fbSopenharmony_ci * 98885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 99885b47fbSopenharmony_ci * @since 10 100885b47fbSopenharmony_ci */ 101885b47fbSopenharmony_ci 102885b47fbSopenharmony_ciexport type AccessibilityExtensionContext = _AccessibilityExtensionContext.default; 103885b47fbSopenharmony_ci 104885b47fbSopenharmony_ci/** 105885b47fbSopenharmony_ci * class of accessibility extension ability. 106885b47fbSopenharmony_ci * 107885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 108885b47fbSopenharmony_ci * @since 9 109885b47fbSopenharmony_ci */ 110885b47fbSopenharmony_ciexport default class AccessibilityExtensionAbility { 111885b47fbSopenharmony_ci /** 112885b47fbSopenharmony_ci * Indicates accessibility extension ability context. 113885b47fbSopenharmony_ci * 114885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 115885b47fbSopenharmony_ci * @since 9 116885b47fbSopenharmony_ci */ 117885b47fbSopenharmony_ci context: AccessibilityExtensionContext; 118885b47fbSopenharmony_ci 119885b47fbSopenharmony_ci /** 120885b47fbSopenharmony_ci * Called when extension ability is connected. 121885b47fbSopenharmony_ci * 122885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 123885b47fbSopenharmony_ci * @since 9 124885b47fbSopenharmony_ci */ 125885b47fbSopenharmony_ci onConnect(): void; 126885b47fbSopenharmony_ci 127885b47fbSopenharmony_ci /** 128885b47fbSopenharmony_ci * Called when extension ability is disconnected. 129885b47fbSopenharmony_ci * 130885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 131885b47fbSopenharmony_ci * @since 9 132885b47fbSopenharmony_ci */ 133885b47fbSopenharmony_ci onDisconnect(): void; 134885b47fbSopenharmony_ci 135885b47fbSopenharmony_ci /** 136885b47fbSopenharmony_ci * Called when an accessibility event occurs, such as when the user touches the application interface. 137885b47fbSopenharmony_ci * 138885b47fbSopenharmony_ci * @param { AccessibilityEvent } event Indicates an accessibility event. 139885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 140885b47fbSopenharmony_ci * @since 9 141885b47fbSopenharmony_ci */ 142885b47fbSopenharmony_ci onAccessibilityEvent(event: AccessibilityEvent): void; 143885b47fbSopenharmony_ci 144885b47fbSopenharmony_ci /** 145885b47fbSopenharmony_ci * Called when a physical key is pressed, such as when the user presses the volume button . 146885b47fbSopenharmony_ci * 147885b47fbSopenharmony_ci * @param { KeyEvent } keyEvent Indicates the physical key event. 148885b47fbSopenharmony_ci * @returns { boolean } 149885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 150885b47fbSopenharmony_ci * @since 9 151885b47fbSopenharmony_ci */ 152885b47fbSopenharmony_ci onKeyEvent(keyEvent: KeyEvent): boolean; 153885b47fbSopenharmony_ci} 154885b47fbSopenharmony_ci 155885b47fbSopenharmony_ci/** 156885b47fbSopenharmony_ci * Indicates the accessibility event. 157885b47fbSopenharmony_ci * It provides the event type and the target element of the event if any. 158885b47fbSopenharmony_ci * 159885b47fbSopenharmony_ci * @typedef AccessibilityEvent 160885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 161885b47fbSopenharmony_ci * @since 9 162885b47fbSopenharmony_ci */ 163885b47fbSopenharmony_cideclare interface AccessibilityEvent { 164885b47fbSopenharmony_ci eventType: accessibility.EventType | accessibility.WindowUpdateType | TouchGuideType | GestureType | PageUpdateType; 165885b47fbSopenharmony_ci target?: AccessibilityElement; 166885b47fbSopenharmony_ci timeStamp?: number; 167885b47fbSopenharmony_ci elementId?: number; 168885b47fbSopenharmony_ci textAnnouncedForAccessibility?: string; 169885b47fbSopenharmony_ci} 170885b47fbSopenharmony_ci 171885b47fbSopenharmony_ci/** 172885b47fbSopenharmony_ci * Indicates the gesture type. 173885b47fbSopenharmony_ci * 174885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 175885b47fbSopenharmony_ci * @since 9 176885b47fbSopenharmony_ci */ 177885b47fbSopenharmony_citype GestureType = 'left' | 'leftThenRight' | 'leftThenUp' | 'leftThenDown' | 178885b47fbSopenharmony_ci 'right' | 'rightThenLeft' | 'rightThenUp' | 'rightThenDown' | 179885b47fbSopenharmony_ci 'up' | 'upThenLeft' | 'upThenRight' | 'upThenDown' | 180885b47fbSopenharmony_ci 'down' | 'downThenLeft' | 'downThenRight' | 'downThenUp' | 181885b47fbSopenharmony_ci 'twoFingerSingleTap' | 'twoFingerDoubleTap' | 'twoFingerDoubleTapAndHold' | 'twoFingerTripleTap' | 182885b47fbSopenharmony_ci 'twoFingerTripleTapAndHold' | 'threeFingerSingleTap' | 'threeFingerDoubleTap' | 'threeFingerDoubleTapAndHold' | 183885b47fbSopenharmony_ci 'threeFingerTripleTap' | 'threeFingerTripleTapAndHold' | 'fourFingerSingleTap' | 'fourFingerDoubleTap' | 184885b47fbSopenharmony_ci 'fourFingerDoubleTapAndHold' | 'fourFingerTripleTap' | 'fourFingerTripleTapAndHold' | 185885b47fbSopenharmony_ci 'threeFingerSwipeUp' | 'threeFingerSwipeDown' | 'threeFingerSwipeLeft' | 'threeFingerSwipeRight' | 186885b47fbSopenharmony_ci 'fourFingerSwipeUp' | 'fourFingerSwipeDown' | 'fourFingerSwipeLeft' | 'fourFingerSwipeRight'; 187885b47fbSopenharmony_ci 188885b47fbSopenharmony_ci/** 189885b47fbSopenharmony_ci * Indicates the page update type. 190885b47fbSopenharmony_ci * 191885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 192885b47fbSopenharmony_ci * @since 9 193885b47fbSopenharmony_ci */ 194885b47fbSopenharmony_citype PageUpdateType = 'pageContentUpdate' | 'pageStateUpdate'; 195885b47fbSopenharmony_ci 196885b47fbSopenharmony_ci/** 197885b47fbSopenharmony_ci * Indicates the type of touch event during touch browsing. 198885b47fbSopenharmony_ci * 199885b47fbSopenharmony_ci * @syscap SystemCapability.BarrierFree.Accessibility.Core 200885b47fbSopenharmony_ci * @since 9 201885b47fbSopenharmony_ci */ 202885b47fbSopenharmony_citype TouchGuideType = 'touchBegin' | 'touchEnd';