2012-04-11 103 views
12

配備無障礙輔助對焦

雖然VoiceOver會讀出在應用程序中元素的順序工作,反正是有元素之間的焦點轉移? 我嘗試使用「nextResponder」,但它不工作。

+1

**賞金!! YEAH !!! **我想知道(如果可能的話),我怎樣才能告訴配音從* UIToolbar中的最後一個UIToolBarButton跳轉到主視圖中的第一個對象,這樣用戶就可以*遍歷所有的無限控制屏幕...可能嗎? – nacho4d 2012-04-19 11:27:04

+0

**編輯:** UIToolbar中的最後一個按鈕是整個屏幕中的最後一個控件,所以按下VO + rightArrow什麼也不做(通常按下VO + arrowRight會*跳轉*到下一個控件,但由於這是最後一個控件停止)。在這種情況下,我想告訴VoiceOver *跳轉*到第一個對象,以便用戶可以通過scree中的所有控件無限循環。我希望現在能更好地解釋:) – nacho4d 2012-04-19 14:39:26

回答

0

這是在黑暗中拍攝的照片,但是您是否試圖根據想要更改訂單的方式更改accessibilityLabel或accessibilityHint?如果您可以誘使VoiceOver相信文本已經改變,我會期望它能夠適當地改變焦點。

時間將是困難的部分,因爲它沒有出現在VoiceOver抓取您的視圖時有任何委託回調,所以您可能必須估計在嘗試更新輔助提示/值之前要通過的時間。

我最後的想法是將UIView標記爲UIAccessibilityTraitUpdatesFrequently可訪問性特徵。如果不使用隱藏的Apple庫,這可能是最接近的。

3

隨着iOS 6後,您可以將焦點設置到一個特定的元素與UIAccessibilityLayoutChangedNotification,傳遞元素

UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, firstBottom); 

,但如果你想徹底改變「選項卡順序」我不知道一種辦法。

+0

據我所見,UIAccessibilityLayoutChangedNotification可以從iOS 3中獲得。iOS 6中有哪些變化? – 2013-04-04 06:54:17

+0

在iOS 6之前,沒有任何文件表明你可以傳遞任何特定的值。而且,我很確定傳遞一個值沒有做任何有用的事情。 – 2013-04-04 13:52:07

+0

哦,目前的文檔並沒有反映這一點。 – 2013-04-04 14:00:00

0

查看this post瞭解如何處理語音轉換元素的特殊排序。我剛剛在我正在開發的應用程序中使用這種方法。

0

我試過UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification,elementName);改變對不同元素的關注。行爲是焦點轉移到新元素,但Voice Over會首先宣佈頁面標題,然後宣佈新元素的可訪問標籤值。