Распознавание речи без облака: Firefox 160 открыл сайтам SpeechRecognition на устройстве

10 ноября 2026 года Mozilla выпустила Firefox 160, и в десктопной версии браузера заработало распознавание речи через Web Speech API. Перевод голоса в текст идёт прямо на устройстве, в реальном времени и на 40 языках: звук не отправляется на удалённый сервис. Сайт может принимать голосовой ввод без собственного облачного движка.
Для команд, которые занимаются разработкой сайтов и веб-сервисов, это меняет расчёт. Голосовой поиск, диктовка в формах и голосовые команды раньше означали интеграцию с платным API распознавания, хранение аудио и вопросы к обработке персональных данных. Теперь часть сценариев закрывает сам браузер, и обработка остаётся на компьютере пользователя.
Ограничения тоже есть: на Android распознавание в Firefox пока не работает, а облачный режим не поддерживается вовсе. Ниже разбираем, что именно вошло в релиз, что это даёт frontend-разработке и как внедрять голосовой ввод так, чтобы он не ломался в других браузерах.
Что нового в Firefox 160 для веб-разработчиков
- SpeechRecognition на устройстве. Интерфейс распознавания из Web Speech API доступен в десктопном Firefox: речь превращается в текст локально, в реальном времени, поддерживаются 40 языков. На Android функция недоступна, удалённое (облачное) распознавание не поддерживается.
- WebTransport: заголовки и потоки. Конструктор
WebTransport()принимает опциюheadersдля собственных HTTP-заголовков в запросеCONNECT, а ответ сервера доступен вWebTransport.responseHeaders. ОпцияdatagramsReadableType: "bytes"делает поток датаграмм байтовым, что позволяет переиспользовать буферы. - Ломающее изменение в WebTransport. У метода
exportKeyingMaterial()аргументcontextстал обязательным, появилсяoutputLength. Код, который вызывал метод без аргументов, нужно обновить. НестандартныеincomingHighWaterMarkиoutgoingHighWaterMarkзаменены наincomingMaxBufferedDatagramsиoutgoingMaxBufferedDatagrams. - CSS-совместимость. Псевдоэлемент
::-webkit-input-placeholderтеперь работает как алиас::placeholder: старые стили плейсхолдеров в полях ввода перестанут «теряться» в Firefox. - Удалено. Нестандартное событие
MozScrolledAreaChangedбольше не приходит веб-страницам.
Чем локальное распознавание речи отличается от облачного?
Интерфейс SpeechRecognition давно описан в спецификации Web Speech API, но на практике на него было трудно опираться. В ряде браузеров распознавание выполнялось на серверах вендора, а Firefox до этого релиза не давал сайтам рабочего распознавания вовсе. В итоге команды, которым нужен голосовой ввод, чаще всего записывали аудио и отправляли его в сторонний сервис.
Локальная обработка снимает сразу три проблемы:
- Приватность. Голос не покидает устройство, поэтому меньше вопросов к передаче данных третьим лицам.
- Скорость и надёжность. Нет сетевой задержки и зависимости от квот внешнего API.
- Стоимость. Нет счёта за каждую минуту распознанной речи.
Для форм обратной связи, поиска по каталогу или заметок этого достаточно, а сложные сценарии вроде расшифровки звонков по-прежнему остаются за серверными моделями.
Что это значит для сайтов и интерфейсов
Голосовой ввод становится обычным элементом интерфейса, а не отдельным проектом. Кнопка микрофона в поиске, диктовка длинного текста в заявке, голосовые команды в веб-приложении для склада или выездных сотрудников — такие функции можно закладывать в макет и прототип на этапе дизайна.
Отдельный плюс — доступность. Людям, которым сложно печатать, голосовой ввод на сайте заметно упрощает работу с формами. Подробнее о принципах доступных интерфейсов — в нашем материале о доступности. Но голос не должен быть единственным способом ввода: поле с клавиатурой всегда остаётся основным вариантом.
Как внедрить голосовой ввод без регрессий
- Проверяйте поддержку, а не браузер. Показывайте кнопку микрофона, только если в
windowестьSpeechRecognitionилиwebkitSpeechRecognition. Без поддержки интерфейс должен выглядеть как обычная форма. - Учитывайте разницу в обработке. В одних браузерах речь распознаётся локально, в других может уходить на сервер вендора. Если для продукта это важно, опишите это в политике конфиденциальности и в подсказке у кнопки.
- Задавайте язык явно. Свойство
langэкземпляра распознавания должно совпадать с языком интерфейса, иначе качество заметно падает. - Обрабатывайте ошибки и отказ в доступе. Пользователь может запретить микрофон, а устройство — не поддерживать нужный язык. Сообщение об ошибке должно быть понятным, а ввод с клавиатуры — доступным.
- Проверьте WebTransport-код. Если проект использует
exportKeyingMaterial()или старые свойства датаграмм, обновите вызовы до выхода релиза к основной массе пользователей.
Часто задаваемые вопросы
Работает ли распознавание речи в Firefox на телефоне? Нет. По данным Mozilla, в Firefox 160 функция доступна только в десктопной версии, Android не поддерживается.
Нужно ли что-то включать в настройках браузера? Флаг не требуется: интерфейс доступен в стабильной версии. Сайт, как и для любой работы с микрофоном, должен запросить разрешение у пользователя.
Можно ли отказаться от облачного API распознавания? Для коротких фраз, поиска и диктовки в формах — во многих случаях да, если аудитория пользуется браузерами с поддержкой. Для записи и расшифровки длинных разговоров, аналитики и мобильных пользователей Firefox серверное решение пока остаётся нужным. Что вошло в предыдущий релиз браузера — в нашей новости о Firefox 159.
Источники
- MDN — Firefox 160 release notes for developers, 10 ноября 2026 (первоисточник).
- Mozilla — Firefox 160.0 Release Notes, 10 ноября 2026.
- Phoronix — Firefox 160 Available With Speech-To-Text, ноябрь 2026.
- LWN.net — Firefox 160 released, ноябрь 2026.
Нужен голосовой ввод на сайте?
Добавим голосовой поиск и диктовку в формы на современных браузерных API: с проверкой поддержки, понятными ошибками и обычным вводом с клавиатуры как запасным вариантом.