Câu hỏi:Cách thêm khả năng truy cập VoiceOver vào Số hiệu biểu tượng của một ứng dụng?
Làm thế nào để thêm một VoiceOver khả năng tiếp cận
Label
hoặcHint
tùy chỉnh cho một số ứng dụng Biểu tượng Badge?
Ví dụ, khi iOS Thiết Accessibility > VoiceOver
được bật On
, VoiceOver đọc to mục chạm trên màn hình. Đối với các biểu tượng App Store và Mail, sau đây được đọc to:
App Store biểu tượng, VoiceOver nói: "App Store 2 bản cập nhật có sẵn Nhấp đúp để mở.."
biểu tượng Mail, VoiceOver nói: ". Thư 1 tin nhắn chưa đọc Nhấn đúp để mở."
Nhưng, cho dự án tôi đang làm việc trên, các VoiceOver đọc ra là chung chung và không hoàn toàn hữu ích:
My App icon, VoiceOver nói: "App của tôi. 123 mục mới. Nhấn đúp để mở. "
Cụm từ "... mặt hàng mới" là quá mơ hồ, không chính xác, và tôi chắc chắn phải có một cách để thay đổi điều này với một chuỗi tùy chỉnh để làm cho nó đọc tốt hơn thông qua thiết lập accessibilityLabel
, accessibilityHint
hoặc tương tự.
Nhưng chính xác như thế nào trong mã Swift?
Rất cám ơn.
quan sát bổ sung:
Sử dụng Simulator Khả năng tiếp cận Inspector, nó xuất hiện các giá trị VoiceOver đến từ Label
- "My App" và Value
- "123 mặt hàng mới". Vì vậy, cập nhật trong mã tôi đã cố gắng thiết lập các accessibilityValue
để một cái gì đó tùy chỉnh - "123 mô tả tùy chỉnh." Nhưng vẫn không có may mắn, VoiceOver tiếp tục đọc "Ứng dụng của tôi. 123 các mục mới. Nhấn đúp để mở".
Tại sao VoiceOver không đọc giá trị huy hiệu tùy chỉnh như mong đợi?
Code:
Các phương pháp dưới đây sẽ thêm một vòng tròn màu đỏ Biểu tượng ứng dụng Badge Số đến biểu tượng My App của:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let badgeCount: Int = 123
let application = UIApplication.sharedApplication()
if #available(iOS 8.0, *) {
//// iOS 8, iOS 9, iOS 10
application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: [.Badge], categories: nil))
} else {
//// iOS 7
}
application.applicationIconBadgeNumber = badgeCount
application.accessibilityValue = "123 custom description."
}
}
Cảm ơn bạn, @BHendricks. Có, tôi đã xem qua danh sách thư đó gần đây. Cuộc trò chuyện khá cũ, một vài tháng trở thành cuộc trò chuyện hai năm tuổi. Có lẽ, và có thể quá lạc quan, tôi tin rằng vẫn có thể có một giải pháp như ngày hôm nay. Nó chỉ có vẻ quá lớn một giám sát trong quan điểm của tôi. Với tinh thần làm cho ứng dụng có thể truy cập được cho tất cả mọi người, tôi sẽ tiếp tục tìm kiếm. Ý tưởng hay, tôi sẽ gửi yêu cầu hỗ trợ kỹ thuật với Apple và báo cáo lỗi. – user4806509
Cập nhật: Tôi liên lạc với Apple và họ đã trở lại với tôi và như bạn đã đề cập, họ xác nhận rằng họ hiện không có API tiếp xúc để làm những gì tôi muốn đạt được trong câu hỏi. Đây là một cho báo cáo lỗi! – user4806509