蘋果的聲音錯誤地發佈了我的觀點之一的標題,這是在UINavigation Controller中。iOS輔助功能 - 如何爲UINavigationBar的標題設置輔助功能標籤?
在應用程序的其他部分,我添加了一個自定義輔助功能標籤來幫助它正確地發佈公司名稱。我如何設置UINavigationBar的輔助功能標籤?
蘋果的聲音錯誤地發佈了我的觀點之一的標題,這是在UINavigation Controller中。iOS輔助功能 - 如何爲UINavigationBar的標題設置輔助功能標籤?
在應用程序的其他部分,我添加了一個自定義輔助功能標籤來幫助它正確地發佈公司名稱。我如何設置UINavigationBar的輔助功能標籤?
我不能添加輔助功能的標籤,但我發現了一個解決辦法:
我更換有無障礙一個UILabel的navigationItem的標題查看建立。
UILabel *titleLabel = [[UILabel alloc] init];
titleLabel.text = @"myTitle";
[titleLabel setAccessibilityLabel:@"myCustomAccessiblityLabel"];
[titleLabel setFont:[UIFont boldSystemFontOfSize:20.0]];
[titleLabel setBackgroundColor:[UIColor clearColor]];
[titleLabel setTextColor:[UIColor whiteColor]];
[titleLabel sizeToFit];
self.navigationItem.titleView = titleLabel;
我不確定爲什麼設置輔助功能標籤不起作用,但上面的代碼適用於我的需要。
由於UINavigationBar
繼承自UIView
,您應該可以設置其accessibilityLabel
屬性。試試:yourUINavigationBar.accessibilityLabel = @"title";
。
此外,您可能需要確保確保它被標記爲可訪問元素與yourUINavigationBar.isAccessibilityElement = YES;
(而不是另一種觀點認爲它也被標記爲可訪問性元素中)。 (我猜這最後一點可能是問題所在,因爲看起來您已經瞭解了輔助功能標籤,您可以在模擬器中使用輔助功能檢查器,通過查看元素周圍的框來查看是否屬於這種情況點擊它,看它是否是周圍的東西比導航欄更大)
這對我來說並不適用,我很害怕。我設置了isAccessibilityElement = YES,並且該標題不在另一個被標記爲可訪問性元素的視圖內。 – 2012-07-24 02:12:20
@RobertWagstaff對不起!我承認我從來沒有遇到過這個問題,但是在我看來,也許你需要爲'UINavigationItem'對象的'titleView'屬性來做這件事。 (順便說一句,這似乎類似於我在過去的可訪問性'UIBarButtonItem'的問題,它不像「正常」UIView相關的東西那樣。) – Turix 2012-07-24 02:33:49
仍然沒有運氣,我試過了: self.navigationItem。 title = @「myTitle」; [self.navigationItem.titleView setIsAccessibilityElement:YES]; [self.navigationItem.titleView setAccessibilityLabel:@「AccessibilityTitle」]; loadView – 2012-07-24 03:10:21
感謝您發佈您的解決方法! UINavigationBar的問題可能值得向Apple提出。他們在解決與可訪問性相關的錯誤報告(包括上面提到的UIBarButtonItem問題)方面相當不錯。 – Turix 2012-07-24 03:32:51
好主意的人! – Husam 2017-11-15 11:38:26