Ответ, скорее всего, будет противоположен тому, как вы сформулировали вопрос.
Ограничивает ли Mac VoiceOver свою функциональность в Chrome / Firefox?
Как правило, нет. Веб-разработчики часто предполагают, что проблема заключается в программе чтения с экрана, но часто отсутствует реализация веб-браузера. Когда семантика HTML и ARIA передается, как ожидается, одним браузером, но не другим браузером, с использованием той же операционной системы и программы чтения с экрана , это обычно указывает на разницу в реализации браузера.
Программы чтения с экрана не читают веб-страницы напрямую. Вместо этого программы чтения с экрана (и другие вспомогательные технологии) взаимодействуют с веб-браузерами (и другими собственными приложениями) через API специальных возможностей, предоставляемый операционной системой. Программа чтения с экрана может сообщать только то, что было сказано веб-браузером. Веб-браузеры должны передавать метаданные о доступности операционной системе, которая, в свою очередь, доступна для программы чтения с экрана. В частности, Firefox плохо работает с API доступа к macOS.
WCAG использует термин « доступность поддерживается » для описания этого. По сути, все эти утки должны быть в одном ряду:
- Разработчик веб-страницы правильно использует HTML и ARIA. Обратите внимание, что у ARIA есть модель контента; Ожидается, что некоторые роли / свойства будут использоваться в сочетании с другими свойствами и ролями детей.
- Веб-браузер правильно реализует семантику HTML и ARIA и предоставляет доступ к API-интерфейсам доступности в операционной системе хоста с правильными сопоставлениями.
- API доступа, предоставляемые операционной системой хоста, также должны моделировать ту же информацию.
- Вспомогательная технология (средства чтения с экрана и т. Д.) Использует это, чтобы информировать пользователя о том, что находится на экране, и передавать свои взаимодействия обратно по обратному маршруту. Программы чтения с экрана разрабатывают различные подходы к проектированию того, как лучше всего это представить: они предоставляют предпочтения пользователя для управления такими вещами, как многословие и пунктуация; и инструменты для проверки структуры документа или списка ссылок.
Тем не менее, некоторые программы чтения с экрана, такие как JAWS, могут подключаться непосредственно к процессу браузера, потому что исторически это был лучший способ сделать что-то до разработки API доступа. Я слышал, что некоторые вспомогательные технологии могут использовать нестандартное поведение в качестве обходного пути для ошибок браузера, но я не могу привести цитату для хорошего примера. Заглядывая в будущее, правильным способом является использование API доступа на уровне ОС, которые поставщики ОС могут применять в определенный момент. Программы чтения с экрана действительно имеют возможности пользовательских сценариев, и некоторые поставщики распространяют сценарии (хаки) для улучшения определенных веб-сайтов.
Дополнительная информация:
- API-интерфейсы специальных возможностей: ключ к веб-доступности - хорошее введение в тему.
- WhatSock's Руководство по дереву доступности углубляется.
- PowerMapper опубликовал обширную надежность чтения с экрана информацию. Подробные результаты тестирования сравнивают многие комбинации браузера, ОС и программы чтения с экрана.
- Инструменты разработчика браузера теперь позволяют просматривать дерево специальных возможностей ( Firefox , Chrome ). Это показывает, что браузер отправляет API доступа на уровне ОС.
- Для проверки информации о доступности, когда она проходит через API-интерфейсы доступа на уровне ОС, вы можете использовать aViewer (Windows) или XCode Accessiblity Inspector (macOS).
- Ожидаемое поведение для сопоставления веб-контента с API-интерфейсами доступа на уровне ОС описано в различных документах W3C: Отображения API-интерфейса ядра , Отображения API-доступа HTML , Доступность SVG Сопоставления API , Доступное имя и описание Вычисление . Ожидается, что поставщики браузеров будут их реализовывать.
- Средства отслеживания ошибок для различных программ чтения с экрана часто дают представление о том, возникает ли конкретная ошибка в браузере или программе чтения с экрана.