簡體   English   中英

如何使其他文本之間的鏈接具有可訪問性

[英]How to make links among other text focusable for accessibility

我有一個 CheckedTextBox,它的文本由兩個 SpannableStrings 組成,其中一個是 URLSpan。

我的問題是,如何讓用戶可以通過每個跨度移動可訪問性焦點,最終專注於 URLspan 本身? setMovementMethodsetLinksClickable似乎對我不起作用。

SpannableStringBuilder builder = new SpannableStringBuilder();

SpannableString label = new SpannableString(getString(R.string.label));
label.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.text_color_primary)), 0, label.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.append(label);

SpannableString link = new SpannableString(getString(R.string.link);
link.setSpan(new URLSpan(mUrl), 0, link.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.append(link);
builder.append(".");

mCheckedTextBox.setText(builder);

//The following two methods do not work for what I'm trying to accomplish:
mCheckedTextBox.setMovementMethod(LinkMovementMethod.getInstance());
mCheckedTextBox.setLinksClickable(true);

我查看了 Android 輔助功能幫助文檔,似乎只要用戶聽到提示音並且可以在本地上下文菜單中看到鏈接就足夠了。 但是,我想看看我是否可以加倍努力,使用戶能夠滾動並聚焦到文本的鏈接部分。 https://support.google.com/accessibility/android/answer/6378148?hl=en

任何幫助將不勝感激。

也許這可能是最簡單的解決方案..它對我有用。

textView.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
      ClassroomLog.log(TAG, "Textview Click listener ");
      if (textView.getSelectionStart() == -1 && textView.getSelectionEnd() == -1){
          // Perform your action here
      }
  }
});

平台不支持此操作。 Android 自己的文檔指導用戶打開本地上下文菜單以訪問 TextViews 中的鏈接: https : //support.google.com/accessibility/android/answer/6378148?hl= en

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM