Перейти к основному содержимому

announce()

Описание​

Озвучивает сообщение для пользователей программ чтения с экрана

Использование​

announce(message: string): void;

Параметры​

  • message - (обязательный) текст для озвучивания. Пустая строка очищает сообщение

Пример​

В примере ниже пользовательская команда меню подсчитывает пустые ячейки в выделенном диапазоне и озвучивает результат:

const spreadsheet = new dhx.Spreadsheet("spreadsheet_container", {
menu: true,
// other config parameters
});
spreadsheet.parse(data);

spreadsheet.menu.data.add({
id: "count-empty",
value: "Count empty cells"
});

spreadsheet.menu.events.on("click", function (id) {
if (id === "count-empty") {
let count = 0;
spreadsheet.eachCell(function (cell, value) {
if (value === "" || value === undefined || value === null) count++;
}, spreadsheet.selection.getSelectedCell());
spreadsheet.announce(count + " empty cells in the selection");
}
});

Подробности​

Используйте метод, чтобы сообщить пользователям программ чтения с экрана о результате действия, у которого нет собственного видимого элемента, например, пользовательской команды панели инструментов или меню.

Сообщение попадает в визуально скрытую live-область, расположенную сразу после элемента сетки (role="status", aria-live="polite", aria-atomic="true"). Программа чтения с экрана зачитывает его после завершения текущей речи, при этом фокус клавиатуры не перемещается.

Spreadsheet озвучивает собственные сообщения через ту же область: выделенный диапазон, новые ошибки формул и недопустимые значения, отклонённые правки, результаты поиска, начало и конец импорта и экспорта, а также новую ширину столбцов и высоту строк (см. список статусных оповещений). Область хранит одно сообщение за раз, поэтому следующее сообщение, ваше или встроенное, заменяет предыдущее.

Если передать текст, который в данный момент находится в области, программа чтения с экрана зачитает его повторно.

Метод также работает в режиме только для чтения и при отключённом выделении. Он ничего не делает, пока Spreadsheet не добавлен на страницу, и после вызова метода destructor().

Журнал изменений: Добавлено в v6.0.4

Связанные статьи: