updated logic
This commit is contained in:
parent
eea1fa45e1
commit
43f1c64151
@ -75,7 +75,6 @@ open class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupWat
|
|||||||
}
|
}
|
||||||
public var accessibilityTraits: UIAccessibilityTraits?
|
public var accessibilityTraits: UIAccessibilityTraits?
|
||||||
public var disabledAccessibilityTraits: UIAccessibilityTraits?
|
public var disabledAccessibilityTraits: UIAccessibilityTraits?
|
||||||
public var isAccessibilityElement: Bool?
|
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Methods
|
// MARK: - Methods
|
||||||
@ -200,7 +199,6 @@ open class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupWat
|
|||||||
case width
|
case width
|
||||||
case accessibilityTraits
|
case accessibilityTraits
|
||||||
case disabledAccessibilityTraits
|
case disabledAccessibilityTraits
|
||||||
case isAccessibilityElement
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
@ -271,7 +269,6 @@ open class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupWat
|
|||||||
width = try typeContainer.decodeIfPresent(CGFloat.self, forKey: .width)
|
width = try typeContainer.decodeIfPresent(CGFloat.self, forKey: .width)
|
||||||
accessibilityTraits = try typeContainer.decodeIfPresent(UIAccessibilityTraits.self, forKey: .accessibilityTraits)
|
accessibilityTraits = try typeContainer.decodeIfPresent(UIAccessibilityTraits.self, forKey: .accessibilityTraits)
|
||||||
disabledAccessibilityTraits = try typeContainer.decodeIfPresent(UIAccessibilityTraits.self, forKey: .disabledAccessibilityTraits)
|
disabledAccessibilityTraits = try typeContainer.decodeIfPresent(UIAccessibilityTraits.self, forKey: .disabledAccessibilityTraits)
|
||||||
isAccessibilityElement = try typeContainer.decodeIfPresent(Bool.self, forKey: .isAccessibilityElement)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
open func encode(to encoder: Encoder) throws {
|
open func encode(to encoder: Encoder) throws {
|
||||||
@ -297,6 +294,5 @@ open class ButtonModel: ButtonModelProtocol, MoleculeModelProtocol, FormGroupWat
|
|||||||
try container.encodeIfPresent(width, forKey: .width)
|
try container.encodeIfPresent(width, forKey: .width)
|
||||||
try container.encodeIfPresent(accessibilityTraits, forKey: .accessibilityTraits)
|
try container.encodeIfPresent(accessibilityTraits, forKey: .accessibilityTraits)
|
||||||
try container.encodeIfPresent(disabledAccessibilityTraits, forKey: .disabledAccessibilityTraits)
|
try container.encodeIfPresent(disabledAccessibilityTraits, forKey: .disabledAccessibilityTraits)
|
||||||
try container.encodeIfPresent(isAccessibilityElement, forKey: .isAccessibilityElement)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,9 +33,6 @@ import Foundation
|
|||||||
|
|
||||||
super.set(with: model, delegateObject, additionalData)
|
super.set(with: model, delegateObject, additionalData)
|
||||||
FormValidator.setupValidation(for: castModel, delegate: delegateObject?.formHolderDelegate)
|
FormValidator.setupValidation(for: castModel, delegate: delegateObject?.formHolderDelegate)
|
||||||
if let traits = model.accessibilityTraits {
|
|
||||||
accessibilityTraits = traits
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public func setState() {
|
public func setState() {
|
||||||
@ -49,6 +46,9 @@ import Foundation
|
|||||||
} else if let disabledTintColor = castModel.disabledTintColor {
|
} else if let disabledTintColor = castModel.disabledTintColor {
|
||||||
image.imageView.tintColor = disabledTintColor.uiColor
|
image.imageView.tintColor = disabledTintColor.uiColor
|
||||||
}
|
}
|
||||||
|
if let traits = model?.accessibilityTraits {
|
||||||
|
accessibilityTraits = traits
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -101,7 +101,7 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
|
|||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
// Useful to detect with isHittable when performing UI testing.
|
// Useful to detect with isHittable when performing UI testing.
|
||||||
isAccessibilityElement = model?.isAccessibilityElement ?? isEnabled
|
isAccessibilityElement = isEnabled
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if isEnabled {
|
if isEnabled {
|
||||||
@ -121,6 +121,7 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
|
|||||||
self.borderColor = borderColor
|
self.borderColor = borderColor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
accessibilityTraits = isEnabled ? (model?.accessibilityTraits ?? .button) : (model?.disabledAccessibilityTraits ?? .none)
|
||||||
}
|
}
|
||||||
|
|
||||||
private func getInnerPadding() -> CGFloat {
|
private func getInnerPadding() -> CGFloat {
|
||||||
@ -174,7 +175,6 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
|
|||||||
}
|
}
|
||||||
|
|
||||||
FormValidator.setupValidation(for: model, delegate: delegateObject?.formHolderDelegate)
|
FormValidator.setupValidation(for: model, delegate: delegateObject?.formHolderDelegate)
|
||||||
accessibilityTraits = isEnabled ? (model.accessibilityTraits ?? .button) : (model.disabledAccessibilityTraits ?? .none)
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -77,7 +77,7 @@
|
|||||||
|
|
||||||
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
||||||
isAccessibilityElement = !linkShowing
|
isAccessibilityElement = !linkShowing
|
||||||
accessibilityTraits = (isAccessibilityElement && accessoryView != nil) ? (listItemModel?.accessibilityTraits ?? .button) : .none
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((isAccessibilityElement && accessoryView != nil) ? .button : .none)
|
||||||
|
|
||||||
if !linkShowing {
|
if !linkShowing {
|
||||||
// Make whole cell focusable if no link.
|
// Make whole cell focusable if no link.
|
||||||
|
|||||||
@ -91,6 +91,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
accessibilityLabel = message
|
accessibilityLabel = message
|
||||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((accessoryView != nil) ? .button : .none)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -99,7 +99,7 @@
|
|||||||
func updateAccessibilityLabel() {
|
func updateAccessibilityLabel() {
|
||||||
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
||||||
isAccessibilityElement = !linkShowing
|
isAccessibilityElement = !linkShowing
|
||||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((isAccessibilityElement && accessoryView != nil) ? .button : .none)
|
||||||
|
|
||||||
if !linkShowing {
|
if !linkShowing {
|
||||||
// Make whole cell focusable if no link.
|
// Make whole cell focusable if no link.
|
||||||
|
|||||||
@ -109,6 +109,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
accessibilityLabel = message
|
accessibilityLabel = message
|
||||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((accessoryView != nil) ? .button : .none)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -87,7 +87,7 @@
|
|||||||
|
|
||||||
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
||||||
isAccessibilityElement = !linkShowing
|
isAccessibilityElement = !linkShowing
|
||||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((isAccessibilityElement && accessoryView != nil) ? .button : .none)
|
||||||
|
|
||||||
if !linkShowing {
|
if !linkShowing {
|
||||||
// Make whole cell focusable if no link.
|
// Make whole cell focusable if no link.
|
||||||
|
|||||||
@ -89,7 +89,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
accessibilityLabel = message
|
accessibilityLabel = message
|
||||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((accessoryView != nil) ? .button : .none)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -131,6 +131,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
accessibilityLabel = message
|
accessibilityLabel = message
|
||||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((accessoryView != nil) ? .button : .none)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -146,7 +146,7 @@
|
|||||||
// Ensures voice over does not read "selected" after user triggers action on cell.
|
// Ensures voice over does not read "selected" after user triggers action on cell.
|
||||||
override public var accessibilityTraits: UIAccessibilityTraits {
|
override public var accessibilityTraits: UIAccessibilityTraits {
|
||||||
get {
|
get {
|
||||||
return listItemModel?.accessibilityTraits ?? .button
|
return (listItemModel?.accessibilityTraits) ?? ((accessoryView != nil) ? .button : .none)
|
||||||
}
|
}
|
||||||
set { }
|
set { }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -95,7 +95,8 @@ import Foundation
|
|||||||
// Ensures voice over does not read "selected" after user triggers action on cell.
|
// Ensures voice over does not read "selected" after user triggers action on cell.
|
||||||
override public var accessibilityTraits: UIAccessibilityTraits {
|
override public var accessibilityTraits: UIAccessibilityTraits {
|
||||||
get {
|
get {
|
||||||
return listItemModel?.accessibilityTraits ?? .button
|
return (listItemModel?.accessibilityTraits) ?? ((accessoryView != nil) ? .button : .none)
|
||||||
|
|
||||||
}
|
}
|
||||||
set {}
|
set {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,7 +46,7 @@ import Foundation
|
|||||||
/// Ensures voice over does not read "selected" after user triggers action on cell.
|
/// Ensures voice over does not read "selected" after user triggers action on cell.
|
||||||
override public var accessibilityTraits: UIAccessibilityTraits {
|
override public var accessibilityTraits: UIAccessibilityTraits {
|
||||||
get {
|
get {
|
||||||
return listItemModel?.accessibilityTraits ?? .button
|
return (listItemModel?.accessibilityTraits) ?? ((accessoryView != nil) ? .button : .none)
|
||||||
}
|
}
|
||||||
set {}
|
set {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -91,6 +91,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
accessibilityLabel = message
|
accessibilityLabel = message
|
||||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((accessoryView != nil) ? .button : .none)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -83,6 +83,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
accessibilityLabel = message
|
accessibilityLabel = message
|
||||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((accessoryView != nil) ? .button : .none)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -100,7 +100,7 @@
|
|||||||
|
|
||||||
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
||||||
isAccessibilityElement = !linkShowing
|
isAccessibilityElement = !linkShowing
|
||||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((isAccessibilityElement && accessoryView != nil) ? .button : .none)
|
||||||
|
|
||||||
if !linkShowing {
|
if !linkShowing {
|
||||||
// Make whole cell focusable if no link.
|
// Make whole cell focusable if no link.
|
||||||
|
|||||||
@ -98,6 +98,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
accessibilityLabel = message
|
accessibilityLabel = message
|
||||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((accessoryView != nil) ? .button : .none)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -97,7 +97,7 @@
|
|||||||
|
|
||||||
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
let linkShowing = eyebrowHeadlineBodyLink.link.titleLabel?.text?.count ?? 0 > 0
|
||||||
isAccessibilityElement = !linkShowing
|
isAccessibilityElement = !linkShowing
|
||||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((isAccessibilityElement && accessoryView != nil) ? .button : .none)
|
||||||
|
|
||||||
if !linkShowing {
|
if !linkShowing {
|
||||||
// Make whole cell focusable if no link.
|
// Make whole cell focusable if no link.
|
||||||
|
|||||||
@ -95,6 +95,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
accessibilityLabel = message
|
accessibilityLabel = message
|
||||||
accessibilityTraits = listItemModel?.accessibilityTraits ?? .button
|
accessibilityTraits = (listItemModel?.accessibilityTraits) ?? ((accessoryView != nil) ? .button : .none)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -83,6 +83,10 @@ import Combine
|
|||||||
}
|
}
|
||||||
|
|
||||||
extension NavigationController: MVMCoreViewManagerProtocol {
|
extension NavigationController: MVMCoreViewManagerProtocol {
|
||||||
|
public func getAccessibilityElements() -> [Any]? {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
|
||||||
public func getCurrentViewController() -> UIViewController? {
|
public func getCurrentViewController() -> UIViewController? {
|
||||||
guard let topViewController = topViewController else { return nil }
|
guard let topViewController = topViewController else { return nil }
|
||||||
return MVMCoreUIUtility.getViewControllerTraversingManagers(topViewController)
|
return MVMCoreUIUtility.getViewControllerTraversingManagers(topViewController)
|
||||||
|
|||||||
@ -249,6 +249,10 @@ public extension MVMCoreUISplitViewController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
extension MVMCoreUISplitViewController: MVMCoreViewManagerProtocol {
|
extension MVMCoreUISplitViewController: MVMCoreViewManagerProtocol {
|
||||||
|
public func getAccessibilityElements() -> [Any]? {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
|
||||||
public func getCurrentViewController() -> UIViewController? {
|
public func getCurrentViewController() -> UIViewController? {
|
||||||
navigationController?.getCurrentViewController()
|
navigationController?.getCurrentViewController()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,10 @@ import Foundation
|
|||||||
import MVMCore
|
import MVMCore
|
||||||
|
|
||||||
open class SubNavManagerController: ViewController, MVMCoreViewManagerProtocol, TabsDelegate, MVMCorePresentationDelegateProtocol, SubNavSwipeNavigationProtocol {
|
open class SubNavManagerController: ViewController, MVMCoreViewManagerProtocol, TabsDelegate, MVMCorePresentationDelegateProtocol, SubNavSwipeNavigationProtocol {
|
||||||
|
public func getAccessibilityElements() -> [Any]? {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// The current managed view controller
|
/// The current managed view controller
|
||||||
private var viewController: UIViewController
|
private var viewController: UIViewController
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user