Как сделать элемент <noscript> доступным?

Я тестирую свое приложение с расширением Chrome WAVE (Web Accessibility Evaluation Tool) и получаю предупреждение <noscript> элемент. В частности, предупреждение говорит мне: "Убедитесь, что скриптовое содержимое доступно. Содержимое будет представлено очень немногим пользователям, но должно быть доступно при использовании".

Теперь я пытался найти жизнеспособное решение (пытался с aria-hidden="true"), но не могу найти окончательного. Любая идея?

Изменить: мой <noscript> Элемент содержит только строку текста: "Вам нужно включить JavaScript для запуска этого приложения".

Спасибо!

1 ответ

Решение

Когда noscript Элемент выглядит следующим образом, он отлично доступен:

<noscript>You need to enable JavaScript to run this app.</noscript>

Тем не менее, методы WCAG 2 вряд ли используют noscript элемент. Единственный пример, который я смог найти, был в технике SCR19: использование события onchange для элемента select без изменения контекста, даже если это не более актуально, чем в других методах JavaScript.

Смысл предупреждения в расширении WAVE не в том, что вам нужно добавлять атрибут ARIA; noscript датируется спецификацией HTML 4.10 1999 года, задолго до появления WAI-ARIA, и прекрасно работала без атрибутов ARIA.

Что вам нужно сделать, так это убедиться, что контент с поддержкой JavaScript на вашем сайте доступен. (Это где WAI-ARIA может иметь значение.)

То, как вы работаете с пользовательскими агентами, которые не поддерживают JavaScript, зависит от вашего подхода к дизайну сайта. Предполагая, что вы хотите предложить полезный запасной вариант для пользовательских агентов, которые не поддерживают JavaScript, вы можете сделать следующее:

  • Либо вы предоставляете функциональную альтернативу в noscript элемент. Однако во многих случаях (в зависимости от того, что на самом деле делает JavaScript), это не будет эквивалентным запасным вариантом.
  • Или вы используете "прогрессивное улучшение": то есть вы предоставляете базовую функциональность, которая работает без JavaScript, а затем добавляете JavaScript, чтобы обеспечить более богатый опыт.

(Адвокация для прогрессивного улучшения является одной из причин, почему noscript Элемент не используется много (если вообще) в "современных" методах доступности. Однако само прогрессивное улучшение также стало предметом дебатов. В 2013 году его сторонники уже почувствовали необходимость защитить его от предположения о том, что у всех включен JavaScript; см., например, Прогрессивное улучшение все еще важно с июля 2013 года.)

Другие вопросы по тегам