如何使 <noscript> 元素可访问?

Bru*_*zza 5 html accessibility noscript wai-aria

我正在使用WAVE(Web 可访问性评估工具)Chrome 扩展程序测试我的应用程序,并且我的<noscript>元素收到警告。具体来说,警告告诉我:“确保脚本化的内容是可访问的。内容将呈现给极少数用户,但如果使用,则必须是可访问的。”

现在,我一直在努力寻找可行的解决方案(尝试使用aria-hidden="true"),但似乎无法找到确定的解决方案。任何的想法?

编辑:我的<noscript>元素仅包含一串文本:“您需要启用 JavaScript 才能运行此应用程序。”

谢谢!

use*_*800 5

noscript元素如下所示时,它是完全可访问的:

<noscript>You need to enable JavaScript to run this app.</noscript>
Run Code Online (Sandbox Code Playgroud)

但是,WCAG 2 技术几乎不使用该noscript元素。我能找到的唯一示例是技术 SCR19:在 select 元素上使用 onchange 事件而不会导致上下文更改,即使它在这里并不比其他 JavaScript 技术相关。

WAVE 扩展中的警告点不是您需要添加 ARIA 属性;noscriptHTML 4.10 规范的日期是 1999 年,早在 WAI-ARIA 引入之前,它在没有 ARIA 属性的情况下工作得非常好。

您需要做的是确保您网站上启用了 JavaScript 的内容可访问。(这就是 WAI-ARIA 可能相关的地方。)

您如何处理不支持 JavaScript 的用户代理取决于您的网站设计方法。假设您想在不支持 JavaScript 的用户代理中提供有用的回退,您可以执行以下操作:

  • 您要么在noscript元素中提供一个功能性的替代方案。但是,在许多情况下(取决于 JavaScript 实际执行的操作),这不是等效的回退。
  • 或者您使用“渐进式增强”:即您提供一个无需 JavaScript 即可工作的功能基线,然后添加 JavaScript 以提供更丰富的体验。

(提倡渐进增强是noscript“现代”可访问性技术中元素没有被大量使用(如果有的话)的原因之一。然而,渐进增强本身也成为争论的主题。2013 年,它的支持者已经感觉到需要针对每个人都启用了 JavaScript 的假设来捍卫它;请参阅例如2013 年 7 月的渐进增强仍然很重要。)