From 07160ba6152f006c509b84503f749991bfd9e75e Mon Sep 17 00:00:00 2001 From: Ben Dolman Date: Mon, 18 Apr 2022 13:17:00 -0600 Subject: [PATCH] Don't mirror isAccessibilityElement on _ASTableViewCell This is a partial revert of #1941 The change in #1941 has caused some issues for us and others (see #1997). If I set `myNode.isAccessibilityElement = true,` then what ends up happening is that the table cell wrapper view (_ASTableViewCell) also has `isAccessibilityElement = true`. But then when iOS goes through the hierarchy it identifies the table cell wrapper view as the target and attempts to use that accessibilityLabel, which doesn't exist (because it's actually on the nested node view). So our node's label is never used. I'm not sure why setting `isAccessibilityElement` in `_ASTableViewCell` was necessary in #1941 in order to make a node non-accessible, since the default value is already false. --- Source/ASTableView.mm | 1 - 1 file changed, 1 deletion(-) diff --git a/Source/ASTableView.mm b/Source/ASTableView.mm index 195cb183c..52e9644fc 100644 --- a/Source/ASTableView.mm +++ b/Source/ASTableView.mm @@ -116,7 +116,6 @@ - (void)setElement:(ASCollectionElement *)element self.selectionStyle = node.selectionStyle; self.focusStyle = node.focusStyle; self.accessoryType = node.accessoryType; - self.isAccessibilityElement = node.isAccessibilityElement; self.accessibilityElementsHidden = node.accessibilityElementsHidden; // the following ensures that we clip the entire cell to it's bounds if node.clipsToBounds is set (the default) // This is actually a workaround for a bug we are seeing in some rare cases (selected background view