Услуги Портфолио Контакты БлогНовости +7 (800) 302‑79‑27 Обсудить проект
ИИ / LLM

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

11 ноября 2026·4 мин чтения
Firefox 160Web Speech API
Распознавание речи без облака: 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.
  • Стоимость. Нет счёта за каждую минуту распознанной речи.

Для форм обратной связи, поиска по каталогу или заметок этого достаточно, а сложные сценарии вроде расшифровки звонков по-прежнему остаются за серверными моделями.

Что это значит для сайтов и интерфейсов

Голосовой ввод становится обычным элементом интерфейса, а не отдельным проектом. Кнопка микрофона в поиске, диктовка длинного текста в заявке, голосовые команды в веб-приложении для склада или выездных сотрудников — такие функции можно закладывать в макет и прототип на этапе дизайна.

Отдельный плюс — доступность. Людям, которым сложно печатать, голосовой ввод на сайте заметно упрощает работу с формами. Подробнее о принципах доступных интерфейсов — в нашем материале о доступности. Но голос не должен быть единственным способом ввода: поле с клавиатурой всегда остаётся основным вариантом.

Как внедрить голосовой ввод без регрессий

  1. Проверяйте поддержку, а не браузер. Показывайте кнопку микрофона, только если в window есть SpeechRecognition или webkitSpeechRecognition. Без поддержки интерфейс должен выглядеть как обычная форма.
  2. Учитывайте разницу в обработке. В одних браузерах речь распознаётся локально, в других может уходить на сервер вендора. Если для продукта это важно, опишите это в политике конфиденциальности и в подсказке у кнопки.
  3. Задавайте язык явно. Свойство lang экземпляра распознавания должно совпадать с языком интерфейса, иначе качество заметно падает.
  4. Обрабатывайте ошибки и отказ в доступе. Пользователь может запретить микрофон, а устройство — не поддерживать нужный язык. Сообщение об ошибке должно быть понятным, а ввод с клавиатуры — доступным.
  5. Проверьте WebTransport-код. Если проект использует exportKeyingMaterial() или старые свойства датаграмм, обновите вызовы до выхода релиза к основной массе пользователей.

Часто задаваемые вопросы

Работает ли распознавание речи в Firefox на телефоне? Нет. По данным Mozilla, в Firefox 160 функция доступна только в десктопной версии, Android не поддерживается.

Нужно ли что-то включать в настройках браузера? Флаг не требуется: интерфейс доступен в стабильной версии. Сайт, как и для любой работы с микрофоном, должен запросить разрешение у пользователя.

Можно ли отказаться от облачного API распознавания? Для коротких фраз, поиска и диктовки в формах — во многих случаях да, если аудитория пользуется браузерами с поддержкой. Для записи и расшифровки длинных разговоров, аналитики и мобильных пользователей Firefox серверное решение пока остаётся нужным. Что вошло в предыдущий релиз браузера — в нашей новости о Firefox 159.

Источники

Материал подготовлен редакцией YuSMP Group по открытым источникам. Нужна экспертиза по теме или разработка под задачу — обсудим проект.

Нужен голосовой ввод на сайте?

Добавим голосовой поиск и диктовку в формы на современных браузерных API: с проверкой поддержки, понятными ошибками и обычным вводом с клавиатуры как запасным вариантом.

Обсудить frontend-разработку