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

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

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

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

Спасибо!


person Bruno Mazza    schedule 04.08.2018    source источник
comment
Не у всех есть возможность включить jJavaScript. Поэтому ваш веб-сайт недоступен для этих пользователей.   -  person Alohci    schedule 04.08.2018
comment
Понятно, но в этом случае, я думаю, мне следует просто игнорировать предупреждение о расширении WAVE, верно? Спасибо, в любом случае.   -  person Bruno Mazza    schedule 04.08.2018


Ответы (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 г.)

person Tsundoku    schedule 04.08.2018