Addressed review comments
This commit is contained in:
parent
a3d3b1e635
commit
c972597a11
@ -74,6 +74,8 @@ open class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupWat
|
||||
}
|
||||
}
|
||||
public var accessibilityTraits: UIAccessibilityTraits?
|
||||
public var disabledAccessibilityTraits: UIAccessibilityTraits?
|
||||
public var isAccessibilityElement: Bool?
|
||||
|
||||
//--------------------------------------------------
|
||||
// MARK: - Methods
|
||||
@ -197,6 +199,8 @@ open class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupWat
|
||||
case disabledBorderColor
|
||||
case width
|
||||
case accessibilityTraits
|
||||
case disabledAccessibilityTraits
|
||||
case isAccessibilityElement
|
||||
}
|
||||
|
||||
//--------------------------------------------------
|
||||
@ -266,6 +270,8 @@ open class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupWat
|
||||
backgroundColor = try typeContainer.decodeIfPresent(Color.self, forKey: .backgroundColor)
|
||||
width = try typeContainer.decodeIfPresent(CGFloat.self, forKey: .width)
|
||||
accessibilityTraits = try typeContainer.decodeIfPresent(UIAccessibilityTraits.self, forKey: .accessibilityTraits)
|
||||
disabledAccessibilityTraits = try typeContainer.decodeIfPresent(UIAccessibilityTraits.self, forKey: .disabledAccessibilityTraits)
|
||||
isAccessibilityElement = try typeContainer.decodeIfPresent(Bool.self, forKey: .isAccessibilityElement)
|
||||
}
|
||||
|
||||
open func encode(to encoder: Encoder) throws {
|
||||
@ -290,5 +296,7 @@ open class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupWat
|
||||
try container.encodeIfPresent(groupName, forKey: .groupName)
|
||||
try container.encodeIfPresent(width, forKey: .width)
|
||||
try container.encodeIfPresent(accessibilityTraits, forKey: .accessibilityTraits)
|
||||
try container.encodeIfPresent(disabledAccessibilityTraits, forKey: .disabledAccessibilityTraits)
|
||||
try container.encodeIfPresent(isAccessibilityElement, forKey: .isAccessibilityElement)
|
||||
}
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@ open class ImageButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGro
|
||||
image = try typeContainer.decodeIfPresent(ImageViewModel.self, forKey: .image)
|
||||
accessibilityText = try typeContainer.decodeIfPresent(String.self, forKey: .accessibilityText)
|
||||
action = try typeContainer.decodeModel(codingKey: .action)
|
||||
accessibilityTraits = try typeContainer.decodeIfPresent(UIAccessibilityTraits.self, forKey: .accessibilityTraits)
|
||||
accessibilityTraits = try typeContainer.decodeIfPresent(UIAccessibilityTraits.self, forKey: .accessibilityTraits) ?? .button
|
||||
if let enabled = try typeContainer.decodeIfPresent(Bool.self, forKey: .enabled) {
|
||||
self.enabled = enabled
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
|
||||
|
||||
#if DEBUG
|
||||
// Useful to detect with isHittable when performing UI testing.
|
||||
isAccessibilityElement = isEnabled
|
||||
isAccessibilityElement = model?.isAccessibilityElement ?? isEnabled
|
||||
#endif
|
||||
|
||||
if isEnabled {
|
||||
@ -134,6 +134,7 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
|
||||
case .standard:
|
||||
verticalPadding = Padding.Three
|
||||
horizontalPadding = Padding.Five
|
||||
|
||||
break
|
||||
case .small:
|
||||
verticalPadding = Padding.Two
|
||||
@ -173,9 +174,8 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
|
||||
}
|
||||
|
||||
FormValidator.setupValidation(for: model, delegate: delegateObject?.formHolderDelegate)
|
||||
if let traits = model.accessibilityTraits {
|
||||
accessibilityTraits = traits
|
||||
}
|
||||
accessibilityTraits = isEnabled ? (model.accessibilityTraits ?? .button) : (model.disabledAccessibilityTraits ?? .none)
|
||||
|
||||
}
|
||||
|
||||
open override class func estimatedHeight(with model: MoleculeModelProtocol, _ delegateObject: MVMCoreUIDelegateObject?) -> CGFloat? {
|
||||
|
||||
@ -91,6 +91,6 @@
|
||||
}
|
||||
|
||||
accessibilityLabel = message
|
||||
accessibilityTraits = (accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
||||
}
|
||||
}
|
||||
|
||||
@ -99,7 +99,7 @@
|
||||
func updateAccessibilityLabel() {
|
||||
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
||||
isAccessibilityElement = !linkShowing
|
||||
accessibilityTraits = (isAccessibilityElement && accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
||||
|
||||
if !linkShowing {
|
||||
// Make whole cell focusable if no link.
|
||||
|
||||
@ -109,6 +109,6 @@
|
||||
}
|
||||
|
||||
accessibilityLabel = message
|
||||
accessibilityTraits = (accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
||||
}
|
||||
}
|
||||
|
||||
@ -87,7 +87,7 @@
|
||||
|
||||
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
||||
isAccessibilityElement = !linkShowing
|
||||
accessibilityTraits = (isAccessibilityElement && accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
||||
|
||||
if !linkShowing {
|
||||
// Make whole cell focusable if no link.
|
||||
|
||||
@ -89,7 +89,7 @@
|
||||
}
|
||||
|
||||
accessibilityLabel = message
|
||||
accessibilityTraits = (accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -131,6 +131,6 @@
|
||||
}
|
||||
|
||||
accessibilityLabel = message
|
||||
accessibilityTraits = (accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
||||
}
|
||||
}
|
||||
|
||||
@ -95,7 +95,7 @@ import Foundation
|
||||
// Ensures voice over does not read "selected" after user triggers action on cell.
|
||||
override public var accessibilityTraits: UIAccessibilityTraits {
|
||||
get {
|
||||
return (accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
return listItemModel?.accessibilityTraits ?? .button
|
||||
}
|
||||
set {}
|
||||
}
|
||||
|
||||
@ -46,7 +46,7 @@ import Foundation
|
||||
/// Ensures voice over does not read "selected" after user triggers action on cell.
|
||||
override public var accessibilityTraits: UIAccessibilityTraits {
|
||||
get {
|
||||
return (accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
return listItemModel?.accessibilityTraits ?? .button
|
||||
}
|
||||
set {}
|
||||
}
|
||||
|
||||
@ -91,6 +91,6 @@
|
||||
}
|
||||
|
||||
accessibilityLabel = message
|
||||
accessibilityTraits = (accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
||||
}
|
||||
}
|
||||
|
||||
@ -83,6 +83,6 @@
|
||||
}
|
||||
|
||||
accessibilityLabel = message
|
||||
accessibilityTraits = (accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
||||
}
|
||||
}
|
||||
|
||||
@ -100,7 +100,7 @@
|
||||
|
||||
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
||||
isAccessibilityElement = !linkShowing
|
||||
accessibilityTraits = (isAccessibilityElement && accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
||||
|
||||
if !linkShowing {
|
||||
// Make whole cell focusable if no link.
|
||||
|
||||
@ -98,6 +98,6 @@
|
||||
}
|
||||
|
||||
accessibilityLabel = message
|
||||
accessibilityTraits = (accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
||||
}
|
||||
}
|
||||
|
||||
@ -97,7 +97,7 @@
|
||||
|
||||
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
||||
isAccessibilityElement = !linkShowing
|
||||
accessibilityTraits = (isAccessibilityElement && accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
||||
|
||||
if !linkShowing {
|
||||
// Make whole cell focusable if no link.
|
||||
|
||||
@ -95,6 +95,6 @@
|
||||
}
|
||||
|
||||
accessibilityLabel = message
|
||||
accessibilityTraits = (accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user