[Submitted as FB22200608]
With Increase Contrast turned on, the selected row highlight in a List behaves inconsistently between light and dark appearance on iPad. In light appearance the blue selection highlight correctly becomes darker, but in dark appearance it becomes lighter instead. The text contrast ratio drops from about 3:1 to about 1.5:1, well below accessibility guidelines.
This reproduces both in the simulator and on a physical device. The sample uses a standard SwiftUI List inside NavigationSplitView with built-in selection styling. No custom colors or styling are applied.
REPRO STEPS
- Create a new Multiplatform project.
- Replace
ContentViewwith code below. - Build and run on iPad.
- Select an item in the list.
- Turn on Dark appearance (Cmd-Shift-A in Simulator).
- Turn on Increase Contrast (Cmd-Control-Shift-A in Simulator).
- Observe the selected row highlight.
ACTUAL
In light appearance, the blue selection highlight becomes darker when Increase Contrast is on, improving contrast as expected.
In dark appearance, the blue selection highlight becomes lighter when Increase Contrast is on, reducing contrast between the selection background and the white text.
EXPECTED
Increase Contrast should consistently increase contrast. In dark appearance, the selection highlight should become darker—or otherwise increase contrast with the foreground text—not lighter.
SAMPLE CODE
struct ContentView: View {
@State private var selection: String?
var body: some View {
NavigationSplitView {
Text("Sidebar")
} content: {
List(selection: $selection) {
Text("Item One")
.tag("One")
Text("Item Two")
.tag("Two")
}
} detail: {
if let selection {
Text(selection)
} else {
Text("Select an item")
}
}
}
}
SCREEN RECORDING
CONTACTS
The Contacts app behaves correctly. When Increase Contrast is turned on, the selection blue becomes darker, improving contrast.
PASSWORDS
The Passwords app, however, exhibits the issue. With Increase Contrast turned on, the selection blue becomes lighter instead of darker, reducing contrast.