輔助功能
說明: 本模塊首批接口從 API version 7 開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。 開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]點擊或者復(fù)制轉(zhuǎn)到。
導(dǎo)入模塊
import accessibility from '@ohos.accessibility';
AbilityState
輔助應(yīng)用狀態(tài)類型。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為 SystemCapability.Barrierfree.Accessibility.Core
名稱 | 描述 |
---|---|
enable | 輔助應(yīng)用已啟用。 |
disable | 輔助應(yīng)用已禁用。 |
install | 輔助應(yīng)用已安裝。 |
AbilityType
無障礙輔助應(yīng)用類型。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為 SystemCapability.Barrierfree.Accessibility.Core
名稱 | 描述 |
---|---|
audible | 表示具有聽覺反饋。 |
generic | 表示具有通用反饋。 |
haptic | 表示具有觸覺反饋。 |
spoken | 表示具有語音反饋。 |
visual | 表示具有視覺反饋。 |
AccessibilityAbilityInfo
輔助應(yīng)用信息。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為 SystemCapability.Barrierfree.Accessibility.Core
屬性
名稱 | 參數(shù)類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
id | number | 是 | 否 | ability id。 |
name | string | 是 | 否 | ability 名。 |
bundleName | string | 是 | 否 | 包名。 |
abilityTypes | Array<[AbilityType]> | 是 | 否 | 輔助應(yīng)用類型。 |
capabilities | Array<[Capability]> | 是 | 否 | 輔助應(yīng)用能力列表。 |
description | string | 是 | 否 | 輔助應(yīng)用描述。 |
eventTypes | Array<[EventType]> | 是 | 否 | 輔助應(yīng)用關(guān)注的無障礙事件列表。 |
Action
應(yīng)用所支持的目標動作。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為 SystemCapability.Barrierfree.Accessibility.Core
名稱 | 描述 |
---|---|
click | 表示點擊操作。 |
longClick | 表示長按操作。 |
scrollForward | 表示向前滾動操作。 |
scrollBackward | 表示向后滾動操作。 |
focus | 表示獲得焦點操作。 |
clearFocus | 表示清除焦點操作。 |
clearSelection | 表示清除選擇操作。 |
accessibilityFocus | 表示獲得無障礙焦點操作。 |
clearAccessibilityFocus | 表示清除無障礙焦點操作。 |
cut | 表示剪切操作。 |
copy | 表示復(fù)制操作。 |
paste | 表示粘貼操作。 |
select | 表示選擇操作。 |
setText | 表示設(shè)置文本操作。 |
delete | 表示刪除操作。 |
setSelection | 表示選擇操作。 |
Capability
輔助應(yīng)用能力類型。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為 SystemCapability.Barrierfree.Accessibility.Core
名稱 | 描述 |
---|---|
retrieve | 具有檢索窗口內(nèi)容的能力。 |
touchGuide | 具有觸摸探索模式的能力。 |
keyEventObserver | 具有過濾按鍵事件的能力。 |
zoom | 具有控制顯示放大的能力。 |
gesture | 具有執(zhí)行手勢動作的能力。 |
aptionsFontEdgeType8+
字幕字體邊緣類型。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為 SystemCapability.Barrierfree.Accessibility.Hearing
名稱 | 描述 |
---|---|
none | 無效果。 |
raised | 凸起效果。 |
depressed | 凹陷效果。 |
uniform | 輪廓效果。 |
dropShadow | 陰影效果。 |
CaptionsFontFamily8+
字幕字體。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為 SystemCapability.Barrierfree.Accessibility.Hearing
名稱 | 描述 |
---|---|
default | 默認字體。 |
monospacedSerif | 等寬 Serif 字體。 |
serif | Serif 字體。 |
monospacedSansSerif | 等寬 Sans Serif 字體。 |
sansSerif | Sans Serif 字體。 |
casual | 非正式字體。 |
cursive | 手寫字體。 |
smallCapitals | 小型大寫字母字體。 |
CaptionsStyle8+
字幕風格。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為 SystemCapability.Barrierfree.Accessibility.Hearing
名稱 | 參數(shù)類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
fontFamily | [CaptionsFontFamily] | 是 | 否 | 描述字幕字體。 |
fontScale | number | 是 | 否 | 描述字幕字體縮放系數(shù)。 |
fontColor | number | string | 是 | 否 |
fontEdgeType | [CaptionsFontEdgeType] | 是 | 否 | 描述字幕字體邊緣。 |
backgroundColor | number | string | 是 | 否 |
windowColor | number | string | 是 | 否 |
CaptionsManager8+
字幕配置。
屬性
名稱 | 參數(shù)類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
enabled | boolean | 是 | 否 | 表示是否啟用字幕配置。 |
style | [CaptionsStyle] | 是 | 否 | 表示字幕風格。 |
方法
下列 API 示例中都需要使用 [accessibility.getCaptionsManager()]獲取 captionsManager 實例,再通過此實例調(diào)用對應(yīng)的方法。
on('enableChange')
on(type: 'enableChange', callback: Callback): void;
注冊字幕配置啟用的監(jiān)聽函數(shù)。
系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Hearing
參數(shù):
參數(shù)名 參數(shù)類型 必填 說明 type string 是 監(jiān)聽字幕配置啟用狀態(tài)。 callback Callback 是 回調(diào)函數(shù),在啟用狀態(tài)變化時將狀態(tài)通過此函數(shù)進行通知。 示例
captionsManager.on('enableChange',(data) = > { console.info('success data:subscribeStateObserver : ' + JSON.stringify(data)) })
on('styleChange')
on(type: 'styleChange', callback: Callback): void;
注冊字幕風格變化的監(jiān)聽函數(shù)。
系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Hearing
參數(shù):
參數(shù)名 參數(shù)類型 必填 說明 type string 是 監(jiān)聽字幕風格變化。 callback Callback<[CaptionsStyle]> 是 回調(diào)函數(shù),在字幕風格變化時通過此函數(shù)進行通知。 示例
captionsManager.on('styleChange',(data) = > { console.info('success data:subscribeStateObserver : ' + JSON.stringify(data)) })
off('enableChange')
off(type: 'enableChange', callback?: Callback): void;
移除字幕配置啟用的監(jiān)聽函數(shù)。
系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Hearing
參數(shù):
參數(shù)名 參數(shù)類型 必填 說明 type string 是 監(jiān)聽字幕配置啟用狀態(tài)。 callback Callback 否 回調(diào)函數(shù),在啟用狀態(tài)變化時將狀態(tài)通過此函數(shù)進行通知。 示例
captionsManager.off('enableChange')
off('styleChange')
off(type: 'styleChange', callback?: Callback): void;
移除字幕風格變化的監(jiān)聽函數(shù)。
系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Hearing
參數(shù):
參數(shù)名 參數(shù)類型 必填 說明 type string 是 字幕風格變化。 callback Callback<[CaptionsStyle]> 否 回調(diào)函數(shù),在字幕風格變化時通過此函數(shù)進行通知。 示例
captionsManager.off('styleChange')
EventInfo
界面變更事件。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為 SystemCapability.Barrierfree.Accessibility.Core
屬性
名稱 | 參數(shù)類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
type | [EventType] | 是 | 是 | 無障礙事件類型。 |
windowUpdateType | [WindowUpdateType] | 是 | 是 | 窗口變化類型。 |
bundleName | string | 是 | 是 | 目標應(yīng)用名。 |
componentType | string | 是 | 是 | 事件源組件類型,如按鈕、圖表。 |
pageId | number | 是 | 是 | 事件源的頁面 ID。 |
description | string | 是 | 是 | 事件描述。 |
triggerAction | [Action] | 是 | 是 | 觸發(fā)事件的 Action。 |
textMoveUnit | [TextMoveUnit] | 是 | 是 | 文本移動粒度。 |
contents | Array | 是 | 是 | 內(nèi)容列表。 |
lastContent | string | 是 | 是 | 最新內(nèi)容。 |
beginIndex | number | 是 | 是 | 畫面顯示條目的開始序號。 |
currentIndex | number | 是 | 是 | 當前條目序號。 |
endIndex | number | 是 | 是 | 畫面顯示條目的結(jié)束序號。 |
itemCount | number | 是 | 是 | 條目總數(shù)。 |
方法
constructor
constructor(jsonObject)
構(gòu)造函數(shù)。
參數(shù):
參數(shù)名 參數(shù)類型 必填 說明 jsonObject string 是 創(chuàng)建對象所需要的 JSON 格式字符串。 示例
let eventInfo = new accessibility.EventInfo({"type":"click","bundleName":"com.example.MyApplication","triggerAction":"click"})
EventType
無障礙事件類型。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為 SystemCapability.Barrierfree.Accessibility.Core
名稱 | 描述 |
---|---|
click | 描述點擊組件的事件。 |
longClick | 描述長按組件的事件。 |
select | 描述選擇組件的事件。 |
focus | 描述組件獲得焦點的事件。 |
textUpdate | 描述組件文本已更改的事件。 |
hoverEnter | 描述懸停進入組件的事件。 |
hoverExit | 描述懸停離開組件的事件。 |
scroll | 描述滾動視圖的事件。 |
textSelectionUpdate | 描述選定文本已更改的事件。 |
accessibilityFocus | 描述獲得無障礙焦點的事件。 |
accessibilityFocusClear | 描述清除無障礙焦點的事件。 |
TextMoveUnit
文本無障礙導(dǎo)航移動粒度。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為 SystemCapability.Barrierfree.Accessibility.Core
名稱 | 描述 |
---|---|
char | 以字符為移動粒度遍歷節(jié)點文本。 |
word | 以詞為移動粒度遍歷節(jié)點文本。 |
line | 以行為移動粒度遍歷節(jié)點文本。 |
page | 以頁為移動粒度遍歷節(jié)點文本。 |
paragraph | 以段落為移動粒度遍歷節(jié)點文本。 |
WindowUpdateType
窗口變化類型。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力均為 SystemCapability.Barrierfree.Accessibility.Core
名稱 | 描述 |
---|---|
add | 添加窗口的窗口變化事件。 |
remove | 一個窗口被刪除的窗口變化事件。 |
bounds | 窗口邊界已更改的窗口變化事件。 |
active | 窗口變?yōu)榛顒踊虿换顒拥拇翱谧兓录?/td> |
focus | 窗口焦點發(fā)生變化的窗口變化事件。 |
accessibility.getAbilityLists
getAbilityLists(abilityType: AbilityType, stateType: AbilityState): Promise>
查詢輔助應(yīng)用列表。
系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Core
參數(shù):
參數(shù)名 參數(shù)類型 必填 說明 abilityType [AbilityType] 是 輔助應(yīng)用的類型。 stateType [AbilityState] 是 輔助應(yīng)用的狀態(tài)。 返回值:
類型 說明 Promise> 返回輔助應(yīng)用信息列表。 示例
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
查詢輔助應(yīng)用列表。
系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Core
參數(shù):
參數(shù)名 參數(shù)類型 必填 說明 abilityType [AbilityType] 是 輔助應(yīng)用的類型。 stateType [AbilityState] 是 輔助應(yīng)用的狀態(tài)。 callback AsyncCallback> 是 回調(diào)函數(shù),返回輔助應(yīng)用信息列表。 示例
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
獲取無障礙字幕配置。
系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Hearing
返回值:
類型 說明 [CaptionsManager] 無障礙字幕配置管理。 示例
captionsManager = accessibility.getCaptionsManager()
accessibility.on('accessibilityStateChange' | 'touchGuideStateChange')
on(type: 'accessibilityStateChange' | 'touchGuideStateChange', callback: Callback): void
啟用輔助應(yīng)用和觸摸瀏覽功能的狀態(tài)變化監(jiān)聽。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力有所不同,詳見下表。
參數(shù):
參數(shù)名 參數(shù)類型 必填 說明 type string 是 監(jiān)聽的事件類型。 - type 為'accessibilityStateChange'時表示監(jiān)聽類型為輔助功能啟用狀態(tài)變化監(jiān)聽; 系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Core - type 為'touchGuideStateChange'時表示監(jiān)聽類型為觸摸瀏覽啟用狀態(tài)變化監(jiān)聽。 系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Vision callback Callback 是 回調(diào)函數(shù),在啟用狀態(tài)變化時將狀態(tài)通過此函數(shù)進行通知。 示例
accessibility.on('accessibilityStateChange',(data) = > { console.info('success data:subscribeStateObserver : ' + JSON.stringify(data)) })
accessibility.off('accessibilityStateChange' | 'touchGuideStateChange')
off(type: ‘a(chǎn)ccessibilityStateChange ’ | ‘touchGuideStateChange’, callback?: Callback): void
關(guān)閉輔助應(yīng)用和觸摸瀏覽功能的狀態(tài)變化監(jiān)聽。
系統(tǒng)能力 :以下各項對應(yīng)的系統(tǒng)能力有所不同,詳見下表。
參數(shù):
參數(shù)名 參數(shù)類型 必填 說明 type string 否 監(jiān)聽的事件類型。 - type 為'accessibilityStateChange'時表示監(jiān)聽類型為輔助功能啟用狀態(tài)變化監(jiān)聽; 系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Core - type 為'touchGuideStateChange'時表示監(jiān)聽類型為觸摸瀏覽啟用狀態(tài)變化監(jiān)聽。 系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Vision callback Callback 否 要取消的監(jiān)聽回調(diào)函數(shù)。 示例
accessibility.off('accessibilityStateChange',(data) = > { console.info('success data:unSubscribeStateObserver : ' + JSON.stringify(data)) })
accessibility.isOpenAccessibility
isOpenAccessibility(): Promise
判斷是否啟用了輔助功能。
系統(tǒng)能力 :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
判斷是否啟用了輔助功能。
系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Core
參數(shù)
參數(shù)名 參數(shù)類型 必填 說明 callback AsyncCallback 是 回調(diào)函數(shù),如果輔助功能已啟用,則返回 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
判斷觸摸瀏覽模式是否開啟。
系統(tǒng)能力 :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
判斷觸摸瀏覽模式是否開啟。
系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Core
參數(shù)
參數(shù)名 參數(shù)類型 必填 說明 callback AsyncCallback 是 回調(diào)函數(shù),如果觸摸瀏覽模式已開啟,則返回 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
發(fā)送無障礙事件。
系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Core
參數(shù):
參數(shù)名 參數(shù)類型 必填 說明 event [EventInfo] 是 無障礙事件對象。 返回值:
類型 說明 Promise 以 Promise 形式返回結(jié)果,如果發(fā)送無障礙事件成功,則 data 有數(shù)據(jù)返回;如果發(fā)送無障礙事件失敗,則 err 有數(shù)據(jù)返回。 示例
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
發(fā)送無障礙事件。
系統(tǒng)能力 :SystemCapability.Barrierfree.Accessibility.Core
參數(shù):
參數(shù)名 參數(shù)類型 必填 說明 event [EventInfo] 是 輔助事件對象。 callback AsyncCallback 是 回調(diào)函數(shù),如果發(fā)送無障礙事件成功,則 AsyncCallback 中 data 有數(shù)據(jù)返回;如果發(fā)送無障礙事件失敗,則 AsyncCallback 中 err 有數(shù)據(jù)返回。 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)) })
-
接口
+關(guān)注
關(guān)注
33文章
9005瀏覽量
153763 -
API
+關(guān)注
關(guān)注
2文章
1620瀏覽量
64053 -
開發(fā)系統(tǒng)
+關(guān)注
關(guān)注
0文章
38瀏覽量
10062 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2620瀏覽量
44060
發(fā)布評論請先 登錄
鴻蒙實戰(zhàn)項目開發(fā):【短信服務(wù)】
HarmonyOS NEXT應(yīng)用元服務(wù)開發(fā)Accessibility(信息無障礙)介紹
HarmonyOS NEXT應(yīng)用元服務(wù)開發(fā)控件位置調(diào)整場景與重新設(shè)置新焦點位置的場景
HarmonyOS NEXT應(yīng)用元服務(wù)開發(fā)內(nèi)容動態(tài)變化場景
DevEco Studio AI輔助開發(fā)工具兩大升級功能 鴻蒙應(yīng)用開發(fā)效率再提升
鴻蒙Java API中aafwk是什么概念?有什么用途?
HarmonyOS/OpenHarmony應(yīng)用開發(fā)-ArkTSAPI系統(tǒng)能力SystemCapability列表
鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-Stage模型能力接口(一)
鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-Stage模型能力接口(二)
鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-Stage模型能力接口(四)
鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-Stage模型能力接口(五)
什么是Accessibility
鴻蒙系統(tǒng)是基于什么開發(fā)的
鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:ohos.hiAppEvent應(yīng)用打點

鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:ohos.pasteboard 剪貼板

評論