鸿蒙开发系统基础能力:【@ohos.accessibility (辅助功能)】

电子说

1.3w人已加入

描述

辅助功能

说明: 本模块首批接口从 API version 7 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]点击或者复制转到。

导入模块

import accessibility from '@ohos.accessibility';

AbilityState

辅助应用状态类型。

系统能力 :以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core

名称描述
enable辅助应用已启用。
disable辅助应用已禁用。
install辅助应用已安装。

AbilityType

无障碍辅助应用类型。

系统能力 :以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core

名称描述
audible表示具有听觉反馈。
generic表示具有通用反馈。
haptic表示具有触觉反馈。
spoken表示具有语音反馈。
visual表示具有视觉反馈。

AccessibilityAbilityInfo

辅助应用信息。

系统能力 :以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core

属性

名称参数类型可读可写说明
idnumberability id。
namestringability 名。
bundleNamestring包名。
abilityTypesArray<[AbilityType]>辅助应用类型。
capabilitiesArray<[Capability]>辅助应用能力列表。
descriptionstring辅助应用描述。
eventTypesArray<[EventType]>辅助应用关注的无障碍事件列表。

Action

应用所支持的目标动作。

系统能力 :以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core

名称描述
click表示点击操作。
longClick表示长按操作。
scrollForward表示向前滚动操作。
scrollBackward表示向后滚动操作。
focus表示获得焦点操作。
clearFocus表示清除焦点操作。
clearSelection表示清除选择操作。
accessibilityFocus表示获得无障碍焦点操作。
clearAccessibilityFocus表示清除无障碍焦点操作。
cut表示剪切操作。
copy表示复制操作。
paste表示粘贴操作。
select表示选择操作。
setText表示设置文本操作。
delete表示删除操作。
setSelection表示选择操作。

Capability

辅助应用能力类型。

系统能力 :以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core

名称描述
retrieve具有检索窗口内容的能力。
touchGuide具有触摸探索模式的能力。
keyEventObserver具有过滤按键事件的能力。
zoom具有控制显示放大的能力。
gesture具有执行手势动作的能力。

aptionsFontEdgeType8+

字幕字体边缘类型。

系统能力 :以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Hearing

名称描述
none无效果。
raised凸起效果。
depressed凹陷效果。
uniform轮廓效果。
dropShadow阴影效果。

CaptionsFontFamily8+

字幕字体。

系统能力 :以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Hearing

名称描述
default默认字体。
monospacedSerif等宽 Serif 字体。
serifSerif 字体。
monospacedSansSerif等宽 Sans Serif 字体。
sansSerifSans Serif 字体。
casual非正式字体。
cursive手写字体。
smallCapitals小型大写字母字体。

CaptionsStyle8+

字幕风格。

系统能力 :以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Hearing

名称参数类型可读可写说明
fontFamily[CaptionsFontFamily]描述字幕字体。
fontScalenumber描述字幕字体缩放系数。
fontColornumberstring
fontEdgeType[CaptionsFontEdgeType]描述字幕字体边缘。
backgroundColornumberstring
windowColornumberstring

CaptionsManager8+

字幕配置。

属性

名称参数类型可读可写说明
enabledboolean表示是否启用字幕配置。
style[CaptionsStyle]表示字幕风格。

方法

下列 API 示例中都需要使用 [accessibility.getCaptionsManager()]获取 captionsManager 实例,再通过此实例调用对应的方法。

on('enableChange')

on(type: 'enableChange', callback: Callback): void;

注册字幕配置启用的监听函数。

系统能力 :SystemCapability.Barrierfree.Accessibility.Hearing

  • 参数:

    参数名参数类型必填说明
    typestring监听字幕配置启用状态。
    callbackCallback回调函数,在启用状态变化时将状态通过此函数进行通知。
  • 示例

    captionsManager.on('enableChange',(data) = > {
        console.info('success data:subscribeStateObserver : ' + JSON.stringify(data))
    })
    

on('styleChange')

on(type: 'styleChange', callback: Callback): void;

注册字幕风格变化的监听函数。

系统能力 :SystemCapability.Barrierfree.Accessibility.Hearing

  • 参数:

    参数名参数类型必填说明
    typestring监听字幕风格变化。
    callbackCallback<[CaptionsStyle]>回调函数,在字幕风格变化时通过此函数进行通知。
  • 示例

    captionsManager.on('styleChange',(data) = > {
        console.info('success data:subscribeStateObserver : ' + JSON.stringify(data))
    })
    

off('enableChange')

off(type: 'enableChange', callback?: Callback): void;

移除字幕配置启用的监听函数。

系统能力 :SystemCapability.Barrierfree.Accessibility.Hearing

  • 参数:

    参数名参数类型必填说明
    typestring监听字幕配置启用状态。
    callbackCallback回调函数,在启用状态变化时将状态通过此函数进行通知。
  • 示例

    captionsManager.off('enableChange')
    

off('styleChange')

off(type: 'styleChange', callback?: Callback): void;

移除字幕风格变化的监听函数。

系统能力 :SystemCapability.Barrierfree.Accessibility.Hearing

  • 参数:

    参数名参数类型必填说明
    typestring字幕风格变化。
    callbackCallback<[CaptionsStyle]>回调函数,在字幕风格变化时通过此函数进行通知。
  • 示例

    captionsManager.off('styleChange')
    

EventInfo

界面变更事件。

系统能力 :以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core

属性

名称参数类型可读可写说明
type[EventType]无障碍事件类型。
windowUpdateType[WindowUpdateType]窗口变化类型。
bundleNamestring目标应用名。
componentTypestring事件源组件类型,如按钮、图表。
pageIdnumber事件源的页面 ID。
descriptionstring事件描述。
triggerAction[Action]触发事件的 Action。
textMoveUnit[TextMoveUnit]文本移动粒度。
contentsArray内容列表。
lastContentstring最新内容。
beginIndexnumber画面显示条目的开始序号。
currentIndexnumber当前条目序号。
endIndexnumber画面显示条目的结束序号。
itemCountnumber条目总数。

方法

constructor

constructor(jsonObject)

构造函数。

  • 参数:

    参数名参数类型必填说明
    jsonObjectstring创建对象所需要的 JSON 格式字符串。
  • 示例

    let eventInfo = new accessibility.EventInfo({"type":"click","bundleName":"com.example.MyApplication","triggerAction":"click"})
    

EventType

无障碍事件类型。

系统能力 :以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core

名称描述
click描述点击组件的事件。
longClick描述长按组件的事件。
select描述选择组件的事件。
focus描述组件获得焦点的事件。
textUpdate描述组件文本已更改的事件。
hoverEnter描述悬停进入组件的事件。
hoverExit描述悬停离开组件的事件。
scroll描述滚动视图的事件。
textSelectionUpdate描述选定文本已更改的事件。
accessibilityFocus描述获得无障碍焦点的事件。
accessibilityFocusClear描述清除无障碍焦点的事件。

TextMoveUnit

文本无障碍导航移动粒度。

系统能力 :以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core

名称描述
char以字符为移动粒度遍历节点文本。
word以词为移动粒度遍历节点文本。
line以行为移动粒度遍历节点文本。
page以页为移动粒度遍历节点文本。
paragraph以段落为移动粒度遍历节点文本。

WindowUpdateType

窗口变化类型。

系统能力 :以下各项对应的系统能力均为 SystemCapability.Barrierfree.Accessibility.Core

名称描述
add添加窗口的窗口变化事件。
remove一个窗口被删除的窗口变化事件。
bounds窗口边界已更改的窗口变化事件。
active窗口变为活动或不活动的窗口变化事件。
focus窗口焦点发生变化的窗口变化事件。

accessibility.getAbilityLists

getAbilityLists(abilityType: AbilityType, stateType: AbilityState): Promise>

查询辅助应用列表。

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

  • 参数:

    参数名参数类型必填说明
    abilityType[AbilityType]辅助应用的类型。
    stateType[AbilityState]辅助应用的状态。
  • 返回值:

    类型说明
    Promise>返回辅助应用信息列表。
  • 示例

    accessibility.getAbilityLists("spoken", "enable")
        .then((data) = > {
            console.info('success data:getAbilityList1 : ' + JSON.stringify(data));
            for (let item of data) {
                console.info(item.id);
                console.info(item.name);
                console.info(item.description);
                console.info(item.abilityTypes);
                console.info(item.eventTypes);
                console.info(item.capabilities);
                console.info(item.packageName);
                console.info(item.filterBundleNames);
                console.info(item.bundleName);
            }
        }).catch((error) = > {
            console.error('failed to  getAbilityList1 because ' + JSON.stringify(error));
        })
    

accessibility.getAbilityLists

getAbilityLists(abilityType: AbilityType, stateType: AbilityState,callback: AsyncCallback>): void

查询辅助应用列表。

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

  • 参数:

    参数名参数类型必填说明
    abilityType[AbilityType]辅助应用的类型。
    stateType[AbilityState]辅助应用的状态。
    callbackAsyncCallback>回调函数,返回辅助应用信息列表。
  • 示例

    accessibility.getAbilityLists("visual", "enable", (err, data) = > {
        if (err) {
            console.error('failed to getAbilityList2 because ' + JSON.stringify(err));
            return;
        }
        console.info('success data:getAbilityList2 : ' + JSON.stringify(data));
        for (let item of data) {
            console.info(item.id);
            console.info(item.name);
            console.info(item.description);
            console.info(item.abilityTypes);
            console.info(item.eventTypes);
            console.info(item.capabilities);
            console.info(item.packageName);
            console.info(item.filterBundleNames);
            console.info(item.bundleName);
        }
    })
    

accessibility.getCaptionsManager8+

getCaptionsManager(): CaptionsManager

获取无障碍字幕配置。

系统能力 :SystemCapability.Barrierfree.Accessibility.Hearing

  • 返回值:

    类型说明
    [CaptionsManager]无障碍字幕配置管理。
  • 示例

    captionsManager = accessibility.getCaptionsManager()
    

accessibility.on('accessibilityStateChange' | 'touchGuideStateChange')

on(type: 'accessibilityStateChange' | 'touchGuideStateChange', callback: Callback): void

启用辅助应用和触摸浏览功能的状态变化监听。

系统能力 :以下各项对应的系统能力有所不同,详见下表。

  • 参数:

    参数名参数类型必填说明
    typestring监听的事件类型。 - type 为'accessibilityStateChange'时表示监听类型为辅助功能启用状态变化监听; 系统能力 :SystemCapability.Barrierfree.Accessibility.Core - type 为'touchGuideStateChange'时表示监听类型为触摸浏览启用状态变化监听。 系统能力 :SystemCapability.Barrierfree.Accessibility.Vision
    callbackCallback回调函数,在启用状态变化时将状态通过此函数进行通知。
  • 示例

    accessibility.on('accessibilityStateChange',(data) = > { 
        console.info('success data:subscribeStateObserver : ' + JSON.stringify(data))
    })
    

accessibility.off('accessibilityStateChange' | 'touchGuideStateChange')

off(type: ‘accessibilityStateChange ’ | ‘touchGuideStateChange’, callback?: Callback): void

关闭辅助应用和触摸浏览功能的状态变化监听。

系统能力 :以下各项对应的系统能力有所不同,详见下表。

  • 参数:

    参数名参数类型必填说明
    typestring监听的事件类型。 - type 为'accessibilityStateChange'时表示监听类型为辅助功能启用状态变化监听; 系统能力 :SystemCapability.Barrierfree.Accessibility.Core - type 为'touchGuideStateChange'时表示监听类型为触摸浏览启用状态变化监听。 系统能力 :SystemCapability.Barrierfree.Accessibility.Vision
    callbackCallback要取消的监听回调函数。
  • 示例

    accessibility.off('accessibilityStateChange',(data) = > {
        console.info('success data:unSubscribeStateObserver : ' + JSON.stringify(data))
    })
    

accessibility.isOpenAccessibility

isOpenAccessibility(): Promise

判断是否启用了辅助功能。

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

  • 返回值:

    类型说明
    Promise如果辅助功能已启用,则返回 true;否则返回 false。
  • 示例

    accessibility.isOpenAccessibility()
        .then((data) = > {
            console.info('success data:isOpenAccessibility : ' + JSON.stringify(data))
        }).catch((error) = > {
            console.error('failed to  isOpenAccessibility because ' + JSON.stringify(error));
        })
    

accessibility.isOpenAccessibility

isOpenAccessibility(callback: AsyncCallback): void

判断是否启用了辅助功能。

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

  • 参数

    参数名参数类型必填说明
    callbackAsyncCallback回调函数,如果辅助功能已启用,则返回 true;否则返回 false。
  • 示例

    accessibility.isOpenAccessibility((err, data) = > {
        if (err) {
            console.error('failed to isOpenAccessibility because ' + JSON.stringify(err));
            return;
        }
        console.info('success data:isOpenAccessibility : ' + JSON.stringify(data))
    })
    

accessibility.isOpenTouchGuide

isOpenTouchGuide(): Promise

判断触摸浏览模式是否开启。

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

  • 返回值:

    类型说明
    Promise如果触摸浏览模式已开启,则返回 true;否则返回 false。
  • 示例

    accessibility.isOpenTouchGuide()
        .then((data) = > {
            console.info('success data:isOpenTouchGuide : ' + JSON.stringify(data))
        }).catch((error) = > {
            console.error('failed to  isOpenTouchGuide because ' + JSON.stringify(error));
        })
    

accessibility.isOpenTouchGuide

isOpenTouchGuide(callback: AsyncCallback): void

判断触摸浏览模式是否开启。

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

  • 参数

    参数名参数类型必填说明
    callbackAsyncCallback回调函数,如果触摸浏览模式已开启,则返回 true;否则返回 false。
  • 示例

    accessibility.isOpenTouchGuide((err, data) = > {
        if (err) {
            console.error('failed to isOpenTouchGuide because ' + JSON.stringify(err));
            return;
        }
        console.info('success data:isOpenTouchGuide : ' + JSON.stringify(data))
    })
    

accessibility.sendEvent

sendEvent(event: EventInfo): Promise

发送无障碍事件。

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

  • 参数:

    参数名参数类型必填说明
    event[EventInfo]无障碍事件对象。
  • 返回值:

    类型说明
    Promise以 Promise 形式返回结果,如果发送无障碍事件成功,则 data 有数据返回;如果发送无障碍事件失败,则 err 有数据返回。
  • 示例

    accessibility.sendEvent(this.eventInfo)
        .then((data) = > {
            console.info('success data:sendEvent : ' + JSON.stringify(data))
        }).catch((error) = > {
            console.error('failed to  sendEvent because ' + JSON.stringify(error));
        })
    

accessibility.sendEvent

sendEvent(event: EventInfo, callback: AsyncCallback): void

发送无障碍事件。

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

  • 参数:

    参数名参数类型必填说明
    event[EventInfo]辅助事件对象。
    callbackAsyncCallback回调函数,如果发送无障碍事件成功,则 AsyncCallback 中 data 有数据返回;如果发送无障碍事件失败,则 AsyncCallback 中 err 有数据返回。HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿

    开发系统

  • 示例

    accessibility.sendEvent(this.eventInfo,(err, data) = > {
        if (err) {
            console.error('failed to sendEvent because ' + JSON.stringify(err));
            return;
        }   
        console.info('success data:sendEvent : ' + JSON.stringify(data))
    })
    
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分