openharmony 鸿蒙 js-apis-inner-application-accessibilityExtensionContext

2025-06-12 浏览 (1)

AccessibilityExtensionContext (Accessibility Extension Context)

The AccessibilityExtensionContext module, inherited from ExtensionContext, provides context for AccessibilityExtensionAbility.

You can use the APIs of this module to configure the concerned information, obtain root information, and inject gestures.

NOTE

  • The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Usage

Before using the AccessibilityExtensionContext module, you must define a child class that inherits from AccessibilityExtensionAbility.

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

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

ElementAttributeValues

Provides attribute names and value types of a node element.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Attributes

NameTypeReadableWritableDescription
accessibilityFocusedbooleanYesNoWhether the element is focused for accessibility purposes. The value true indicates that the element is focused, and false indicates the opposite.
Default value: false.
accessibilityText12+stringYesNoAccessibility text information of an element.
bundleNamestringYesNoBundle name.
checkablebooleanYesNoWhether the element is checkable. The value true indicates that the element is checkable, and false indicates the opposite.
Default value: false.
checkedbooleanYesNoWhether the element is checked. The value true indicates that the element is checked, and false indicates the opposite.
Default value: false.
childrenArray<AccessibilityElement>YesNoAll child elements.
clickablebooleanYesNoWhether the element is clickable. The value true indicates that the element is clickable, and false indicates the opposite.
Default value: false.
componentIdnumberYesNoID of the component to which the element belongs.
Default value: -1.
componentTypestringYesNoType of the component to which the element belongs.
contentsArray<string>YesNoContent.
currentIndexnumberYesNoIndex of the current item.
Default value: 0.
descriptionstringYesNoDescription of the element.
editablebooleanYesNoWhether the element is editable. The value true indicates that the element is editable, and false indicates the opposite.
Default value: false.
endIndexnumberYesNoIndex of the last list item displayed on the screen.
Default value: 0.
errorstringYesNoError status.
focusablebooleanYesNoWhether the element is focusable. The value true indicates that the element is focusable, and false indicates the opposite.
Default value: false.
hintTextstringYesNoHint text.
inputTypenumberYesNoType of the input text.
Default value: 0.
inspectorKeystringYesNoInspector key.
isActivebooleanYesNoWhether the element is active. The value true indicates that the element is active and false indicates the opposite.
Default value: true.
isEnablebooleanYesNoWhether the element is enabled. The value true indicates that the element is enabled, and false indicates the opposite.
Default value: false.
isHintbooleanYesNoWhether the element is a hint. The value true indicates that the element is a hint, and false indicates the opposite.
Default value: false.
isFocusedbooleanYesNoWhether the element is focused. The value true indicates that the element is focused, and false indicates the opposite.
Default value: false.
isPasswordbooleanYesNoWhether the element is a password. The value true indicates that the element is a password, and false indicates the opposite.
Default value: false.
isVisiblebooleanYesNoWhether the element is visible. The value true indicates that the element is visible, and false indicates the opposite.
Default value: false.
itemCountnumberYesNoTotal number of items.
Default value: 0.
lastContentstringYesNoLast content.
layernumberYesNoDisplay layer of the element.
longClickablebooleanYesNoWhether the element is long-clickable. The value true indicates that the element is long-clickable, and false indicates the opposite.
Default value: false.
pageIdnumberYesNoPage ID.
Default value: -1.
parentAccessibilityElementYesNoParent element of the element.
pluralLineSupportedbooleanYesNoWhether the element supports multiple lines of text. The value true indicates that the element supports multiple lines of text, and false indicates the opposite.
Default value: false.
rectRectYesNoArea of the element.
resourceNamestringYesNoResource name of the element.
rootElementAccessibilityElementYesNoRoot element of the window element.
screenRectRectYesNoDisplay area of the element.
scrollablebooleanYesNoWhether the element is scrollable. The value true indicates that the element is scrollable, and false indicates the opposite.
Default value: false.
selectedbooleanYesNoWhether the element is selected. The value true indicates that the element is selected, and false indicates the opposite.
Default value: false.
startIndexnumberYesNoIndex of the first list item on the screen.
Default value: 0.
textstringYesNoText of the element.
textLengthLimitnumberYesNoMaximum text length of the element.
textMoveUnitaccessibility.TextMoveUnitYesNoUnit of movement when the text is read.
triggerActionaccessibility.ActionYesNoAction that triggers the element event.
typeWindowTypeYesNoWindow type of the element.
valueMaxnumberYesNoMaximum value.
Default value: 0.
valueMinnumberYesNoMinimum value.
Default value: 0.
valueNownumberYesNoCurrent value.
Default value: 0.
windowIdnumberYesNoWindow ID.
Default value: -1.
textType12+stringYesNoAccessibility text type of an element, which is configured by the accessibilityTextHint attribute of the component.
offset12+numberYesNoPixel offset of the content area relative to the top coordinate of a scrollable component, such as List and Grid.
Default value: 0.
hotArea12+RectYesNoTouchable area of an element.
customComponentType18+stringYesNoCustom component type.
accessibilityNextFocusId18+numberYesNoID of the next component to be focused on. You can use findElement('elementId') to obtain the value of this attribute set on the component from the AccessibilityElementInfo object.
Default value: -1.
accessibilityPreviousFocusId18+numberYesNoID of the previous component to be focused on. You can use findElement('elementId') to obtain the value of this attribute set on the component from the AccessibilityElementInfo object.
Default value: -1.
extraInfo18+stringYesNoExtended attributes, which are used to define the attributes of specific components, including:
- CheckboxGroupSelectedStatus: selection status of the CheckboxGroup component. The options are as follows:
0: selected
1: partially selected
2: not selected
- Row: row where an focused item is located in Grid.
- Column: column where an focused item is located in Grid.
- ListItemIndex: row where an focused item is located in List.
- SideBarContainerStates: expansion state of the expandable components (such as SideBarContainer and Select). The options are as follows:
0: collapsed
1: expanded
- ToggleType: type of the Toggle component. The options are as follows:
0: checkbox
1: switch
2: button
- BindSheet: position of the BindSheet component on the screen. The options are as follows:
0: high
1: middle
2: low
- hasRegisteredHover: whether the component has registered the onAccessibilityHover event callback. The value 1 indicates that the component has registered the event callback; otherwise, this field is not used.
- direction: layout direction of the List component. The value can be vertical or horizontal.
- expandedState: expanded state of list items in the List component. The value can be expanded or collapsed.
accessibilityScrollable18+booleanYesNoWhether an element is scrollable for accessibility. This attribute has a higher priority than scrollable.
- true (default): the element is scrollable.
- false: the element is not scrollable.

FocusDirection

type FocusDirection = 'up'|'down'|'left'|'right'|'forward'|'backward'

Enumerates the focus directions.

System capability: SystemCapability.BarrierFree.Accessibility.Core

TypeDescription
'up'Search for the next focusable item above the current item in focus.
'down'Search for the next focusable item below the current item in focus.
'left'Search for the next focusable item on the left of the current item in focus.
'right'Search for the next focusable item on the right of the current item in focus.
'forward'Search for the next focusable item before the current item in focus.
'backward'Search for the next focusable item after the current item in focus.

FocusType

type FocusType = 'accessibility'|'normal'

Enumerates the focus types.

System capability: SystemCapability.BarrierFree.Accessibility.Core

TypeDescription
'accessibility'Accessibility focus.
'normal'Normal focus.

Rect

Defines a rectangle.

System capability: SystemCapability.BarrierFree.Accessibility.Core

NameTypeReadableWritableDescription
leftnumberYesNoLeft boundary of the rectangle.
topnumberYesNoTop boundary of the rectangle.
widthnumberYesNoWidth of the rectangle.
heightnumberYesNoHeight of the rectangle.

WindowType

type WindowType = 'application'|'system'

Enumerates the window types.

System capability: SystemCapability.BarrierFree.Accessibility.Core

TypeDescription
'application'Application window.
'system'System window.

AccessibilityExtensionContext.setTargetBundleName(deprecated)

setTargetBundleName(targetNames: Array<string>): Promise<void>;

Sets the concerned target bundle. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
targetNamesArray<string>YesBundle name of the concerned target application. The service receives accessibility events of the concerned application. By default, accessibility events of all applications are received. Pass in an empty array if there is no concerned application.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

Example

import { BusinessError } from '@kit.BasicServicesKit';

let targetNames = ['com.ohos.xyz'];
axContext.setTargetBundleName(targetNames).then(() => {
  console.info(`Succeeded in set target bundle names, targetNames is ${targetNames}`);
}).catch((err: BusinessError) => {
  console.error(`failed to set target bundle names, Code is ${err.code}, message is ${err.message}`);
})

AccessibilityExtensionContext.setTargetBundleName(deprecated)

setTargetBundleName(targetNames: Array<string>, callback: AsyncCallback<void>): void;

Sets the concerned target bundle. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
targetNamesArray<string>YesBundle name of the concerned target application. The service receives accessibility events of the concerned application. By default, accessibility events of all applications are received. Pass in an empty array if there is no concerned application.
callbackAsyncCallback<void>YesCallback used to return the result. If the operation fails, err that contains data is returned.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

Example

import { BusinessError } from '@kit.BasicServicesKit';

let targetNames = ['com.ohos.xyz'];
try {
  axContext.setTargetBundleName(targetNames, (err: BusinessError) => {
    if (err && err.code) {
      console.error(`failed to set target bundle names, Code is ${err.code}, message is ${err.message}`);
      return;
    }
    console.info(`Succeeded in set target bundle names, targetNames is ${targetNames}`);
  });
} catch (error) {
  console.error(`failed to set target bundle names, Because ${JSON.stringify(error)}`);
}

AccessibilityExtensionContext.getFocusElement(deprecated)

getFocusElement(isAccessibilityFocus?: boolean): Promise<AccessibilityElement>;

Obtains the focus element. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
isAccessibilityFocusbooleanNoWhether the obtained element is an accessibility focus. The value true indicates that the element is an accessibility focus, and false indicates the opposite.
Default value: false.

Return value

TypeDescription
Promise<AccessibilityElement>Promise used to return the current focus element.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300003No accessibility permission to perform the operation.

Example

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

let rootElement: AccessibilityElement;

axContext.getFocusElement().then((data: AccessibilityElement) => {
  rootElement = data;
  console.log(`Succeeded in get focus element,${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
  console.error(`failed to get focus element, Code is ${err.code}, message is ${err.message}`);
})

AccessibilityExtensionContext.getFocusElement(deprecated)

getFocusElement(callback: AsyncCallback<AccessibilityElement>): void;

Obtains the focus element. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<AccessibilityElement>YesCallback used to return the current focus element.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300003No accessibility permission to perform the operation.

Example

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

let rootElement: AccessibilityElement;

axContext.getFocusElement((err: BusinessError, data: AccessibilityElement) => {
  if (err && err.code) {
    console.error(`failed to get focus element, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  rootElement = data;
  console.info(`Succeeded in get focus element, ${JSON.stringify(data)}`);
});

AccessibilityExtensionContext.getFocusElement(deprecated)

getFocusElement(isAccessibilityFocus: boolean, callback: AsyncCallback<AccessibilityElement>): void;

Obtains the focus element. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
isAccessibilityFocusbooleanYesWhether the obtained focus element is an accessibility focus. The value True means that the obtained focus element is an accessibility focus, and False means the opposite.
callbackAsyncCallback<AccessibilityElement>YesCallback used to return the current focus element.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300003No accessibility permission to perform the operation.

Example

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

let isAccessibilityFocus = true;
let rootElement: AccessibilityElement;

axContext.getFocusElement(isAccessibilityFocus, (err: BusinessError, data: AccessibilityElement)=> {
  if (err && err.code) {
    console.error(`failed to get focus element, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  rootElement = data;
  console.info(`Succeeded in get focus element, ${JSON.stringify(data)}`);
});

AccessibilityExtensionContext.getWindowRootElement(deprecated)

getWindowRootElement(windowId?: number): Promise<AccessibilityElement>;

Obtains the root element of a window. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
windowIdnumberNoWindow for which you want to obtain the root element. If this parameter is not specified, it indicates the current active window.

Return value

TypeDescription
Promise<AccessibilityElement>Promise used to return the root element of the specified window.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300003No accessibility permission to perform the operation.

Example

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

let rootElement: AccessibilityElement;

axContext.getWindowRootElement().then((data: AccessibilityElement) => {
  rootElement = data;
  console.log(`Succeeded in get root element of the window, ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
  console.error(`failed to get root element of the window, Code is ${err.code}, message is ${err.message}`);
});

AccessibilityExtensionContext.getWindowRootElement(deprecated)

getWindowRootElement(callback: AsyncCallback<AccessibilityElement>): void;

Obtains the root element of a window. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<AccessibilityElement>YesCallback used to return the root element.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300003No accessibility permission to perform the operation.

Example

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

let rootElement: AccessibilityElement;

axContext.getWindowRootElement((err: BusinessError, data: AccessibilityElement) => {
  if (err && err.code) {
    console.error(`failed to get root element of the window, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  rootElement = data;
  console.info(`Succeeded in get root element of the window, ${JSON.stringify(data)}`);
});

AccessibilityExtensionContext.getWindowRootElement(deprecated)

getWindowRootElement(windowId: number, callback: AsyncCallback<AccessibilityElement>): void;

Obtains the root element of a window. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
windowIdnumberYesWindow for which you want to obtain the root element. If this parameter is not specified, it indicates the current active window.
callbackAsyncCallback<AccessibilityElement>YesCallback used to return the root element.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300003No accessibility permission to perform the operation.

Example

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

let windowId = 10;
let rootElement: AccessibilityElement;

axContext.getWindowRootElement(windowId, (err: BusinessError, data: AccessibilityElement) => {
  if (err && err.code) {
    console.error(`failed to get root element of the window, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  rootElement = data;
  console.info(`Succeeded in get root element of the window, ${JSON.stringify(data)}`);
});

AccessibilityExtensionContext.getWindows(deprecated)

getWindows(displayId?: number): Promise<Array<AccessibilityElement>>;

Obtains the list of windows on a display. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
displayIdnumberNoID of the display from which the window information is obtained. If this parameter is not specified, it indicates the default main display.

Return value

TypeDescription
Promise<Array<AccessibilityElement>>Promise used to return the window list.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300003No accessibility permission to perform the operation.

Example

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

axContext.getWindows().then((data: AccessibilityElement[]) => {
  console.log(`Succeeded in get windows, ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
  console.error(`failed to get windows, Code is ${err.code}, message is ${err.message}`);
});

AccessibilityExtensionContext.getWindows(deprecated)

getWindows(callback: AsyncCallback<Array<AccessibilityElement>>): void;

Obtains the list of windows on a display. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<Array<AccessibilityElement>>YesCallback used to return the window list.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300003No accessibility permission to perform the operation.

Example

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

axContext.getWindows((err: BusinessError, data: AccessibilityElement[]) => {
  if (err && err.code) {
    console.error(`failed to get windows, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  console.info(`Succeeded in get windows, ${JSON.stringify(data)}`);
});

AccessibilityExtensionContext.getWindows(deprecated)

getWindows(displayId: number, callback: AsyncCallback<Array<AccessibilityElement>>): void;

Obtains the list of windows on a display. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
displayIdnumberYesID of the display from which the window information is obtained. If this parameter is not specified, it indicates the default main display.
callbackAsyncCallback<Array<AccessibilityElement>>YesCallback used to return the window list.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300003No accessibility permission to perform the operation.

Example

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

let displayId = 10;
axContext.getWindows(displayId, (err: BusinessError, data: AccessibilityElement[]) => {
  if (err && err.code) {
    console.error(`failed to get windows, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  console.info(`Succeeded in get windows, ${JSON.stringify(data)}`);
});

AccessibilityExtensionContext.injectGesture(deprecated)

injectGesture(gesturePath: GesturePath): Promise<void>;

NOTE

This API is deprecated since API version 10. Related capabilities are no longer available in the system.

Injects a gesture. This API uses a promise to return the result.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
gesturePathGesturePathYesPath of the gesture to inject.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300003No accessibility permission to perform the operation.

Example

import { GesturePath, GesturePoint } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let gesturePath: GesturePath = new GesturePath(100);

for (let i = 0; i < 10; i++) {
  let gesturePoint = new GesturePoint(100, i * 200);
  gesturePath.points.push(gesturePoint);
}
axContext.injectGesture(gesturePath).then(() => {
  console.info(`Succeeded in inject gesture,gesturePath is ${gesturePath}`);
}).catch((err: BusinessError) => {
  console.error(`failed to inject gesture, Code is ${err.code}, message is ${err.message}`);
});

AccessibilityExtensionContext.injectGesture(deprecated)

injectGesture(gesturePath: GesturePath, callback: AsyncCallback<void>): void

NOTE

This API is deprecated since API version 10. Related capabilities are no longer available in the system.

Injects a gesture. This API uses an asynchronous callback to return the result.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
gesturePathGesturePathYesPath of the gesture to inject.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300003No accessibility permission to perform the operation.

Example

import { GesturePath, GesturePoint } from '@kit.AccessibilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

let gesturePath: GesturePath = new GesturePath(100);
for (let i = 0; i < 10; i++) {
  let gesturePoint = new GesturePoint(100, i * 200);
  gesturePath.points.push(gesturePoint);
}
axContext.injectGesture(gesturePath, (err: BusinessError) => {
  if (err) {
    console.error(`failed to inject gesture, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  console.info(`Succeeded in inject gesture,gesturePath is ${gesturePath}`);
});

AccessibilityExtensionContext.injectGestureSync(deprecated)

injectGestureSync(gesturePath: GesturePath): void

Injects a gesture.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
gesturePathGesturePathYesPath of the gesture to inject.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300003No accessibility permission to perform the operation.

Example

import { GesturePath, GesturePoint } from '@kit.AccessibilityKit';

let gesturePath: GesturePath = new GesturePath(100);
for (let i = 0; i < 10; i++) {
  let gesturePoint = new GesturePoint(100, i * 200);
  gesturePath.points.push(gesturePoint);
}
axContext.injectGestureSync(gesturePath);

AccessibilityElement9+

Defines the AccessibilityElement. Before calling APIs of AccessibilityElement, you must call AccessibilityExtensionContext.getFocusElement() or AccessibilityExtensionContext.getWindowRootElement() to obtain an AccessibilityElement instance.

System capability: SystemCapability.BarrierFree.Accessibility.Core

attributeNames(deprecated)

attributeNames<T extends keyof ElementAttributeValues>() : Promise<Array<T>>;

Obtains all attribute names of this element. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Return value

TypeDescription
Promise<Array<T>>Promise used to return all attribute names of the element.

Example

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

// rootElement is an instance of AccessibilityElement.
rootElement.attributeNames().then((data: ElementAttributeKeys[]) => {
  console.log(`Succeeded in get attribute names, ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
  console.log(`failed to get attribute names, Code is ${err.code}, message is ${err.message}`);
});

attributeNames(deprecated)

attributeNames<T extends keyof ElementAttributeValues>(callback: AsyncCallback<Array<T>>): void;

Obtains all attribute names of this element. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<Array<T>>YesCallback used to return all attribute names of the element.

Example

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

// rootElement is an instance of AccessibilityElement.
rootElement.attributeNames((err: BusinessError, data: ElementAttributeKeys[]) => {
  if (err && err.code) {
    console.error(`failed to get attribute names, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  console.info(`Succeeded in get attribute names, ${JSON.stringify(data)}`);
});

attributeValue(deprecated)

attributeValue<T extends keyof ElementAttributeValues>(attributeName: T): Promise<ElementAttributeValues[T]>;

Obtains the attribute value based on an attribute name. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
attributeNameElementAttributeKeysYesAttribute name.

Return value

TypeDescription
Promise<ElementAttributeValues[T]>Promise used to return the attribute value.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300004This property does not exist.

Example

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

let attributeName: ElementAttributeKeys = 'bundleName';

// rootElement is an instance of AccessibilityElement.
rootElement.attributeValue(attributeName).then((data: string) => {
  console.log(`Succeeded in get attribute value by name, ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
  console.error(`failed to get attribute value, Code is ${err.code}, message is ${err.message}`);
});

attributeValue(deprecated)

attributeValue<T extends keyof ElementAttributeValues>(attributeName: T, callback: AsyncCallback<ElementAttributeValues[T]>): void;

Obtains the attribute value based on an attribute name. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
attributeNameElementAttributeKeysYesAttribute name.
callbackAsyncCallback<ElementAttributeValues[T]>YesCallback used to return the attribute value.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300004This property does not exist.

Example

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

let attributeName: ElementAttributeKeys = 'bundleName';

// rootElement is an instance of AccessibilityElement.
rootElement.attributeValue(attributeName, (err: BusinessError, data: string) => {
  if (err && err.code) {
    console.error(`failed to get attribute value, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  console.info(`Succeeded in get attribute value, ${JSON.stringify(data)}`);
});

actionNames(deprecated)

actionNames(): Promise<Array<string>>;

Obtains the names of all actions supported by this element. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Return value

TypeDescription
Promise<Array<string>>Promise used to return the names of all actions supported by the element.

Example

import { BusinessError } from '@kit.BasicServicesKit';

// rootElement is an instance of AccessibilityElement.
rootElement.actionNames().then((data: string[]) => {
  console.log(`Succeeded in get action names, ${JSON.stringify(data)}`);
}).catch((err: BusinessError) => {
  console.error(`failed to get action names, Code is ${err.code}, message is ${err.message}`);
})

actionNames(deprecated)

actionNames(callback: AsyncCallback<Array<string>>): void;

Obtains the names of all actions supported by this element. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<Array<string>>YesCallback used to return the names of all actions supported by the element.

Example

// rootElement is an instance of AccessibilityElement.
rootElement.actionNames((err: BusinessError, data: string[]) => {
  if (err && err.code) {
    console.error(`failed to get action names, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  console.info(`Succeeded in get action names, ${JSON.stringify(data)}`);
})

performAction(deprecated)

performAction(actionName: string, parameters?: object): Promise<void>;

Performs an action based on the specified action name. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
actionNamestringYesAction name. For details, see Action.
parametersobjectNoParameters required for performing the target action. Empty by default.

Return value

TypeDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300005This action is not supported.

Example

import { BusinessError } from '@kit.BasicServicesKit';

let actionName = 'action';

// rootElement is an instance of AccessibilityElement.
rootElement.performAction(actionName).then(() => {
  console.info(`Succeeded in perform action,actionName is ${actionName}`);
}).catch((err: BusinessError) => {
  console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`);
});

Example of an action without parameters:

import { BusinessError } from '@kit.BasicServicesKit';

// rootElement is an instance of AccessibilityElement.
// An action that does not require any parameter setting is an action without parameters, as specified in the action description.
rootElement.performAction('click').then(() => {
  console.info(`Succeeded in perform action.`);
}).catch((err: BusinessError) => {
  console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`);
});

Example of an action with parameters:

import { BusinessError } from '@kit.BasicServicesKit';

// rootElement is an instance of AccessibilityElement.
// Sample code of setSelection
rootElement.performAction('setSelection', {
  selectTextBegin: '0', // Indicates the start position of selection.
  selectTextEnd: '8',   // Indicates the end position of selection.
  selectTextInForWard: true   // true indicates the insertion point, and false indicates the selection range.
}).then(() => {
  console.info(`Succeeded in perform action`);
}).catch((err: BusinessError) => {
  console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`);
});
import { BusinessError } from '@kit.BasicServicesKit';

// rootElement is an instance of AccessibilityElement.
// Sample code of setCursorPosition
rootElement.performAction('setCursorPosition', {
  offset: '1'   // Position of the cursor.
}).then(() => {
  console.info(`Succeeded in perform action`);
}).catch((err: BusinessError) => {
  console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`);
});

performAction(deprecated)

performAction(actionName: string, callback: AsyncCallback<void>): void;

Performs an action based on the specified action name. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
actionNamestringYesAction name. For details, see Action.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300005This action is not supported.

Example

import { BusinessError } from '@kit.BasicServicesKit';

let actionName = 'action';

// rootElement is an instance of AccessibilityElement.
rootElement.performAction(actionName, (err: BusinessError) => {
  if (err && err.code) {
    console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  console.info(`Succeeded in perform action, actionName is ${actionName}`);
});

performAction(deprecated)

performAction(actionName: string, parameters: object, callback: AsyncCallback<void>): void;

Performs an action based on the specified action name. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
actionNamestringYesAction name. For details, see Action.
parametersobjectYesParameters required for performing the target action. Empty by default.
callbackAsyncCallback<void>YesCallback used to return the result.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.
9300005This action is not supported.

Example

import { BusinessError } from '@kit.BasicServicesKit';

let actionName = 'action';
let parameters: object = [];

// rootElement is an instance of AccessibilityElement.
rootElement.performAction(actionName, parameters, (err: BusinessError) => {
  if (err && err.code) {
    console.error(`failed to perform action, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  console.info(`Succeeded in perform action,actionName is ${actionName}, parameters is ${parameters}`);
});

findElement('content')(deprecated)

findElement(type: 'content', condition: string): Promise<Array<AccessibilityElement>>;

Finds an element based on the content type. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
typestringYesType of element finding. The value is fixed at 'content'.
conditionstringYesSearch criteria.

Return value

TypeDescription
Promise<Array<AccessibilityElement>>Promise used to return the result.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

Example

import { BusinessError } from '@kit.BasicServicesKit';

let condition = 'keyword';

// rootElement is an instance of AccessibilityElement.
rootElement.findElement('content', 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('content')(deprecated)

findElement(type: 'content', condition: string, callback: AsyncCallback<Array<AccessibilityElement>>): void;

Finds an element based on the content type. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
typestringYesType of element finding. The value is fixed at 'content'.
conditionstringYesSearch criteria.
callbackAsyncCallback<Array<AccessibilityElement>>YesCallback used to return the result.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

Example

import { BusinessError } from '@kit.BasicServicesKit';

let condition = 'keyword';

// rootElement is an instance of AccessibilityElement.
rootElement.findElement('content', condition, (err: BusinessError, data: AccessibilityElement[])=>{
  if (err && err.code) {
    console.error(`failed to find element, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  console.info(`Succeeded in find element, ${JSON.stringify(data)}`);
});

findElement('focusType')(deprecated)

findElement(type: 'focusType', condition: FocusType): Promise<AccessibilityElement>;

Finds an element based on the focus type. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
typestringYesType of element finding. The value is fixed at 'focusType'.
conditionFocusTypeYesFocus type.

Return value

TypeDescription
Promise<AccessibilityElement>Promise used to return the result.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

Example

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

let condition: FocusType = 'normal';

// rootElement is an instance of AccessibilityElement.
rootElement.findElement('focusType', 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('focusType')(deprecated)

findElement(type: 'focusType', condition: FocusType, callback: AsyncCallback<AccessibilityElement>): void;

Finds an element based on the focus type. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
typestringYesType of element finding. The value is fixed at 'focusType'.
conditionFocusTypeYesFocus type.
callbackAsyncCallback<AccessibilityElement>YesCallback used to return the result.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

Example

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

let condition: FocusType = 'normal';

// rootElement is an instance of AccessibilityElement.
rootElement.findElement('focusType', condition, (err: BusinessError, data: AccessibilityElement)=>{
  if (err && err.code) {
    console.error(`failed to find element, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  console.info(`Succeeded in find element, ${JSON.stringify(data)}`);
});

findElement('focusDirection')(deprecated)

findElement(type: 'focusDirection', condition: FocusDirection): Promise<AccessibilityElement>;

Finds an element based on the focus direction. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
typestringYesType of element finding. The value is fixed at 'focusDirection'.
conditionFocusDirectionYesFocus direction.

Return value

TypeDescription
Promise<AccessibilityElement>Promise used to return the result.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

Example

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

let condition: FocusDirection = 'up';

// rootElement is an instance of AccessibilityElement.
rootElement.findElement('focusDirection', 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('focusDirection')(deprecated)

findElement(type: 'focusDirection', condition: FocusDirection, callback: AsyncCallback<AccessibilityElement>): void;

Finds an element based on the focus direction. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 12. Related capabilities are no longer available in the system.

System capability: SystemCapability.BarrierFree.Accessibility.Core

Parameters

NameTypeMandatoryDescription
typestringYesType of element finding. The value is fixed at 'focusDirection'.
conditionFocusDirectionYesDirection of the next focus element.
callbackAsyncCallback<AccessibilityElement>YesCallback used to return the result.

Error codes

For details about the error codes, see Accessibility Error Codes.

IDError Message
401Input parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

Example

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

let condition: FocusDirection = 'up';

// rootElement is an instance of AccessibilityElement.
rootElement.findElement('focusDirection', condition, (err: BusinessError, data: AccessibilityElement) =>{
  if (err && err.code) {
    console.error(`failed to find element, Code is ${err.code}, message is ${err.message}`);
    return;
  }
  console.info(`Succeeded in find element, ${JSON.stringify(data)}`);
});

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Accessibility Kit

harmony 鸿蒙Accessibility Error Codes

harmony 鸿蒙@ohos.accessibility.GesturePath (Gesture Path)

harmony 鸿蒙@ohos.accessibility.GesturePoint (Gesture Point)

harmony 鸿蒙@ohos.accessibility.config (SystemAPI)

harmony 鸿蒙@ohos.accessibility (Accessibility)

harmony 鸿蒙@ohos.application.AccessibilityExtensionAbility (AccessibilityExtensionAbility)

harmony 鸿蒙AccessibilityExtensionContext (System API)

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/YZtMld