Skip to content

Commit

Permalink
Removed accessibilityIdentifier from context
Browse files Browse the repository at this point in the history
  • Loading branch information
Niv Taiber authored and Niv Taiber committed Jul 15, 2016
1 parent a4da6d4 commit 0b9f075
Show file tree
Hide file tree
Showing 7 changed files with 7 additions and 17 deletions.
9 changes: 4 additions & 5 deletions ComponentKit/Accessibility/CKComponentAccessibility.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,16 @@ struct CKComponentAccessibilityTextAttribute {

/**
Separate structure to handle accessibility as we want the components infrastructure to decide wether to use it or not depending if accessibility is enabled or not.
Not to be confused with accessibilityIdentifier which is used for automation to identify elements on the screen. To set the identifier pass in {@selector(setAccessibilityIdentifier:), @"accessibilityId"} with the viewConfiguration's attributes
*/
struct CKComponentAccessibilityContext {
NSNumber *isAccessibilityElement;
NSString *accessibilityIdentifier;
CKComponentAccessibilityTextAttribute accessibilityLabel;
CKComponentAction accessibilityComponentAction;

bool operator==(const CKComponentAccessibilityContext &other) const
{
return CKObjectIsEqual(other.accessibilityIdentifier, accessibilityIdentifier)
&& CKObjectIsEqual(other.isAccessibilityElement, isAccessibilityElement)
return CKObjectIsEqual(other.isAccessibilityElement, isAccessibilityElement)
&& CKObjectIsEqual(other.accessibilityLabel.value(), accessibilityLabel.value())
&& other.accessibilityComponentAction == accessibilityComponentAction;
}
Expand All @@ -64,8 +63,8 @@ namespace CK {
namespace Accessibility {
/**
@return A modified configuration for which extra view component attributes have been added to handle accessibility.
e.g: The following view configuration `{[UIView class], {{@selector(setBlah:), @"Blah"}}, {.accessibilityIdentifier = @"accessibilityId"}}`
will become `{[UIView class], {{@selector(setBlah:), @"Blah"}, {@selector(setAccessibilityIdentifier), @"accessibilityId"}}, {.accessibilityIdentifier = @"accessibilityId"}}`
e.g: The following view configuration `{[UIView class], {{@selector(setBlah:), @"Blah"}}, {.accessibilityLabel = @"accessibilityLabel"}}`
will become `{[UIView class], {{@selector(setBlah:), @"Blah"}, {@selector(setAccessibilityLabel), @"accessibilityLabel"}}, {.accessibilityLabel = @"accessibilityLabel"}}`
*/
CKComponentViewConfiguration AccessibleViewConfiguration(const CKComponentViewConfiguration &viewConfiguration);
BOOL IsAccessibilityEnabled();
Expand Down
3 changes: 0 additions & 3 deletions ComponentKit/Accessibility/CKComponentAccessibility.mm
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@
static CKViewComponentAttributeValueMap ViewAttributesFromAccessibilityContext(const CKComponentAccessibilityContext &accessibilityContext)
{
CKViewComponentAttributeValueMap accessibilityAttributes;
if (accessibilityContext.accessibilityIdentifier) {
accessibilityAttributes[@selector(setAccessibilityIdentifier:)] = accessibilityContext.accessibilityIdentifier;
}
if (accessibilityContext.isAccessibilityElement) {
accessibilityAttributes[@selector(setIsAccessibilityElement:)] = accessibilityContext.isAccessibilityElement;
}
Expand Down
2 changes: 0 additions & 2 deletions ComponentKit/Components/CKButtonComponent.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@
#import <ComponentKit/CKComponentAction.h>

struct CKButtonComponentAccessibilityConfiguration {
/** Accessibility identifier */
NSString *accessibilityIdentifier;
/** Accessibility label for the button. If one is not provided, the button title will be used as a label */
NSString *accessibilityLabel;
};
Expand Down
2 changes: 0 additions & 2 deletions ComponentKit/Components/CKButtonComponent.mm
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,6 @@ + (instancetype)newWithTitles:(const std::unordered_map<UIControlState, NSString
{titleFontAttribute, titleFont},
{@selector(setSelected:), @(selected)},
{@selector(setEnabled:), @(enabled)},
{@selector(setAccessibilityIdentifier:), accessibilityConfiguration.accessibilityIdentifier},
CKComponentActionAttribute(action, UIControlEventTouchUpInside),
});

Expand All @@ -161,7 +160,6 @@ + (instancetype)newWithTitles:(const std::unordered_map<UIControlState, NSString
[UIButton class],
std::move(attributes),
{
.accessibilityIdentifier = accessibilityConfiguration.accessibilityIdentifier,
.accessibilityLabel = accessibilityConfiguration.accessibilityLabel,
.accessibilityComponentAction = enabled ? action : NULL
}
Expand Down
6 changes: 3 additions & 3 deletions ComponentKitTests/CKComponentAccessibilityTests.mm
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,15 @@ - (void)testAccessibilityContextItemsAreProperlyTransformedToViewAttributes
{
CKComponentViewConfiguration viewConfiguration = {
[UIView class],
{{@selector(setBlah:), @"Blah"}},
{{@selector(setBlah:), @"Blah"}, {@selector(setAccessibilityIdentifier:), @"batman"}},
{
.accessibilityIdentifier = @"batman", .isAccessibilityElement = @NO, .accessibilityLabel = ^{ return @"accessibleBatman"; }
.isAccessibilityElement = @NO, .accessibilityLabel = ^{ return @"accessibleBatman"; }
}};
CKComponentViewConfiguration expectedViewConfiguration = {
[UIView class],
{{@selector(setBlah:), @"Blah"}, {@selector(setAccessibilityIdentifier:), @"batman"}, {@selector(setAccessibilityLabel:), @"accessibleBatman"}, {@selector(setIsAccessibilityElement:), @NO}},
{
.accessibilityIdentifier = @"batman", .isAccessibilityElement = @NO, .accessibilityLabel = @"accessibleBatman"
.isAccessibilityElement = @NO, .accessibilityLabel = @"accessibleBatman"
}};
XCTAssertTrue(AccessibleViewConfiguration(viewConfiguration) == expectedViewConfiguration, @"Accessibility attributes were applied incorrectly");
}
Expand Down
1 change: 0 additions & 1 deletion ComponentTextKit/CKTextComponent.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
struct CKTextComponentAccessibilityContext
{
NSNumber *isAccessibilityElement;
NSString *accessibilityIdentifier;
NSNumber *providesAccessibleElements;
/**
Should rarely be used, the component's text will be used by default.
Expand Down
1 change: 0 additions & 1 deletion ComponentTextKit/CKTextComponent.mm
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ + (instancetype)newWithTextAttributes:(const CKTextKitAttributes &)attributes
std::move(copiedMap),
{
.isAccessibilityElement = options.accessibilityContext.isAccessibilityElement,
.accessibilityIdentifier = options.accessibilityContext.accessibilityIdentifier,
.accessibilityLabel = options.accessibilityContext.accessibilityLabel.hasText()
? options.accessibilityContext.accessibilityLabel : ^{ return copyAttributes.attributedString.string; }
}
Expand Down

0 comments on commit 0b9f075

Please sign in to comment.