# @ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力) AccessibilityExtensionAbility基于ExtensionAbility框架,æä¾›è¾…助功能业务的能力。 > **说明:** > > - 本模å—首批接å£ä»ŽAPI version 9开始支æŒï¼ŒåŽç»ç‰ˆæœ¬çš„æ–°å¢žæŽ¥å£ï¼Œé‡‡ç”¨ä¸Šè§’æ ‡å•ç‹¬æ ‡è®°æŽ¥å£çš„起始版本。 ## å¯¼å…¥æ¨¡å— ```ts import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; ``` ### 属性 **系统能力**:SystemCapability.BarrierFree.Accessibility.Core | åç§° | 类型 | å¯è¯» | å¯å†™ | 说明 | | ------- |---------------------------------------------------------------------------------------------| ---- | ---- | ------------ | | context | [AccessibilityExtensionContext](js-apis-inner-application-accessibilityExtensionContext.md) | 是 | å¦ | 表示辅助扩展能力上下文。 | ## AccessibilityEvent 辅助事件信æ¯ã€‚ **系统能力**:以下å„项对应的系统能力å‡ä¸º SystemCapability.BarrierFree.Accessibility.Core ### 属性 | åç§° | 类型 | å¯è¯» | å¯å†™ | 说明 | | --------- |----------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------| ------------------------------------------------------------ | | eventType | [accessibility.EventType](js-apis-accessibility.md#eventtype) \| [accessibility.WindowUpdateType](js-apis-accessibility.md#windowupdatetype) \| [TouchGuideType](#touchguidetype) \| [GestureType](#gesturetype) \| [PageUpdateType](#pageupdatetype) | 是 | å¦ | 具体事件类型。<br />EventTypeï¼šæ— éšœç¢äº‹ä»¶ç±»åž‹ï¼›<br />WindowUpdateType:窗å£å˜åŒ–类型;TouchGuideType:触摸æµè§ˆäº‹ä»¶ç±»åž‹ï¼›<br />GestureType:手势事件类型;<br />PageUpdateType:页é¢åˆ·æ–°ç±»åž‹ã€‚ | | target | [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9) | 是 | å¦ | å‘ç”Ÿäº‹ä»¶çš„ç›®æ ‡ç»„ä»¶ã€‚ | | timeStamp | number | 是 | å¦ | 事件时间戳,å•使˜¯æ¯«ç§’。 | | elementId<sup>12+</sup> | number | 是 | å¦ | 主动èšç„¦çš„组件ID。 | | textAnnouncedForAccessibility<sup>12+</sup> | string | 是 | å¦ | ä¸»åŠ¨æ’æŠ¥çš„å†…å®¹ã€‚ | ## AccessibilityElement<sup>10+</sup> [AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9)äºŒçº§æ¨¡å— **系统能力**:SystemCapability.BarrierFree.Accessibility.Core **示例:** ```ts import { AccessibilityElement } from '@kit.AccessibilityKit'; let accessibilityElement: AccessibilityElement; ``` ## ElementAttributeValues<sup>10+</sup> [ElementAttributeValues](js-apis-inner-application-accessibilityExtensionContext.md#elementattributevalues)äºŒçº§æ¨¡å— **系统能力**:SystemCapability.BarrierFree.Accessibility.Core **示例:** ```ts import { ElementAttributeValues } from '@kit.AccessibilityKit'; let elementAttributeValues: ElementAttributeValues; ``` ## FocusDirection<sup>10+</sup> [FocusDirection](js-apis-inner-application-accessibilityExtensionContext.md#focusdirection)二级模å—ï¼Œè¡¨ç¤ºæŸ¥è¯¢ä¸‹ä¸€ç„¦ç‚¹å…ƒç´ çš„æ–¹å‘。 **系统能力**:SystemCapability.BarrierFree.Accessibility.Core **示例:** ```ts import { FocusDirection } from '@kit.AccessibilityKit'; let focusDirection: FocusDirection; ``` ## ElementAttributeKeys<sup>10+</sup> **系统能力**:SystemCapability.BarrierFree.Accessibility.Core | åç§° | 类型 | å¯è¯» | å¯å†™ | 说明 | | ------- |----------------------------------------------------------------------------------------------------------------------| ---- | ---- |----------------------------------------------------| | ElementAttributeKeys | keyof [ElementAttributeValues](js-apis-inner-application-accessibilityExtensionContext.md#elementattributevalues) | 是 | å¦ | 表示ElementAttributeValuesçš„key。 | **示例:** ```ts import { ElementAttributeKeys } from '@kit.AccessibilityKit'; let elementAttributeKeys: ElementAttributeKeys; ``` ## FocusType<sup>10+</sup> [FocusType](js-apis-inner-application-accessibilityExtensionContext.md#focustype)二级模å—ï¼Œè¡¨ç¤ºæŸ¥è¯¢ç„¦ç‚¹å…ƒç´ çš„ç±»åž‹ã€‚ **系统能力**:SystemCapability.BarrierFree.Accessibility.Core **示例:** ```ts import { FocusType } from '@kit.AccessibilityKit'; let focusType: FocusType; ``` ## WindowType <sup>10+</sup> [WindowType](js-apis-inner-application-accessibilityExtensionContext.md#windowtype)二级模å—,表示窗å£çš„类型。 **系统能力**:SystemCapability.BarrierFree.Accessibility.Core **示例:** ```ts import { WindowType } from '@kit.AccessibilityKit'; let windowType: WindowType; ``` ## Rect<sup>10+</sup> [Rect](js-apis-inner-application-accessibilityExtensionContext.md#rect)二级模å—,表示矩形区域。 **系统能力**:SystemCapability.BarrierFree.Accessibility.Core **示例:** ```ts import { Rect } from '@kit.AccessibilityKit'; let rect: Rect; ``` ## GestureType 手势事件类型。 **系统能力**:以下å„项对应的系统能力å‡ä¸º SystemCapability.BarrierFree.Accessibility.Core | åç§° | 类型 | æè¿° | | ------------- | ------------- | ------------------- | | left | string | 表示å‘左的手势。 | | leftThenRight | string | 表示先å‘å·¦å†å‘å³çš„æ‰‹åŠ¿ã€‚ | | leftThenUp | string | 表示先å‘å·¦å†å‘上的手势。 | | leftThenDown | string | 表示先å‘å·¦å†å‘下的手势。 | | right | string | 表示å‘å³çš„æ‰‹åŠ¿ã€‚ | | rightThenLeft | string | 表示先å‘å³å†å‘左的手势。 | | rightThenUp | string | 表示先å‘å³å†å‘上的手势。 | | rightThenDown | string | 表示先å‘å³å†å‘下的手势。 | | up | string | 表示å‘上的手势。 | | upThenLeft | string | 表示先å‘上å†å‘左的手势。 | | upThenRight | string | 表示先å‘上å†å‘å³çš„æ‰‹åŠ¿ã€‚ | | upThenDown | string | 表示先å‘上å†å‘下的手势。 | | down | string | 表示å‘下的手势。 | | downThenLeft | string | 表示先å‘下å†å‘左的手势。 | | downThenRight | string | 表示先å‘下å†å‘å³çš„æ‰‹åŠ¿ã€‚ | | downThenUp | string | 表示先å‘下å†å‘上的手势。 | | twoFingerSingleTap<sup>11+</sup> | string | è¡¨ç¤ºåŒæŒ‡å•击的手势。 | | twoFingerDoubleTap<sup>11+</sup> | string | è¡¨ç¤ºåŒæŒ‡åŒå‡»çš„æ‰‹åŠ¿ã€‚ | | twoFingerDoubleTapAndHold<sup>11+</sup> | string | è¡¨ç¤ºåŒæŒ‡åŒå‡»é•¿æŒ‰çš„æ‰‹åŠ¿ã€‚ | | twoFingerTripleTap<sup>11+</sup> | string | è¡¨ç¤ºåŒæŒ‡ä¸‰å‡»çš„æ‰‹åŠ¿ã€‚ | | twoFingerTripleTapAndHold<sup>11+</sup> | string | è¡¨ç¤ºåŒæŒ‡ä¸‰å‡»é•¿æŒ‰çš„æ‰‹åŠ¿ã€‚ | | threeFingerSingleTap<sup>11+</sup> | string | 表示三指å•击的手势。 | | threeFingerDoubleTap<sup>11+</sup> | string | 表示三指åŒå‡»çš„æ‰‹åŠ¿ã€‚ | | threeFingerDoubleTapAndHold<sup>11+</sup> | string | 表示三指åŒå‡»é•¿æŒ‰çš„æ‰‹åŠ¿ã€‚ | | threeFingerTripleTap<sup>11+</sup> | string | 表示三指三击的手势。 | | threeFingerTripleTapAndHold<sup>11+</sup> | string | 表示三指三击长按的手势。 | | fourFingerSingleTap<sup>11+</sup> | string | 表示四指å•击的手势。 | | fourFingerDoubleTap<sup>11+</sup> | string | 表示四指åŒå‡»çš„æ‰‹åŠ¿ã€‚ | | fourFingerDoubleTapAndHold<sup>11+</sup> | string | 表示四指åŒå‡»é•¿æŒ‰çš„æ‰‹åŠ¿ã€‚ | | fourFingerTripleTap<sup>11+</sup> | string | 表示四指三击的手势。 | | fourFingerTripleTapAndHold<sup>11+</sup> | string | 表示四指三击长按的手势。 | | threeFingerSwipeUp<sup>11+</sup> | string | 表示三指å‘上滑动的手势。 | | threeFingerSwipeDown<sup>11+</sup> | string | 表示三指å‘下滑动的手势。 | | threeFingerSwipeLeft<sup>11+</sup> | string | 表示三指å‘左滑动的手势。 | | threeFingerSwipeRight<sup>11+</sup> | string | 表示三指å‘峿»‘动的手势。 | | fourFingerSwipeUp<sup>11+</sup> | string | 表示四指å‘上滑动的手势。 | | fourFingerSwipeDown<sup>11+</sup> | string | 表示四指å‘下滑动的手势。 | | fourFingerSwipeLeft<sup>11+</sup> | string | 表示四指å‘左滑动的手势。 | | fourFingerSwipeRight<sup>11+</sup> | string | 表示四指å‘峿»‘动的手势。 | ## PageUpdateType type PageUpdateType = 'pageContentUpdate' | 'pageStateUpdate' 页é¢åˆ·æ–°ç±»åž‹ã€‚ **系统能力**:以下å„项对应的系统能力å‡ä¸º SystemCapability.BarrierFree.Accessibility.Core | 类型 | 说明 | | ----------------- | ---------------- | | 'pageContentUpdate' | 表示页é¢å†…容刷新。 | | 'pageStateUpdate' | 表示页é¢å†…容刷新。 | ## TouchGuideType TouchGuideType = 'touchBegin' | 'touchEnd' 触摸æµè§ˆäº‹ä»¶ç±»åž‹ã€‚ **系统能力**:以下å„项对应的系统能力å‡ä¸º SystemCapability.BarrierFree.Accessibility.Core | 类型 | 说明 | | ---------- | ------------------- | | 'touchBegin' | 表示触摸æµè§ˆæ—¶å¼€å§‹è§¦æ‘¸ã€‚ | | 'touchEnd' | 表示触摸æµè§ˆæ—¶ç»“æŸè§¦æ‘¸ã€‚ | ## AccessibilityExtensionAbility.onConnect<sup>(deprecated)</sup> onConnect(): void; 用户å¯ç”¨AccessibilityExtensionAbility时,系统æœåŠ¡å®Œæˆè¿žæŽ¥åŽï¼Œå›žè°ƒæ¤æŽ¥å£ï¼Œå¯ä»¥è¯¥æ–¹æ³•䏿‰§è¡Œåˆå§‹åŒ–业务逻辑æ“作。该方法å¯ä»¥é€‰æ‹©æ€§é‡å†™ã€‚ > **说明:** > > 从API version 12开始废弃。 **系统能力**:SystemCapability.BarrierFree.Accessibility.Core **示例:** ```ts import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { onConnect(): void { console.log('AxExtensionAbility onConnect'); } } ``` ## AccessibilityExtensionAbility.onDisconnect<sup>(deprecated)</sup> onDisconnect(): void; 用户åœç”¨AccessibilityExtensionAbility时,系统æœåŠ¡å®Œæˆæ–开连接åŽï¼Œå›žè°ƒæ¤æŽ¥å£ï¼Œå¯ä»¥è¯¥æ–¹æ³•䏿‰§è¡Œèµ„æºå›žæ”¶é€€å‡ºä¸šåŠ¡é€»è¾‘æ“作。该方法å¯ä»¥é€‰æ‹©æ€§é‡å†™ã€‚ > **说明:** > > 从API version 12开始废弃。 **系统能力**:SystemCapability.BarrierFree.Accessibility.Core **示例:** ```ts import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit'; class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { onDisconnect(): void { console.log('AxExtensionAbility onDisconnect'); } } ``` ## AccessibilityExtensionAbility.onAccessibilityEvent<sup>(deprecated)</sup> onAccessibilityEvent(event: AccessibilityEvent): void; 在关注的应用åŠäº‹ä»¶ç±»åž‹å¯¹åº”的事件å‘ç”Ÿæ—¶å›žè°ƒæ¤æŽ¥å£ï¼Œå¯ä»¥åœ¨è¯¥æ–¹æ³•䏿 ¹æ®äº‹ä»¶ä¿¡æ¯è¿›è¡Œä¸šåŠ¡é€»è¾‘å¤„ç†ã€‚一般情况下需è¦é‡å†™è¯¥æ–¹æ³•完æˆä¸šåŠ¡ã€‚ > **说明:** > > 从API version 12开始废弃。 **系统能力**:SystemCapability.BarrierFree.Accessibility.Core **傿•°ï¼š** | 傿•°å | 类型 | å¿…å¡« | 说明 | | ----- | ---------------------------------------- | ---- | --------------- | | event | [AccessibilityEvent](#accessibilityevent) | 是 | æ— éšœç¢äº‹ä»¶å›žè°ƒå‡½æ•°ã€‚æ— è¿”å›žå€¼ã€‚ | **示例:** ```ts import { AccessibilityExtensionAbility, AccessibilityEvent } from '@kit.AccessibilityKit'; class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility { onAccessibilityEvent(event: AccessibilityEvent): void { console.log('AxExtensionAbility onAccessibilityEvent'); if (event.eventType === 'click') { console.log('AxExtensionAbility onAccessibilityEvent: click'); } } } ``` ## AccessibilityExtensionAbility.onKeyEvent<sup>(deprecated)</sup> onKeyEvent(keyEvent: KeyEvent): boolean; åœ¨ç‰©ç†æŒ‰é”®æŒ‰ä¸‹æ—¶å›žè°ƒæ¤æ–¹æ³•,å¯ä»¥åœ¨è¯¥æ–¹æ³•䏿 ¹æ®ä¸šåŠ¡åˆ¤æ–æ˜¯å¦å¯¹äº‹ä»¶è¿›è¡Œæ‹¦æˆªã€‚ > **说明:** > > 从API version 12开始废弃。 **系统能力**: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 { onKeyEvent(keyEvent: KeyEvent): boolean { console.log('AxExtensionAbility onKeyEvent'); if (keyEvent.key.code === 16) { console.log('AxExtensionAbility onKeyEvent: intercept 16'); return true; } return false; } } ```