invalid-range-values
UISlider()’s maximumValue must be higher than its minimumValue.
Who might be affected
Screen Reader
Description
The minimum value of a slider element (UISlider()) must be greater than its maximum value. To make the slider "disabled" (that is, show the slider but make it active only under certain conditions) you must do it using the "enabled" property.
Quick Fixes
Example 1 UIKit (pass):
1✓ let slider = UISlider()2 slider.accessibilityLabel = "Volume"3 slider.minimumValue = 04 slider.maximumValue = 1005 slider.value = 50
Example 2 UIKit (pass):
1✓ let slider = UISlider()2 slider.accessibilityLabel = "Volume"3 slider.minimumValue = 04 slider.maximumValue = 1005 slider.value = 506 slider.accessibilityValue = "50%"7
Example 3 UIKit (fail):
1✗ let slider = UISlider()2 slider.accessibilityLabel = "Volume"3 slider.minimumValue = 1004 slider.maximumValue = 0
Example 4 UIKit (fail):
1✗ let slider = UISlider()2 slider.accessibilityLabel = "Volume"3 slider.minimumValue = 04 slider.maximumValue = 0
Example 5 SwiftUI (fail):
1✗ @State private var value: Float = 502 ...3 UIKSlider(value: $value, minValue: 100, maxValue: 0)4 .accessibilityLabel("Volume")5 ...6 struct UIKSlider: UIViewRepresentable {7 @Binding var value: Float8 var minValue: Float9 var maxValue: Float10 ...11 func makeUIView(context: Context) -> UISlider {12 let slider = UISlider(frame: .zero)13 slider.minimumValue = minValue14 slider.maximumValue = maxValue15 slider.value = value16 ...17 return slider18 }19 ...20 }
Example 6 UIKit (make the slider disabled):
1 let slider = UISlider()2 slider.accessibilityLabel = "Volume"3 slider.minimumValue = 04 slider.maximumValue = 1005 slider.enabled = false
How Users Are Affected
Screen reader users will hear a value of NaN (not a number). All users won't be able to adjust the value since setting the minimumValue higher than the maximumValue will make the slider look and behave like it is disabled. However, screen readers won't announce it as "disabled”.
WCAG Success criteria
This issue might cause elements to fail one or more of the following Success criteria:
4.1.2 name, role, value (A)