Search code examples
iosswiftuitableviewuikituiaccessibility

How to disable accessibility focus of an element while its isAccessibilityElement = false


I turned the UITableViewCell's accessibility off in different ways. However, it is still focusable when selected.

override public func awakeFromNib() {
    super.awakeFromNib()

    selectionStyle = .none
}

convenience init() {
    self.init()

    isAccessibilityElement = false
}

public override func didMoveToWindow() {
    super.didMoveToWindow()

    isAccessibilityElement = false
    isUserInteractionEnabled = false
    subView.isAccessibilityElement = false
}

public override var canBecomeFocused: Bool {
    return false
}

This is a screenshot from the view debugger:

enter image description here

Any clue? Thanks


Solution

  • Making accessibilityElementsHidden = true solved it.

    public override func didMoveToWindow() {
        super.didMoveToWindow()
    
        isAccessibilityElement = false
        accessibilityElementsHidden = true
    }