# AccessibilityExtensionContext (辅助功能扩展上下文)(系统接口)
AccessibilityExtensionContext是AccessibilityExtensionAbility上下文环境,继承自ExtensionContext。
辅助功能扩展上下文模块提供辅助功能扩展的上下文环境的能力,包括允许配置辅助应用关注信息类型、查询节点信息、手势注入等。
> **说明:**
>
> - 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> - 当前页面仅包含本模块的系统接口,其他公开接口请参[AccessibilityExtensionContext (辅助功能扩展上下文)](js-apis-inner-application-accessibilityExtensionContext.md)。
## 使用说明
在使用AccessibilityExtensionContext的功能前,需要通过AccessibilityExtensionAbility子类实例获取AccessibilityExtensionContex的实例。
```ts
import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';
class EntryAbility extends AccessibilityExtensionAbility {
onConnect(): void {
let axContext = this.context;
}
}
```
## Parameter20+
无障碍节点元素执行特定操作时,为操作提供具体设置的参数值。
详见[无障碍节点元素可执行的操作](./js-apis-accessibility-sys.md#accessibilityaction)。
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
| 名称 | 类型 | 只读 |可选| 说明 |
| ------------------- | ------ | ---- | ----|--------------------------------- |
| setText | string | 否 |是 |设置组件文本时文本内容。 |
| selectTextBegin | string | 否 | 是|选定组件内文本时的起始坐标,如:'2'。 |
| selectTextEnd | string | 否 | 是|选定组件内文本时的结束坐标,如:'8'。 |
| selectTextInForWard | bool | 否 | 是|选定组件内文本时是否向前选择,如:true。 |
| offset | string | 否 | 是|设置光标的偏移量,如:'1'。 |
| spanId | string | 否 |是 |对超链接文本进行点击操作时文本编号。 |
| scrollType | string | 否 | 是|组件滚动类型,包括'fullScreen'(全屏)和'halfScreen'(半屏)。 |
例如:选中文本输入框中index从0到7的字符时,executeAction(AccessibilityAction.SET_SELECTION, parameter)方法设置的参数如下:
```ts
let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true }
```
## AccessibilityGrid20+
辅助功能网格信息。
详见[AccessibilityElement.currentItem](#accessibilityelement12)。
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
| 名称 | 类型 | 只读 |可选| 说明 |
| ------------------- | ------ | ---- | ----|--------------------------------- |
| rowIndex | number | 否 |否 |网格行索引。 |
| columnIndex | number | 否 | 否|网格列索引。 |
## AccessibilitySpan20+
辅助功能超链接文本信息。
详见[AccessibilityElement.spans](#accessibilityelement12)。
**系统能力**:以下各项对应的系统能力均为 SystemCapability.BarrierFree.Accessibility.Core
| 名称 | 类型 | 只读 |可选| 说明 |
| ------------------- | ------ | ---- | ----|--------------------------------- |
| spanId | number | 否 |否 |超链接文本编号。 |
| spanText | string | 否 | 否|超链接文本的文本内容。 |
| accessibilityText | string | 否 | 否|超链接文本的辅助功能文本。 |
| accessibilityDescription | string | 否 | 否|超链接文本的辅助功能描述。 |
| accessibilityLevel | string | 否 | 否|超链接文本的辅助功能级别。 |
## startAbility12+
startAbility(want: Want): Promise\;
提供拉起前台页面的能力。
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](../../reference/apis-ability-kit/js-apis-app-ability-want.md) | 是 | Want类型参数,传入需要启动的ability的信息,如Ability名称,Bundle名称等。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission denied. Interface caller does not have permission. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
let want: Want = {
bundleName: 'com.huawei.hmos.photos',
abilityName: 'com.huawei.hmos.photos.MainAbility'
}
axContext.startAbility(want).then(() => {
console.info(`startAbility Succeeded enable ability`);
}).catch((err: BusinessError) => {
console.error(`startAbility failed to enable ability, Code is ${err.code}, message is ${err.message}`);
});
```
## AccessibilityExtensionContext.getElements18+
getElements(windowId: number, elementId?: number): Promise;
提供批量查询节点的能力。
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| windowId | number | 是 | 表示查询的窗口id。 |
| elementId | number | 否 | 表示查询的节点id。传入此参数表示查询当前节点下的所有子节点列表,不传则查询窗口下所有节点。默认值为-1。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------- | ---------------------- |
| Promise | Promise对象,返回当前窗口或者当前节点下的所有子节点列表。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[无障碍子系统错误码](errorcode-accessibility.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 202 | Permission verification failed. A non-system application calls a system API. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 9300003 | No accessibility permission to perform the operation. |
**示例:**
```ts
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
let windowId: number = 10;
let elementId: number = 10;
axContext.getElements(windowId, elementId).then((data:AccessibilityElement[]) => {
console.log(`Succeeded in find element, ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
console.error(`failed to find element, Code is ${err.code}, message is ${err.message}`);
});
```
## AccessibilityExtensionContext.getDefaultFocusedElementIds18+
getDefaultFocusedElementIds(windowId: number): Promise;
提供查询应用自定义默认焦点的能力。
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| windowId | number | 是 | 表示查询的窗口id。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------- | ---------------------- |
| Promise | Promise对象,返回当前窗口下的自定义默认焦点列表。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[无障碍子系统错误码](errorcode-accessibility.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 202 | Permission verification failed. A non-system application calls a system API. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 9300003 | No accessibility permission to perform the operation. |
**示例:**
```ts
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
let windowId: number = 10;
axContext.getDefaultFocusedElementIds(windowId).then((data: number[]) => {
console.log(`Succeeded in get default focus, ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
console.error(`failed to get default focus, Code is ${err.code}, message is ${err.message}`);
});
```
## AccessibilityExtensionContext.holdRunningLockSync20+
holdRunningLockSync(): void
持有RunningLock锁,持锁后,屏幕不会自动灭屏。
**需要权限**:ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed. The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
**示例:**
```ts
import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
axContext.holdRunningLockSync();
} catch (err) {
console.error(`Failed to hold RunningLock, Code is ${err.code}, message is ${err.message}`);
}
```
## AccessibilityExtensionContext.unholdRunningLockSync20+
unholdRunningLockSync(): void
释放RunningLock锁,恢复自动灭屏。
**需要权限**:ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**错误码:**
以以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed. The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
**示例:**
```ts
import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
axContext.unholdRunningLockSync();
} catch (err) {
console.error(`Failed to unhold RunningLock, code is ${err.code}, message is ${err.message}`);
}
```
## AccessibilityExtensionContext.on('preDisconnect')20+
on(type: 'preDisconnect', callback: Callback<void>): void
向无障碍服务注册回调函数,在无障碍服务关闭该无障碍扩展服务前会执行该回调函数。
此注册函数需要与[notifyDisconnect](#accessibilityextensioncontextnotifydisconnect20)配合使用,如果不调用[notifyDisconnect](#accessibilityextensioncontextnotifydisconnect20),则默认等待30秒后,无障碍扩展服务会自动关闭。
**需要权限**:ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 监听事件名,固定为‘preDisconnect’,即无障碍扩展服务即将关闭事件。 |
| callback | Callback<void> | 是 |回调函数,在无障碍扩展服务即将关闭时回调。|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed. The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
**示例:**
```ts
import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
axContext.on('preDisconnect', () => {
console.info(`To do something before accessibilityExtension disconnect.`);
});
} catch (err) {
console.error(`Failed to register, code is ${err.code}, message is ${err.message}`);
}
```
## AccessibilityExtensionContext.off('preDisconnect')20+
off(type: 'preDisconnect', callback?: Callback<void>): void
取消已经向无障碍服务注册的预关闭回调函数,无障碍服务关闭该扩展服务前不再执行该回调。
**需要权限**:ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 监听事件名,固定为‘preDisconnect’,即无障碍扩展服务即将关闭事件。 |
| callback | Callback<void> | 否 |回调函数,取消指定无障碍扩展服务即将关闭时的回调。需与[on('preDisconnect')](#accessibilityextensioncontextonpredisconnect20)的callback一致。缺省时,表示注销所有已注册事件。|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed. The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
**示例:**
```ts
import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
axContext.off('preDisconnect', () => {
console.info(`To do something before accessibilityExtension disconnect.`);
});
} catch (err) {
console.error(`Failed to unRegister, code is ${err.code}, message is ${err.message}`);
}
```
## AccessibilityExtensionContext.notifyDisconnect20+
notifyDisconnect(): void
通知无障碍服务可以关闭该无障碍扩展服务。
此函数需要与注册预关闭接口[on('preDisconnect')](#accessibilityextensioncontextonpredisconnect20)配合使用,如果没有调用过注册预关闭函数,直接调用此函数不生效。
**需要权限**:ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed. The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
**示例:**
```ts
import { AccessibilityExtensionAbility } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
axContext.notifyDisconnect();
} catch (err) {
console.error(`Failed to notify accessibility, code is ${err.code}, message is ${err.message}`);
}
```
## getAccessibilityFocusedElement20+
getAccessibilityFocusedElement(): Promise\;
获取当前获得焦点的元素。
**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力:** SystemCapability.BarrierFree.Accessibility.Core
**返回值:**
| 类型 | 描述 |
| ----------------------------------- | ---------------------- |
| Promise\<[AccessibilityElement](#accessibilityelement12)>| 异步返回函数结果.|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[无障碍子系统错误码](errorcode-accessibility.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed.The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
| 9300003 | No accessibility permission to perform the operation. |
| 9300006 | The target application failed to connect to accessibility service. |
**示例:**
```ts
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) => {
console.log(`Succeeded in get accessibility focused element, ${element.bundleName}`);
}).catch((err: BusinessError) => {
console.error(`failed to get accessibility focused element, Code is ${err.code}, message is ${err.message}`);
});
```
## getRootInActiveWindow20+
getRootInActiveWindow(windowId ?: number): Promise\<[AccessibilityElement](#accessibilityelement12)>;
获取活动窗口根元素。
**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力:** SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| windowId | number | No | Window ID to be obtained.|
**返回值:**
| 类型 | 描述 |
| ----------------------------------- | ---------------------- |
| Promise\<[AccessibilityElement](#accessibilityelement12)>| Promise used to return the result.|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[无障碍子系统错误码](errorcode-accessibility.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed.The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
| 9300003 | No accessibility permission to perform the operation. |
| 9300006 | The target application failed to connect to accessibility service. |
**示例:**
```ts
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
let windowId: number = 0;
axContext.getRootInActiveWindow(windowId).then((element: AccessibilityElement) => {
console.log(`Succeeded in get root inactive window element, ${element.bundleName}`);
}).catch((err: BusinessError) => {
console.error(`failed to get root inactive window element, Code is ${err.code}, message is ${err.message}`);
});
```
## getAccessibilityWindowsSync20+
getAccessibilityWindowsSync(displayId?: number): Array\<[AccessibilityElement](#accessibilityelement12)>
获取窗口列表。
**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力:** SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| displayId | number | No | 显示ID。如果未提供此参数,则表示默认displayId。 |
**返回值:**
| 类型 | 描述 |
| ----------------------------------- | ---------------------- |
| Array\<[AccessibilityElement](#accessibilityelement12)> | 窗口列表。|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[无障碍子系统错误码](errorcode-accessibility.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed.The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
| 9300003 | No accessibility permission to perform the operation. |
**示例:**
```ts
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
let displayId: number = 0;
let windowList = context?.getAccessibilityWindowsSync(displayId);
if (windowList) {
for (let window of windowList) {
console.log(`getAccessibilityWindowsSync: windowId: ${window.windowId}`);
}
}
} catch (err) {
console.log(`[FAILED] getAccessibilityWindowsSync: ${err.code} ${err.message}`)
}
```
## AccessibilityElement12+
无障碍节点元素。在调用 **AccessibilityElement** 的 API 之前,应该调用 [AccessibilityExtensionContext.getAccessibilityFocusedElement()](#getaccessibilityfocusedelement20) 或 [AccessibilityExtensionContext.getRootInActiveWindow()](#getrootinactivewindow20) 来获取一个 **AccessibilityElement** 实例。
**系统能力:** SystemCapability.BarrierFree.Accessibility.Core
### 属性
| 名称 | 类型 | 只读 | 可选 | 描述 |
|----------------------|--------------------------------------------------------------------|------|------|-------------------|
| accessibilityFocused20+ | boolean | 否 | 是 | 表示元素是否因无障碍目的获得焦点。true表示已获得焦点,false表示未获得焦点。
默认值:false。|
| bundleName20+ | string | 否 | 是 | 包名。|
| checkable20+ | boolean | 否 | 是 | 元素是否可勾选。true表示可勾选,false表示不可勾选。
默认值:false。|
| checked20+ | boolean | 否 | 是 | 元素是否已勾选。true表示已勾选,false表示未勾选。
默认值:false。|
| clickable20+ | boolean | 否 | 是 | 元素是否可点击。true表示可点击,false表示不可点击。
默认值:false。|
| componentId20+ | number | 否 | 是 | 元素所属组件的ID。
默认值:-1。|
| componentType20+ | string | 否 | 是 | 元素所属组件的类型。|
| contents20+ | Array<string> | 否 | 是 | 元素显示内容。|
| currentIndex20+ | number | 否 | 是 | 当前项的索引。
默认值:0。|
| description20+ | string | 否 | 是 | 元素的描述信息。|
| editable20+ | boolean | 否 | 是 | 元素是否可编辑。true表示可编辑,false表示不可编辑。
默认值:false。|
| endIndex20+ | number | 否 | 是 | 屏幕上显示的最后一个列表项的索引。
默认值:0。|
| error20+ | string | 否 | 是 | 元素的错误状态。|
| focusable20+ | boolean | 否 | 是 | 元素是否可获得焦点。true表示可获得焦点,false表示不可获得焦点。
默认值:false。|
| hintText20+ | string | 否 | 是 | 提示文本。|
| inputType20+ | number | 否 | 是 | 输入文本的类型。
默认值:0。|
| inspectorKey20+ | string | 否 | 是 | 检查器键。|
| isActive20+ | boolean | 否 | 是 | 元素是否处于活动状态。true表示活动状态,false表示非活动状态。
默认值:true。|
| isEnable20+ | boolean | 否 | 是 | 元素是否启用。true表示启用,false表示未启用。
默认值:false。|
| isHint20+ | boolean | 否 | 是 | 元素是否为提示信息。true表示元素是提示信息,false表示非提示信息。
默认值:false。|
| isFocused20+ | boolean | 否 | 是 | 表示元素是否已获得焦点。true表示已获得焦点,false表示未获得焦点。
默认值:false。|
| isPassword20+ | boolean | 否 | 是 | 元素是否为密码。true表示元素是密码,false表示不是密码。
默认值:false。|
| isVisible20+ | boolean | 否 | 是 | 元素是否可见。true表示元素可见,false表示元素不可见。
默认值:false。|
| itemCount20+ | number | 否 | 是 | 项目总数。
默认值:0。|
| lastContent20+ | string | 否 | 是 | 最后一项内容。|
| layer20+ | number | 否 | 是 | 元素的显示层级。|
| longClickable20+ | boolean | 否 | 是 | 元素是否可长按。true表示可长按,false表示不可长按。
默认值:false。|
| pageId20+ | number | 否 | 是 | 页面ID。
默认值:-1。|
| pluralLineSupported20+ | boolean | 否 | 是 | 表示元素是否支持多行文本。true表示支持,false表示不支持。
默认值:false。|
| rect20+ | [Rect](js-apis-inner-application-accessibilityExtensionContext.md#rect) | 否 | 是 | 元素的区域。|
| resourceName20+ | string | 否 | 是 | 元素的资源名称。|
| screenRect20+ | [Rect](js-apis-inner-application-accessibilityExtensionContext.md#rect) | 否 | 是 | 元素的显示区域。|
| scrollable20+ | boolean | 否 | 是 | 元素是否可滚动。true表示元素可滚动,false表示不可滚动。
默认值:false。|
| selected20+ | boolean | 否 | 是 | 元素是否已选中。true表示已选中,false表示未选中。
默认值:false。|
| startIndex20+ | number | 否 | 是 | 屏幕上第一个列表项的索引。
默认值:0。|
| text20+ | string | 否 | 是 | 元素的文本内容。|
| textLengthLimit20+ | number | 否 | 是 | 元素的最大文本长度。|
| textMoveUnit20+ | [accessibility.TextMoveUnit](js-apis-accessibility.md#textmoveunit)| 否 | 是 | 文本朗读时的移动单位。
默认值:0。|
| triggerAction20+ | [accessibility.Action](js-apis-accessibility.md#action) | 否 | 是 | 触发元素事件的操作。|
| type20+ | [WindowType](js-apis-inner-application-accessibilityExtensionContext.md#windowtype) | 否 | 是 | 元素的窗口类型。|
| valueMax20+ | number | 否 | 是 | 最大值。
默认值:0。|
| valueMin20+ | number | 否 | 是 | 最小值。
默认值:0。|
| valueNow20+ | number | 否 | 是 | 当前值。
默认值:0。|
| windowId20+ | number | 否 | 是 | 窗口ID。
默认值:-1。|
| offset20+ | number | 否 | 是 | 内容区域相对于可滚动组件(如List和Grid)顶部坐标的像素偏移量。
默认值:0。|
| textType20+ | string | 否 | 是 | 元素的无障碍文本类型,由组件的accessibilityTextHint属性配置。|
| accessibilityText20+ | string | 否 | 是 | 元素的无障碍文本信息。|
| hotArea20+ | [Rect](js-apis-inner-application-accessibilityExtensionContext.md#rect) | 否 | 是 | 元素的可触摸区域。|
| customComponentType20+ | string | 否 | 是 | 自定义组件类型。|
| accessibilityNextFocusId20+ | number | 否 | 是 | 下一个要获得焦点的组件的ID。
默认值:-1。|
| accessibilityPreviousFocusId20+ | number | 否 | 是 | 上一个要获得焦点的组件的ID。
默认值:-1。|
| extraInfo20+ | string | 否 | 是 | 元素的额外信息。值为JSON字符串。|
| accessibilityScrollable20+ | boolean | 否 | 是 | 元素是否因无障碍目的而可滚动。此属性优先级高于scrollable。
true表示元素可滚动,false表示元素不可滚动。
默认值:true。|
| supportedActionNames20+ | Array<string> | 否 | 是 | 支持的操作名称。|
| accessibilityGroup20+ | boolean | 否 | 是 | 元素是否为无障碍组。true表示元素是无障碍组,false表示元素不是无障碍组。
默认值:false。|
| accessibilityLevel20+ | string | 否 | 是 | 组件的无障碍级别。
'auto':当前组件由无障碍分组服务和ArkUI进行综合判断组件是否可被辅助功能识别。
'yes':当前组件可被辅助功能识别。
'no':当前组件不可被辅助功能识别。
'no-hide-descendants':当前组件及其所有子组件不可被辅助功能识别。|
| navDestinationId20+ | number | 否 | 是 | 组件的导航目标ID。|
| currentItem20+ | [AccessibilityGrid](#accessibilitygrid20) | 否 | 是 | 组件网格中的当前项。|
| spans20+ | [AccessibilitySpan](#accessibilityspan20)[] | 否 | 是 | 组件的跨度数组。|
| accessibilityVisible20+ | boolean | 否 | 是 | 组件是否无障碍可见。true表示可见,false表示不可见。|
| mainWindowId20+ | number | 否 | 是 | 组件的主窗口ID。|
| clip20+ | boolean | 否 | 是 | 组件是否需要裁剪。true表示需要裁剪,false表示不需要裁剪。|
| parentId20+ | number | 否 | 是 | 组件的父元素ID。|
| childrenIds20+ | Array\ | 否 | 是 | 组件的子元素ID列表。|
**示例:**
```ts
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
let windowId: number = 10;
axContext.getRootInActiveWindow(windowId)..then((element: AccessibilityElement) => {
console.info("AccessibilityElement.checkable: " + element.checkable)
console.info("AccessibilityElement.checked: " + element.checked)
console.info("AccessibilityElement.clickable: " + element.clickable)
console.info("AccessibilityElement.componentId: " + element.componentId)
console.info("AccessibilityElement.componentType: " + element.componentType)
console.info("AccessibilityElement.contents: " + element.contents)
console.info("AccessibilityElement.currentIndex: " + element.currentIndex)
console.info("AccessibilityElement.description: " + element.description)
// ....
}).catch((err) => {
console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`);
})
```
### enableScreenCurtain12+
enableScreenCurtain(isEnable: boolean): void;
提供开启/关闭幕帘屏的能力。
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------------------- | ---- | -------------- |
| isEnable | boolean | 是 | true表示打开幕帘屏功能,false表示关闭幕帘屏功能。|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[无障碍子系统错误码](errorcode-accessibility.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 202 | Permission verification failed. A non-system application calls a system API. |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
| 9300003 | No accessibility permission to perform the operation. |
**示例:**
```ts
import {
AccessibilityElement,
AccessibilityEvent,
AccessibilityExtensionContext
} from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
export default class AccessibilityManager {
private static instance: AccessibilityManager;
context?: AccessibilityExtensionContext;
static getInstance(): AccessibilityManager {
if (!AccessibilityManager.instance) {
AccessibilityManager.instance = new AccessibilityManager();
}
return AccessibilityManager.instance;
}
onStart(context: AccessibilityExtensionContext) {
this.context = context;
}
onStop() {
this.context = undefined;
}
onEvent(accessibilityEvent: AccessibilityEvent): void {
if (!this.context) {
console.error('context is not available!');
return;
}
this.context.getWindowRootElement().then((rootElement: AccessibilityElement) => {
console.log(`Succeeded in get root element of the window, ${JSON.stringify(rootElement)}`);
rootElement.enableScreenCurtain(true);
console.log(`Succeeded in enableScreenCurtain`);
}).catch((err: BusinessError) => {
console.error(`failed to enableScreenCurtain, Code is ${err.code}, message is ${err.message}`);
});
}
}
```
### findElement('elementId')12+
findElement(type: 'elementId', condition: number): Promise\;
根据elementId查询当前活动窗口下的节点元素,使用Promise异步回调。
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | --------------------------------- | ---- | ---------------------------------------- |
| type | string | 是 | 固定为'elementId', 表示根据elementId查询当前活动窗口下的节点元素。 |
| condition | number | 是 | 表示要查询的节点元素的elementId。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------- | -------------------------------- |
| Promise<[AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9)> | Promise对象,返回满足指定查询条件的节点元素。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | ----------------------------- |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
//elementId为10
let condition = 10;
// rootElement是AccessibilityElement的实例
rootElement.findElement('elementId', condition).then((data: AccessibilityElement) => {
console.log(`Succeeded in find element, ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
console.error(`failed to find element, Code is ${err.code}, message is ${err.message}`);
});
```
### findElement('textType')12+
findElement(type: 'textType', condition: string): Promise\>;
根据节点配置的accessibilityTextHint无障碍文本类型查询所有节点元素,使用Promise异步回调。
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------ | ---- | ----------------------------- |
| type | string | 是 | 固定为'textType', 表示根据文本类型查找节点元素。 |
| condition | string | 是 | 表示查找的条件。 |
**返回值:**
| 类型 | 说明 |
| ---------------------------------------- | ----------------------------- |
| Promise<Array<[AccessibilityElement](js-apis-inner-application-accessibilityExtensionContext.md#accessibilityelement9)>> | Promise对象,返回满足指定查询关键字的所有节点元素。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | ----------------------------- |
| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
// condition的内容需要与目标组件accessibilityTextHint属性的type字段值保持一致
let condition = 'location';
// rootElement是AccessibilityElement的实例
rootElement.findElement('textType', condition).then((data: AccessibilityElement[]) => {
console.log(`Succeeded in find element, ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
console.error(`failed to find element, Code is ${err.code}, message is ${err.message}`);
});
```
### getCursorPosition12+
getCursorPosition(): Promise\;
获取文本组件中光标位置,使用Promise异步回调。
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------------- |
| Promise<number> | Promise对象,返回当前光标所处位置。 |
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
// rootElement是AccessibilityElement的实例
rootElement.getCursorPosition().then((data: number) => {
console.info(`Succeeded in getCursorPosition, ${data}`);
}).catch((err: BusinessError) => {
console.error(`failed to getCursorPosition, Code is ${err.code}, message is ${err.message}`);
});
```
### getCursorPosition12+
getCursorPosition(callback: AsyncCallback\): void;
获取文本组件中光标位置,使用callback异步回调。
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------------------- | ---- | -------------- |
| callback | AsyncCallback<number> | 是 | 回调函数,表示文本组件中光标位置。|
**示例:**
```ts
import { BusinessError } from '@kit.BasicServicesKit';
// rootElement是AccessibilityElement的实例
rootElement.getCursorPosition((err: BusinessError, data: number) => {
if (err && err.code) {
console.error(`failed to getCursorPosition, Code is ${err.code}, message is ${err.message}`);
return;
}
console.info(`Succeeded in getCursorPosition, ${data}`);
});
```
### executeAction20+
executeAction(action: AccessibilityAction, parameters?: Parameter): Promise\;
根据action指定的操作类型和parameters传入的参数,执行特定操作。使用Promise异步回调。
**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力**:SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ---------------------------------------- | ---- |----------------------------------------------------------|
| action | [AccessibilityAction](./js-apis-accessibility-sys.md#accessibilityaction)| 是 | 无障碍节点可执行的操作。
| parameters | [Parameter](#parameter20) | 否 | 执行操作时设置的参数值,默认为空。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------------- |
| Promise<void> | 无返回结果的Promise对象。 |
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[无障碍子系统错误码](errorcode-accessibility.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed.The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
| 9300005 | This action is not supported. |
**示例:**
```ts
//无参数Action示例:
import { BusinessError } from '@kit.BasicServicesKit';
import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit';
// rootElement是AccessibilityElement的实例
// Action描述中无明确要求的,均为无参数Action
try {
rootElement.executeAction(AccessibilityAction.CLICK);
console.info(`Succeeded in perform action CLICK`);
}catch (error){
console.error(`failed to perform action CLICK, Code is ${error?.code}, message is ${error?.message}`);
}
```
```ts
//有参数Action示例:
import { BusinessError } from '@kit.BasicServicesKit';
import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit';
try {
// selectTextBegin: 表示选择起始位置
// selectTextEnd: 表示选择结束位置
// selectTextInForWard: true表示为前光标,false表示为后光标
let p : Parameter = { selectTextBegin: '0', selectTextEnd: '8', selectTextInForWard: true }
// rootElement是AccessibilityElement的实例
// setSelection示例代码
rootElement.executeAction(AccessibilityAction.SET_SELECTION, p);
console.info(`Succeeded in perform action SET_SELECTION`);
}catch (error){
console.error(`failed to perform action SET_SELECTION, Code is ${error?.code}, message is ${error?.message}`);
}
```
```ts
//有参数Action示例:
import { BusinessError } from '@kit.BasicServicesKit';
import { AccessibilityAction, Parameter } from '@kit.AccessibilityKit';
try {
// offset: 表示光标的设置位置
let p : Parameter = { offset: '1' }
// rootElement是AccessibilityElement的实例
// setCursorPosition示例代码
rootElement.executeAction(AccessibilityAction.SET_CURSOR_POSITION, p);
console.info(`Succeeded in perform action SET_CURSOR_POSITION`);
}catch (error){
console.error(`failed to perform action SET_CURSOR_POSITION, Code is ${error?.code}, message is ${error?.message}`);
}
```
### getParent20+
getParent(): Promise\;
获取无障碍节点元素的父元素。
**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力:** SystemCapability.BarrierFree.Accessibility.Core
**返回值:**
| 类型 | 描述 |
| ---------------------------------------- | --------------------- |
| Promise\<[AccessibilityElement](#accessibilityelement12)> | 父元素。|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed.The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
**示例:**
```ts
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) => {
console.log(`element parent id: ${element.parentId}`);
element.getParent().then((parent: AccessibilityElement) => {
console.log(`parent element's parent id: ${parent.parentId}`);
}).catch((err) => {
console.log(`getParent failed, code: ${err.code}, message: ${err.message}`);
})
}).catch((err) => {
console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`);
})
```
### getChildren20+
getChildren(): Promise\>;
获取元素的子元素列表。
**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力:** SystemCapability.BarrierFree.Accessibility.Core
**返回值:**
| 类型 | 描述 |
| ---------------------------------------- | --------------------- |
| Promise\> | 子元素数组。|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed.The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
**示例:**
```ts
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
axContext.getAccessibilityFocusedElement().then((element: AccessibilityElement) => {
console.log(`element childrenIds: ${element.childrenIds}`);
element.getChildren().then((children: AccessibilityElement[]) => {
console.log(`children element's size: ${children.length}`);
}).catch((err) => {
console.log(`getChildren failed, code: ${err.code}, message: ${err.message}`);
})
}).catch((err) => {
console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`);
})
```
### getRoot20+
getRoot(): Promise\;
获取活动窗口中的根元素。
**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力:** SystemCapability.BarrierFree.Accessibility.Core
**返回值:**
| 类型 | 描述 |
| ---------------------------------------- | --------------------- |
| Promise\<[AccessibilityElement](#accessibilityelement12)> | 根元素。|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed.The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
**示例:**
```ts
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
let windows: AccessibilityWindow[] = axContext.getAccessibilityWindowsSync()
for (let window of windows) {
console.log(`window id: ${window.windowId}`);
window.getRoot().then((root: AccessibilityElement) => {
console.log(`root element's componentId: ${root.componentId}`);
}).catch((err) => {
console.log(`getRoot failed, code: ${err.code}, message: ${err.message}`);
})
}
```
### findElementByContent20+
findElementByContent(condition: string): Promise\>;
根据内容查找元素。
**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力:** SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ---- | -------- | ------------------------------------------------------------ |
| condition | string | 是 | 内容。 |
**返回值:**
| 类型 | 描述 |
| ---------------------------------------- | --------------------- |
| Promise\> | 元素数组。|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[无障碍子系统错误码](errorcode-accessibility.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed.The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
| 9300006 | The target application failed to connect to accessibility service. |
**示例:**
```ts
// Page.ets
build() {
Text('Connect')
.id('connect')
.fontSize($r('app.float.page_text_font_size'))
.fontWeight(FontWeight.Bold)
// ...
// AccessibilityExtAbility.ets
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
let windowId: number = 10;
axContext.getRootInActiveWindow(windowId)..then((root: AccessibilityElement) => {
root.findElementByContent('connect').then((elements: AccessibilityElement[]) => {
console.log("findElementByContent size=" + elements.length)
}).catch((err) => {
console.log(`findElementByContent failed, code: ${err.code}, message: ${err.message}`);
})
}).catch((err) => {
console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`);
})
```
### findElementByFocusDirection20+
findElementByFocusDirection(condition: FocusDirection): Promise\;
根据焦点方向查找元素。
**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力:** SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ---- | -------- | ------------------------------------------------------------ |
| condition | FocusDirection | 是 | 焦点方向。 |
**返回值:**
| 类型 | 描述 |
| ---------------------------------------- | --------------------- |
| Promise\<[AccessibilityElement](#accessibilityelement12)> | AccessibilityElement.|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[无障碍子系统错误码](errorcode-accessibility.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed.The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
| 9300006 | The target application failed to connect to accessibility service. |
**示例:**
```ts
// Page.ets
// Click TextInput and then it is the accessibility focus element, up direction element is Text#connect
build() {
Text('Connect')
.id('connect')
.fontSize($r('app.float.page_text_font_size'))
.fontWeight(FontWeight.Bold)
TextInput({ placeholder: 'please input...' })
.id('text_input')
.fontSize($r('app.float.page_text_font_size'))
// ...
// AccessibilityExtAbility.ets
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
axContext.getAccessibilityFocusedElement().then((focus: AccessibilityElement) => {
focus.findElementByFocusDirection('up').then((element: AccessibilityElement) => {
console.log("findElementByFocusDirection UP componentId: " + element.componentId);
}).catch((err) => {
console.log(`findElementByFocusDirection UP failed, code: ${err.code}, message: ${err.message}`);
})
}).catch((err) => {
console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`);
})
```
### findElementsByAccessibilityHintText20+
findElementsByAccessibilityHintText(condition: string): Promise\>;
根据性提示文本查找元素。
**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力:** SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ---- | -------- | ------------------------------------------------------------ |
| condition | string | 是 | 提示文本。 |
**返回值:**
| 类型 | 描述 |
| ---------------------------------------- | --------------------- |
| Promise\> | 元素数组。|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[无障碍子系统错误码](errorcode-accessibility.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed.The application does not have the permission required to call the API. |
| 202 | Permission verification failed. A non-system application calls a system API. |
| 9300006 | The target application failed to connect to accessibility service. |
**示例:**
```ts
// Page.ets
build() {
Text('Connect')
.id('connect')
.fontSize($r('app.float.page_text_font_size'))
.fontWeight(FontWeight.Bold)
TextInput({ placeholder: 'please input...' })
.id('text_input')
.fontSize($r('app.float.page_text_font_size'))
.accessibilityTextHint('location')
// ...
// AccessibilityExtAbility.ets
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
let windowId: number = 10;
axContext.getRootInActiveWindow(windowId).then((root: AccessibilityElement) => {
root.findElementsByAccessibilityHintText('location').then((elements: AccessibilityElement[]) => {
console.log("findElementsByAccessibilityHintText size=" + elements.length)
}).catch((err) => {
console.log(`findElementsByAccessibilityHintText failed, code: ${err.code}, message: ${err.message}`);
})
}).catch((err) => {
console.log(`getRootInActiveWindow failed, code: ${err.code}, message: ${err.message}`);
})
```
### findElementById20+
findElementById(condition: number): Promise\;
根据元素 ID 查找元素。
**权限:** ohos.permission.ACCESSIBILITY_EXTENSION_ABILITY
**系统能力:** SystemCapability.BarrierFree.Accessibility.Core
**参数:**
| 名称 | 类型 | 必填 | 描述 |
| -------- | ---- | -------- | ------------------------------------------------------------ |
| condition | number | 是 | 元素 ID。 |
**返回值:**
| 类型 | 描述 |
| ---------------------------------------- | --------------------- |
| Promise\<[AccessibilityElement](#accessibilityelement12)> | AccessibilityElement.|
**错误码:**
以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[无障碍子系统错误码](errorcode-accessibility.md)。
| 错误码ID | 错误信息 |
| ------- | ---------------------------------------- |
| 201 | Permission verification failed.The application does not have the permission required to call the API.|
| 202 | Permission verification failed. A non-system application calls a system API. |
| 9300006 | The target application failed to connect to accessibility service. |
**示例:**
```ts
// Page.ets
// Click TextInput and then it is the accessibility focus element
build() {
Text('Connect')
.id('connect')
.fontSize($r('app.float.page_text_font_size'))
.fontWeight(FontWeight.Bold)
TextInput({ placeholder: 'please input...' })
.id('text_input')
.fontSize($r('app.float.page_text_font_size'))
// ...
// AccessibilityExtAbility.ets
import { AccessibilityElement } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
axContext.getAccessibilityFocusedElement().then((focus: AccessibilityElement) => {
focus.findElementById(0).then((element: AccessibilityElement) => {
console.log("findElementById componentId: " + element.componentId);
}).catch((err) => {
console.log(`findElementById failed, code: ${err.code}, message: ${err.message}`);
})
}).catch((err) => {
console.log(`getAccessibilityFocusedElement failed, code: ${err.code}, message: ${err.message}`);
})
```