2014-11-07 83 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. 保留爲挑戰用戶選擇的文本進行復制。

我相信有更好的方法來做到這一點。但現在它適用於我。