/
githubmirror
/
Front-End-Checklist
Обзор
Документация
Войти
/
githubmirror
/
Front-End-Checklist
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
apps/web/lib/accessibility/screen-reader.ts
41 строка
1 KB
David Dias
chore: new v2 version
30 май 2026, 00:54
30 май 2026, 00:54
7c05904
Код
Авторство
О чём код?
/** Screen reader announcement utilities. */ /** Announces a message to screen readers via a temporary ARIA live region. */ export function announce(message: string, priority: 'polite' | 'assertive' = 'polite'): void { const announcement = document.createElement('div') announcement.setAttribute('role', 'status') announcement.setAttribute('aria-live', priority) announcement.setAttribute('aria-atomic', 'true') announcement.className = 'sr-only' announcement.textContent = message document.body.appendChild(announcement) setTimeout(() => { document.body.removeChild(announcement) }, 1000) } /** Creates a persistent ARIA live region for repeated announcements; returns announce/destroy handles. */ export function createLiveRegion(priority: 'polite' | 'assertive' = 'polite'): { announce: (message: string) => void destroy: () => void } { const region = document.createElement('div') region.setAttribute('role', 'status') region.setAttribute('aria-live', priority) region.setAttribute('aria-atomic', 'true') region.className = 'sr-only' document.body.appendChild(region) return { announce: (message: string) => { region.textContent = '' void region.offsetHeight region.textContent = message }, destroy: () => { document.body.removeChild(region) } } }