處理長號碼的首選方式(如銀行帳號)應該一次讀取一個字符?我知道用戶可以通過TalkBack以這種方式讀出一個數字,但如果我們能夠暗示它應該從一開始就這樣做,那就太好了。有沒有一種標準的方式來暗示一個數字應該一次只讀一個字符?
用數字之間的空格來設置內容描述是否是一個好主意,或者用戶是否覺得這樣很煩人?
謝謝!
處理長號碼的首選方式(如銀行帳號)應該一次讀取一個字符?我知道用戶可以通過TalkBack以這種方式讀出一個數字,但如果我們能夠暗示它應該從一開始就這樣做,那就太好了。有沒有一種標準的方式來暗示一個數字應該一次只讀一個字符?
用數字之間的空格來設置內容描述是否是一個好主意,或者用戶是否覺得這樣很煩人?
謝謝!
我已經和幾位屏幕閱讀器的用戶交談過了,他們都證實我們不應該在這種情況下采取任何不尋常的做法。他們都說:「別擔心,我們可以弄明白,你不需要幫助我們。」
如果屏幕閱讀器用戶進入一個他們需要更清晰的區域,他們將使用箭頭鍵逐個角色直到他們滿意並繼續讓屏幕閱讀器繼續。
使用您EDITTEXT以下委託或TextView的
@Override
public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(host, info);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
switch (host.getId()) {
case R.id.tv_bookingID:
if (((TextView) host).getText().length() > 1) {
sb.delete(0, sb.length());
for (char c : ((TextView) host).getText().toString().toCharArray()) {
sb.append(c).append(" ");
}
//change text for talkback
info.setText(null);
info.setContentDescription(sb.toString().trim());
}
break;
}
}//if
}
我想這應該下UX堆棧交易所公佈,因爲他們可以更涉及到這個問題,並有更多的投入。 – deubaka
@deubaka如果看起來不合適,我很樂意在其他地方發帖,意識到它會跨越主題。主要想知道是否有某種技術方法來實現這一點,也許通過在'TextView'上設置一個屬性。 – twaddington
我的建議是將帳號分成「邏輯」部門(例如01 983)。在這種情況下,它將是標準和格式良好的(也可以使用Monospace字體)。 使用'android:contentDescription'似乎是標準方式,但我會繼續使用第三方文本到語音庫(例如http://eyes-free.googlecode.com/svn/trunk/文檔/教程/ tutorial.html]),因爲這將消除需要依賴話語提示的可用性。 – deubaka