2016-10-07 14 views
15

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ặc Hint tùy chỉnh cho một số ứng dụng Biểu tượng Badge?

enter image description hereenter image description hereenter image description here


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?

enter image description here


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." 
    } 
} 

Trả lời

5

Nó xuất hiện này là một " Tính năng "chỉ có Apple" kể từ bây giờ ... source

Đào qua tài liệu API, dường như không có bất kỳ số nhận dạng nào có thể đặt cho bạn và do đó tôi cho rằng nó chưa được hỗ trợ công khai. Nó có thể đã được báo cáo, nhưng báo cáo điều này như một yêu cầu để Apple không bao giờ có thể làm tổn thương.

Rất tiếc, đây có lẽ không phải là câu trả lời bạn mong đợi! :/

+0

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

+1

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

Các vấn đề liên quan