Skip to content

useLiveAnnouncer

类别
导出大小

向屏幕阅读器用户传达消息的便捷方式(ARIA 实时区域)。

🌐 Accessible way to announce messages to screen reader users (ARIA live regions).

示例

Click the buttons below to trigger screen reader announcements.

Note: You need a screen reader active to hear the announcements.

用法

🌐 Usage

ts
import { 
useLiveAnnouncer
} from '@vueuse/core'
const {
announce
,
polite
,
assertive
} =
useLiveAnnouncer
()
announce
('This is a polite announcement')
polite
('This is also a polite announcement')
assertive
('Important message!')

消息会一直保留在实时区域,直到被下一条公告替换。传入一个 timeout(以毫秒为单位)可以在延迟后自动清除它:

🌐 The message stays in the live region until it is replaced by the next announcement. Pass a timeout (in milliseconds) to automatically clear it after a delay:

ts
// clears the message after 3000ms
announce('Saved successfully', 'polite', 3000)
polite('Saved successfully', 3000)
assertive('Network error', 3000)
js
'use strict'
// clears the message after 3000ms
announce('Saved successfully', 'polite', 3000)
polite('Saved successfully', 3000)
assertive('Network error', 3000)

无障碍

🌐 Accessibility

播报员使用以下 ARIA 属性:

🌐 The announcer uses the following ARIA attributes:

  • 礼貌role="status"aria-live="polite"aria-atomic="true"
  • 自信role="alert"aria-live="assertive"aria-atomic="true"

这些能确保在不同的屏幕阅读器上都有良好的支持。

🌐 These ensure robust support across different screen readers.

选项

🌐 Options

idPrefix

  • 类型:string
  • 默认: 'vueuse-live-announcer'

播报器元素 ID 的前缀。生成的元素将有 ID ${idPrefix}-container${idPrefix}-polite${idPrefix}-assertive

🌐 Prefix for the id of the announcer elements. The generated elements will have IDs ${idPrefix}-container, ${idPrefix}-polite, and ${idPrefix}-assertive.

window

  • 类型:Window
  • 默认: defaultWindow

将创建播报元素的窗口对象。

🌐 The window object where the announcer elements will be created.