您好 为了方便一些动画,我的客户端脚本策略涉及将列表项分组到DIV中。似乎除了LI之外还有其他任何东西作为OL或UL元素的子元素确实有效。但是,我会在脚本中执行此操作,因此没有验证问题(对于那些值得的东西!)。
但这可能导致屏幕阅读器出现问题等等吗? 谢谢你的任何想法
答案 0 :(得分:2)
One way to find out!我认为不会有太多麻烦,但唯一要知道的方法就是测试它。 Javascript与屏幕阅读器is a complex subject的互动,所以我对做出任何坚定的判断犹豫不决。 NVDA似乎是个好地方。 :d
答案 1 :(得分:2)
我通常避免使用无效标记,但我无法想出以您希望的方式对事物进行分组的更好方法。也许考虑单个列表是否是使用的最佳标记,而不是多个列表或其他一组构造。由于您需要以这种方式对列表项进行分组,因此似乎有一个语义原因可以将它们分组到标记中。
实际上,如果浏览器处理有问题的无效标记,它很可能也适用于屏幕阅读器等。正如CrazyJugglerDrummer所说,测试它是最好的。但是,您永远不知道无效标记何时会在未来的软件版本中引发问题。
答案 2 :(得分:0)
首先,屏幕阅读器和JavaScript没有最佳的兼容性记录。 (纠正我,如果我错了,我不是可用性方面的专家)根据我的理解,屏幕阅读器通常会读取页面的静态版本,并在看似随机的时间刷新它,而不管通过哪些动态变化发生JavaScript的。这是我最后一次使用屏幕阅读器的经历,但那是3年前的事情,所以事情可能会变得更好。
举一个例子,如果你的动态列表实际上是一个扩展和收缩的手风琴,你就不能确定地知道屏幕阅读器是否会显示正在显示的文本(即使JavaScript使文本可见屏幕)。
在我开始担心您的脚本可能会给屏幕阅读器带来的问题之前,我会专注于您对网站结构的整体可访问性(HTML + CSS)。您是否正在为页面键盘制作整体元素?您是否遵循WAI-ARIA指南?您是否使用正确的技术隐藏内容(依赖于情境)display:none
,left:-9999px
或visibility:hidden
?