Browse Source

set accessibility label on chat avatar

nayooti 5 years ago
parent
commit
fc9b6b060e

+ 1 - 1
deltachat-ios/Controller/ChatViewController.swift

@@ -274,7 +274,7 @@ class ChatViewController: MessagesViewController {
 
         let badge: InitialsBadge
         if let image = chat.profileImage {
-            badge =  InitialsBadge(image: image, size: 28)
+            badge =  InitialsBadge(image: image, size: 28, accessibilityLabelText: chat.name)
         } else {
             badge =  InitialsBadge(name: chat.name, color: chat.color, size: 28)
             badge.setLabelFont(UIFont.systemFont(ofSize: 14))

+ 6 - 3
deltachat-ios/View/InitialsBadge.swift

@@ -37,9 +37,9 @@ class InitialsBadge: UIView {
         setColor(color)
     }
 
-    convenience init (image: UIImage, size: CGFloat) {
+    convenience init (image: UIImage, size: CGFloat, accessibilityLabelText: String? = nil) {
         self.init(size: size)
-        setImage(image)
+        setImage(image, accessibilityLabelText)
     }
 
     init(size: CGFloat) {
@@ -90,11 +90,14 @@ class InitialsBadge: UIView {
         label.font = font
     }
 
-    func setImage(_ image: UIImage) {
+    func setImage(_ image: UIImage, _ accessibilityLabelText: String? = nil) {
         self.imageView.image = image
         self.imageView.contentMode = UIView.ContentMode.scaleAspectFill
         self.imageView.isHidden = false
         self.label.isHidden = true
+        if let text = accessibilityLabelText {
+            accessibilityLabel = "avatar \(text)"
+        }
     }
 
     func showsInitials() -> Bool {