Как сделать элемент <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 года.)