跳到主要内容
版本:v2

Accessibility

无障碍功能 API 可以轻松检测用户是否启用了屏幕阅读器,同时支持通过已连接的屏幕阅读器以编程方式朗读文本标签。

示例

import { Plugins } from '@capacitor/core';

const { Accessibility, Modals } = Plugins;

Accessibility.addListener('accessibilityScreenReaderStateChange', (state) => {
console.log(state.value);
});

async isVoiceOverEnabled() {
var vo = await Accessibility.isScreenReaderEnabled();
alert('Voice over enabled? ' + vo.value);
}

async speak() {
var value = await Modals.prompt({
title: "待朗读内容",
message: "请输入要朗读的文本"
});

Accessibility.speak({value: value.value});
}

API

isScreenReaderEnabled()

isScreenReaderEnabled() => Promise<ScreenReaderEnabledResult>

检测设备是否启用了屏幕阅读器

返回值:

Promise<ScreenReaderEnabledResult>


speak(...)

speak(options: AccessibilitySpeakOptions) => Promise<void>

通过连接的屏幕阅读器朗读指定字符串。

参数类型
options
AccessibilitySpeakOptions

addListener(...)

addListener(eventName: 'accessibilityScreenReaderStateChange', listenerFunc: ScreenReaderStateChangeCallback) => PluginListenerHandle

监听屏幕阅读器状态变化(开启/关闭)

参数类型
eventName"accessibilityScreenReaderStateChange"
listenerFunc
(state: ScreenReaderEnabledResult) => void

返回值:

PluginListenerHandle


removeAllListeners()

removeAllListeners() => void

移除该插件所有原生监听器


Interfaces

ScreenReaderEnabledResult

属性类型
valueboolean

AccessibilitySpeakOptions

属性类型描述
valuestring待朗读的字符串
languagestring朗读使用的语言代码(ISO 639-1 标准),例如"en"。目前仅 Android 平台支持此参数。

PluginListenerHandle

属性类型
remove() => void