簡體   English   中英

iOS Voice Over在UINavigationController上按下/彈出時宣布新的視圖標題

[英]iOS Voice Over to announce new view titles when pushed/popped on a UINavigationController

我想知道是否可以讓Voice Over宣布用戶進入的每個新視圖的標題(從可訪問性功能的角度來看是理想的)。 所以像說聲音

“地址簿,標題”

然后在后退按鈕上進行活動選擇

“返回鍵”

最初,我嘗試通過使用通知功能並構造我希望Voice Over所說的字符串來顯式調用此方法。 當用戶進入新推入的視圖時,這似乎起作用,但是當返回同一視圖時,則不起作用。 即使我的鈎子位於我的VC的ViewWillAppear方法中,所以兩者都被調用。

我有點困惑,好像我以模態方式推動視圖,從屏幕底部向上滑動,然后默認的iOS行為(我的代碼沒有任何其他提示)讓它宣布視圖菜單標題,然后移到后面按鈕。 但是,當在我的導航控制器上將搜索推入新視圖時,它似乎只想選擇並僅宣布“后退”按鈕。

我很欣賞后退按鈕的選擇是一種標准且明智的默認設置,也可能使知道應用程序周圍的用戶可能會因為讓新視圖宣布自己而感到厭倦。 但對我來說,這可能有助於使用戶(尤其是新用戶)在視圖出現時宣布自己的情況保持清楚。

事實是,iOS本身的行為似乎取決於視圖的顯示方式,這使我懷疑自己是否做錯了什么。 這是一個好主意嗎?是否有一種標准的方法可以使這種行為始終如一地工作?

干杯

從可訪問性的角度來看,這是不可取的。 iOS的默認行為盡管有時不理想,但用戶會習慣這種行為。

例如:如果您瀏覽某個網站,並且該網站具有時髦的按鈕。 最終,您習慣了這些時髦的按鈕。 如果您隨后看到了一個正常外觀的按鈕,請稍等一下,然后說“嘿,這個按鈕有什么不同”。 它會讓您暫停嗎?

從可訪問性的角度來看,有時默認行為是最佳的(只要它通常是可訪問的),而不是可以訪問更多的行為。 因為,預期的行為就變成了……預期。 當您為其他應用程序打開VoiceOver時,此行為正常嗎?

通常,在測試時,請針對Apple的應用程序進行測試,並遵循其准則和行為。

如果您設置自定義標題的accessibilityLabel,則View VoiceOver會將其讀出為頁面標題。 然后,它將讀出第一項(“后退按鈕”)。 換一種說法:

self.navigationItem.titleView.accessibilityLabel = @"....";

暫無
暫無

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

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