@ohos.application.AccessibilityExtensionAbility (辅助功能扩展能力)

AccessibilityExtensionAbility基于ExtensionAbility框架,提供辅助功能业务的能力。

说明:

  • 本模块首批接口从API version 9开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';

AccessibilityExtensionAbility

AccessibilityExtensionAbility基于ExtensionAbility框架,提供辅助功能业务的能力。

属性

系统能力:SystemCapability.BarrierFree.Accessibility.Core

名称 类型 只读 可选 说明
context AccessibilityExtensionContext 表示辅助扩展能力上下文。

AccessibilityEvent

辅助事件信息。

属性

系统能力:SystemCapability.BarrierFree.Accessibility.Core

名称 类型 只读 可选 说明
eventType accessibility.EventType | accessibility.WindowUpdateType | TouchGuideType | GestureType | PageUpdateType 具体事件类型。
EventType:无障碍事件类型;
WindowUpdateType:窗口变化类型;
TouchGuideType:触摸浏览事件类型;
GestureType:手势事件类型;
PageUpdateType:页面刷新类型。
target AccessibilityElement 发生事件的目标组件。
timeStamp number 事件时间戳,单位是毫秒。默认值为0。
elementId12+ number 主动聚焦的组件ID。默认值为0。
textAnnouncedForAccessibility12+ string 主动播报的内容。当应用需要主动播报时根据实际场景设置播报内容,无特殊限制。
extraInfo20+ string 针对TextArea、TextInput、SearchField、RichEdit组件,当文本内容有新增或删除时,携带的文本内容。根据实际场景设置,无特殊限制。

AccessibilityElement10+

type AccessibilityElement = _AccessibilityElement

表示无障碍节点元素,请参考AccessibilityElement

系统能力:SystemCapability.BarrierFree.Accessibility.Core

类型 说明
_AccessibilityElement 表示无障碍节点元素,请参考AccessibilityElement

示例:

import { AccessibilityElement } from '@kit.AccessibilityKit';

let accessibilityElement: AccessibilityElement;

ElementAttributeValues10+

type ElementAttributeValues = _ElementAttributeValues

表示节点元素具备的属性名称及属性值类型信息,请参考ElementAttributeValues

系统能力:SystemCapability.BarrierFree.Accessibility.Core

类型 说明
_ElementAttributeValues 表示节点元素具备的属性名称及属性值类型信息,请参考ElementAttributeValues

示例:

import { ElementAttributeValues } from '@kit.AccessibilityKit';

let elementAttributeValues: ElementAttributeValues;

FocusDirection10+

type FocusDirection = _FocusDirection

表示查询下一焦点元素的方向,请参考FocusDirection

系统能力:SystemCapability.BarrierFree.Accessibility.Core

类型 说明
_FocusDirection 表示查询下一焦点元素的方向,请参考FocusDirection

示例:

import { FocusDirection } from '@kit.AccessibilityKit';

let focusDirection: FocusDirection;

ElementAttributeKeys10+

type ElementAttributeKeys = keyof ElementAttributeValues

表示ElementAttributeValues的属性名称。

系统能力:SystemCapability.BarrierFree.Accessibility.Core

类型 说明
keyof ElementAttributeValues 表示ElementAttributeValues中所有属性名组成的联合类型。

示例:

import { ElementAttributeKeys } from '@kit.AccessibilityKit';

let elementAttributeKeys: ElementAttributeKeys;

FocusType10+

type FocusType = _FocusType

表示查询焦点元素的类型,请参考FocusType

系统能力:SystemCapability.BarrierFree.Accessibility.Core

类型 说明
_FocusType 表示查询焦点元素的类型,请参考FocusType

示例:

import { FocusType } from '@kit.AccessibilityKit';

let focusType: FocusType;

WindowType 10+

type WindowType = _WindowType

表示窗口的类型,请参考WindowType

系统能力:SystemCapability.BarrierFree.Accessibility.Core

类型 说明
_WindowType 表示窗口的类型,请参考WindowType

示例:

import { WindowType } from '@kit.AccessibilityKit';

let windowType: WindowType;

Rect10+

type Rect = _Rect

表示矩形区域,请参考Rect

系统能力:SystemCapability.BarrierFree.Accessibility.Core

类型 说明
_Rect 表示矩形区域,请参考Rect

示例:

import { Rect } from '@kit.AccessibilityKit';

let rect: Rect;

AccessibilityExtensionContext10+

type AccessibilityExtensionContext = _AccessibilityExtensionContext.default

表示辅助功能扩展的上下文环境,请参考AccessibilityExtensionContext

系统能力:SystemCapability.BarrierFree.Accessibility.Core

类型 说明
_AccessibilityExtensionContext.default 表示辅助功能扩展的上下文环境,请参考AccessibilityExtensionContext

示例:

import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';

class EntryAbility extends AccessibilityExtensionAbility {
  onConnect(): void {
    let axContext = this.context; 
  } 
}

GestureType

type GestureType = 'left' | 'leftThenRight' | 'leftThenUp' | 'leftThenDown' | 'right' | 'rightThenLeft' | 'rightThenUp' | 'rightThenDown' | 'up' | 'upThenLeft' | 'upThenRight' | 'upThenDown' | 'down' | 'downThenLeft' | 'downThenRight' | 'downThenUp' | 'twoFingerSingleTap' | 'twoFingerDoubleTap' | 'twoFingerDoubleTapAndHold' | 'twoFingerTripleTap' | 'twoFingerTripleTapAndHold' | 'threeFingerSingleTap' | 'threeFingerDoubleTap' | 'threeFingerDoubleTapAndHold' | 'threeFingerTripleTap' | 'threeFingerTripleTapAndHold' | 'fourFingerSingleTap' | 'fourFingerDoubleTap' | 'fourFingerDoubleTapAndHold' | 'fourFingerTripleTap' | 'fourFingerTripleTapAndHold' | 'threeFingerSwipeUp' | 'threeFingerSwipeDown' | 'threeFingerSwipeLeft' | 'threeFingerSwipeRight' | 'fourFingerSwipeUp' | 'fourFingerSwipeDown' | 'fourFingerSwipeLeft' | 'fourFingerSwipeRight' | 'oneFingerDoubleTap'

手势事件类型。

系统能力:SystemCapability.BarrierFree.Accessibility.Core

类型 说明
'left' 表示向左的手势。
'leftThenRight' 表示先向左再向右的手势。
'leftThenUp' 表示先向左再向上的手势。
'leftThenDown' 表示先向左再向下的手势。
'right' 表示向右的手势。
'rightThenLeft' 表示先向右再向左的手势。
'rightThenUp' 表示先向右再向上的手势。
'rightThenDown' 表示先向右再向下的手势。
'up' 表示向上的手势。
'upThenLeft' 表示先向上再向左的手势。
'upThenRight' 表示先向上再向右的手势。
'upThenDown' 表示先向上再向下的手势。
'down' 表示向下的手势。
'downThenLeft' 表示先向下再向左的手势。
'downThenRight' 表示先向下再向右的手势。
'downThenUp' 表示先向下再向上的手势。
'twoFingerSingleTap'11+ 表示双指单击的手势。
'twoFingerDoubleTap'11+ 表示双指双击的手势。
'twoFingerDoubleTapAndHold'11+ 表示双指双击长按的手势。
'twoFingerTripleTap'11+ 表示双指三击的手势。
'twoFingerTripleTapAndHold'11+ 表示双指三击长按的手势。
'threeFingerSingleTap'11+ 表示三指单击的手势。
'threeFingerDoubleTap'11+ 表示三指双击的手势。
'threeFingerDoubleTapAndHold'11+ 表示三指双击长按的手势。
'threeFingerTripleTap'11+ 表示三指三击的手势。
'threeFingerTripleTapAndHold'11+ 表示三指三击长按的手势。
'fourFingerSingleTap'11+ 表示四指单击的手势。
'fourFingerDoubleTap'11+ 表示四指双击的手势。
'fourFingerDoubleTapAndHold'11+ 表示四指双击长按的手势。
'fourFingerTripleTap'11+ 表示四指三击的手势。
'fourFingerTripleTapAndHold'11+ 表示四指三击长按的手势。
'threeFingerSwipeUp'11+ 表示三指向上滑动的手势。
'threeFingerSwipeDown'11+ 表示三指向下滑动的手势。
'threeFingerSwipeLeft'11+ 表示三指向左滑动的手势。
'threeFingerSwipeRight'11+ 表示三指向右滑动的手势。
'fourFingerSwipeUp'11+ 表示四指向上滑动的手势。
'fourFingerSwipeDown'11+ 表示四指向下滑动的手势。
'fourFingerSwipeLeft'11+ 表示四指向左滑动的手势。
'fourFingerSwipeRight'11+ 表示四指向右滑动的手势。
'oneFingerDoubleTap' 表示单指双击的手势。
起始版本: 26.0.0
模型约束: 此接口仅可在Stage模型下使用。

PageUpdateType

type PageUpdateType = 'pageContentUpdate' | 'pageStateUpdate'

页面刷新类型。

系统能力:SystemCapability.BarrierFree.Accessibility.Core

类型 说明
'pageContentUpdate' 表示页面内容刷新。
'pageStateUpdate' 表示页面状态刷新。

TouchGuideType

type TouchGuideType = 'touchBegin' | 'touchEnd'

触摸浏览事件类型。

系统能力:SystemCapability.BarrierFree.Accessibility.Core

类型 说明
'touchBegin' 表示触摸浏览时开始触摸。
'touchEnd' 表示触摸浏览时结束触摸。

AccessibilityExtensionAbility.onConnect(deprecated)

onConnect(): void

用户启用AccessibilityExtensionAbility时,系统服务完成连接后,回调此接口,可以该方法中执行初始化业务逻辑操作。该方法可以选择性重写。

说明:

从API version 9开始支持,从API version 12开始废弃,系统不再开放相关能力。

系统能力:SystemCapability.BarrierFree.Accessibility.Core

示例:

import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';

class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
  onConnect(): void {
    console.info('AxExtensionAbility onConnect');
  }
}

AccessibilityExtensionAbility.onDisconnect(deprecated)

onDisconnect(): void

用户停用AccessibilityExtensionAbility时,系统服务完成断开连接后,回调此接口,可以该方法中执行资源回收退出业务逻辑操作。该方法可以选择性重写。

说明:

从API version 9开始支持,从API version 12开始废弃,系统不再开放相关能力。

系统能力:SystemCapability.BarrierFree.Accessibility.Core

示例:

import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';

class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
  onDisconnect(): void {
    console.info('AxExtensionAbility onDisconnect');
  }
}

AccessibilityExtensionAbility.onAccessibilityEvent(deprecated)

onAccessibilityEvent(event: AccessibilityEvent): void

在关注的应用及事件类型对应的事件发生时回调此接口,可以在该方法中根据事件信息进行业务逻辑处理。一般情况下需要重写该方法完成业务。

说明:

从API version 9开始支持,从API version 12开始废弃,系统不再开放相关能力。

系统能力:SystemCapability.BarrierFree.Accessibility.Core

参数:

参数名 类型 必填 说明
event AccessibilityEvent 无障碍事件。无返回值。

示例:

import { AccessibilityExtensionAbility, AccessibilityEvent } from '@kit.AccessibilityKit';

class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
  onAccessibilityEvent(event: AccessibilityEvent): void {
    console.info('AxExtensionAbility onAccessibilityEvent');
    if (event.eventType === 'click') {
      console.info('AxExtensionAbility onAccessibilityEvent: click');
    }
  }
}

AccessibilityExtensionAbility.onKeyEvent(deprecated)

onKeyEvent(keyEvent: KeyEvent): boolean

在物理按键按下时回调此方法,可以在该方法中根据业务判断是否对事件进行拦截。

说明:

从API version 9开始支持,从API version 12开始废弃,系统不再开放相关能力。

系统能力:SystemCapability.BarrierFree.Accessibility.Core

参数:

参数名 类型 必填 说明
keyEvent KeyEvent 按键事件回调函数。返回true表示拦截此按键。

返回值:

类型 说明
boolean 返回true表示此事件被消费,不会继续传递。
返回false表示此事件未被消费,会继续传递。

示例:

import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';
import { KeyEvent } from '@kit.InputKit';

class MyAccessibilityExtensionAbility extends AccessibilityExtensionAbility {
  onKeyEvent(keyEvent: KeyEvent): boolean {
    console.info('AxExtensionAbility onKeyEvent');
    if (keyEvent.key.code === 16) {
      console.info('AxExtensionAbility onKeyEvent: intercept 16');
      return true;
    }
    return false;
  }
}