2014-11-07 79 views
0

建议如何实现从<p>元素中复制文本的可访问性?实现副本的可访问性

例如,

<p class='text'>Some text to copy</p>

<p>元件由经由AJAX调用插入DOM。需要应用哪些ARIA标签,以便在生成和插入时,用户可以轻松进行复制。

所有的想法赞赏。

回答

-1

的最好方法是直接将其复制到用户的剪贴板,但这仅是IE:

window.clipboardData.setData("Text", whatever_to_copy);

如果你想而不是只保存在您的网站上的数据,那么你可以使用localStorage将其存储在您的域中。

2

至少有两个很好的方法可以做到这一点:

  1. 让你<p>一个<textarea readonly>代替。因此,用户可以自由浏览textarea中的文本,如果他/她想,他/她也能够一次复制所有内容,只需按下Ctrl + A
  2. 您可以将“复制到剪贴板”链接或按钮。有一个IE-only解决方案window.clipboardData,然而在2014年这有点荒谬,因为盲人用户(其中​​包括)使用不同的浏览器,包括(但不限于)IE,Firefox,Chrome和Safari。
    但是,我在不同的网站上看到了使用Flash实现的按钮。所以你可以使用这个,如果你设法处理它。
    您可以在this question的第一个答案中查看有关闪存解决方案的更多信息,并按照提供的链接进行操作。
+0

谢谢@Menelion。你的回答给了我一个解决它的想法。 – SocialCircus 2014-11-08 01:56:52

+0

我已经添加了一个链接,可以帮助您实施Flash解决方案,以防您仍想这样做。 – 2014-11-08 13:11:30

0

我没有删除<p>,但最终使用<input><p>下与z-index:-1;。它为我解决了两个问题: -

  1. 重点关注新插入的role=dialog模态。
  2. 保留为挑战用户选择的文本进行复制。

我相信有更好的方法来做到这一点。但现在它适用于我。