0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-06-22 10:12 次阅读

辅助功能

说明: 本模块首批接口从 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 有数据返回。HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿

    搜狗高速浏览器截图20240326151547.png

  • 示例

    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))
    })
    
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 接口
    +关注

    关注

    33

    文章

    8435

    浏览量

    150687
  • API
    API
    +关注

    关注

    2

    文章

    1470

    浏览量

    61732
  • 开发系统
    +关注

    关注

    0

    文章

    38

    浏览量

    9660
  • 鸿蒙
    +关注

    关注

    57

    文章

    2301

    浏览量

    42668
收藏 人收藏

    评论

    相关推荐

    鸿蒙实战项目开发:【短信服务】

    岗位需要掌握那些核心技术点?为此鸿蒙开发学习必须要系统性的进行。 而网上有关鸿蒙开发资料非常的少,假如你想学好
    发表于 03-03 21:29

    HarmonyOS NEXT应用元服务开发Accessibility(信息无障碍)介绍

    方面的数字鸿沟,使其更加方便地参与社会生活,享受数字发展带来的便利。 Accessibility Kit(无障碍服务)提供应用适配无障碍的开放能力,以便应用可以更好的服务于障碍人群和障碍场景,如为组件
    发表于 10-09 10:29

    HarmonyOS NEXT应用元服务开发控件位置调整场景与重新设置新焦点位置的场景

    accessibility from \'@ohos.accessibility\'; let eventInfo: accessibility.EventInfo = ({ type
    发表于 10-25 09:49

    HarmonyOS NEXT应用元服务开发内容动态变化场景

    提供的主动朗读接口进行播报。 import accessibility from \'@ohos.accessibility\'; let eventInfo
    发表于 10-29 10:52

    鸿蒙Java API中aafwk是什么概念?有什么用途?

    1、鸿蒙Java API中的说明中aafwk是什么概念?什么文档的缩写?用途是什么?如ohos.aafwk.ability2、和ohos.accessibility.ability这一类,没有aafwk的部分API有什么区别?
    发表于 05-13 10:06

    HarmonyOS/OpenHarmony应用开发-ArkTSAPI系统能力SystemCapability列表

    SystemCapability.BarrierFree.Accessibility.Core:提供开发辅助应用的能力 SystemCapability.BarrierFree.
    发表于 08-11 10:08

    鸿蒙原生应用/元服务开发-Stage模型能力接口(一)

    : AbilityConstant.MemoryLevel): void; 当系统已决定调整内存时调用。例如,当该功能在后台运行时,没有足够的内存来运行尽可能多的后台进程时可以使用。 系统能力
    发表于 12-08 16:34

    鸿蒙原生应用/元服务开发-Stage模型能力接口(二)

    系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core2.AbilityConstant.LaunchReas
    发表于 12-11 14:48

    鸿蒙原生应用/元服务开发-Stage模型能力接口(四)

    ‘@ohos.app.ability.AbilityStage’; 1.AbilityStage.onCreate onCreate(): void 当应用创建时调用。 系统能力
    发表于 12-14 15:39

    鸿蒙原生应用/元服务开发-Stage模型能力接口(五)

    在Stage模型下使用 二、 导入模块 import common from \'@ohos.app.ability.common\'; 三、系统能力 :以下各项对应的系统
    发表于 12-15 15:11

    什么是Accessibility

    什么是Accessibility  英文缩写: Accessibility 中文译名: 可接入性 分  类: IP与
    发表于 02-22 09:50 571次阅读

    鸿蒙系统是基于什么开发

    设备,开发者在上面开发应用相对来说也会更简单一些。 华为鸿蒙系统采用开源的方式,源代码已经在官方公布的网站挂出。根据其源代码来看,内核基于C语言开发
    的头像 发表于 07-01 16:43 1.6w次阅读

    鸿蒙系统是基于什么开发

    争议,那么鸿蒙系统到底是基于什么开发的呢?下面小编就为大家带来鸿蒙系统是基于什么开发的答案。
    的头像 发表于 07-05 17:12 1.1w次阅读

    鸿蒙开发系统基础能力ohos.hiAppEvent应用打点

    本模块提供了应用事件打点能力,包括对打点数据的落盘,以及对打点功能的管理配置。
    的头像 发表于 06-24 11:09 407次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>系统</b>基础<b class='flag-5'>能力</b>:<b class='flag-5'>ohos</b>.hiAppEvent应用打点

    鸿蒙开发系统基础能力ohos.pasteboard 剪贴板

    以下各项对应的系统能力均为SystemCapability.MiscServices.Pasteboard。
    的头像 发表于 06-26 16:48 323次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>系统</b>基础<b class='flag-5'>能力</b>:<b class='flag-5'>ohos</b>.pasteboard 剪贴板