CSS的user-select属性和可访问性

17

如果我使用以下代码:

-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;

我可以禁用网页上某些元素的文字选择。对于按钮和链接来说效果很好,如果被选中反而会影响用户体验(显然是个人看法)。

我可以在任何需要的地方自由使用这个功能吗?还是会对无障碍性造成影响?比如屏幕阅读器和其他工具是否依赖于文本选择?

注意:我不是在询问关于user-select属性的使用意见,我正在寻找有关它对无障碍性水平影响的事实信息。


你可以在这里获得更好的回应:http://ux.stackexchange.com/ - m4n0
我目前正在处理这个问题。截至目前,Safari + VoiceOver将忽略/跳过具有用户选择的锚标签。 - Matt R
2个回答

6
屏幕阅读器和其他工具依赖于您发送的基本HTML文档。因此,使事物不可选中不应该有影响,就像其他样式效果一样无关紧要。
JAWS和其他屏幕阅读器通过浏览HTML文档并创建类似于DOM模型的东西来工作,供用户移动。在互联网上使用它们需要了解标题和段落标签的一些知识,这样用户就会理解网站应该如何编写。通常,一个盲人用户会浏览标题,就像视力正常的人会浏览维基百科文章一样,当他们找到想要的部分时停下来,并命令屏幕阅读器读取下面的下一段。出于这个原因,正确布局您的HTML非常重要,这样屏幕阅读器才能从头到尾阅读它。
有关更多信息以及考虑包容性构建您的网站,请阅读以下链接,了解如何为残障人士提供服务。

http://www.w3.org/WAI/intro/people-use-web/stories

http://www.w3.org/WAI/guid-tech.html,特别是“如何满足WCAG 2.0”

http://www.paciellogroup.com/blog/2008/03/how-jaws-reads-text/

关于其他可访问性影响,我认识很多人喜欢通过突出显示大约一句话长的段落来阅读网站内容,然后是下一节,以此类推。将大文本段落变得不可读(虽然我认为你提到过你不会这样做)可能会对某人的工作流程造成问题,但再次,什么不会呢?

4
就像其他样式效果一样,大多数情况下都不会产生影响,但display: nonevisibility: hidden这两个样式会产生影响,而且它们是属于CSS样式的。另外需要注意的是,对于有视力障碍的用户(包括使用屏幕阅读器和不使用的人),样式效果是很重要的。 - FelipeAls

4
(在可用性方面可能存在一些缺点,但由于您明确要求关注无障碍性,因此我在这里忽略了这些。)
两种可能的无障碍性影响(还有更多,因为有许多残疾和更多的辅助设备,甚至是独特的解决方案):
- 一些智力/学习残疾的人可能会有理解某些单词含义的问题。通过不允许复制粘贴,如果他们想在其他地方查找单词,你就被迫手动输入单词(这只是一个可用性问题),但并非所有人都能够这样做(这就成为了一个无障碍性问题)。 - 还可以想象一些人使用文本到语音工具(不是屏幕阅读器),因为他们阅读起来有困难(或不能阅读)。
(使用简明易懂的语言可能会缓解这些问题。)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接