VoiceOver ignoring a data series when there are multiple ones

I can't figure out if I've found a VoiceOver problem with Swift Charts or if I'm doing something incorrectly.

I have a loop within a loop showing 2 sets of data in the same chart.

If I touch a month then VO correctly says there are two data series. But if I keep swiping down only data from the first series is read.

ChatGPT said try referencing the outer loop and sure enough that worked if it done in BOTH the label and value.

It sounds really awkward though. For example, "High 89 degrees F High October".

Below the "bad" chart only says something such as "92 degrees F October" when swiping down. The "good" chart will read the high and low temperature data.

        VStack {
            headerText("BAD")
            Chart {
                ForEach(processedMonthlyInput) { oneMonth in
                    ForEach(oneMonth.temperatures, id: \.month) { element in
                        LineMark(
                            x: .value("Month", element.month, unit: .month),
                            y: .value("Temperature", element.tempVal.converted(to: .fahrenheit).value)
                        )
                        .accessibilityLabel("\(element.month.formatted(.dateTime.month(.wide)))")
                        .accessibilityValue(Text("\(element.tempVal.converted(to: tempUnit).formatted(.measurement(width: .abbreviated, numberFormatStyle: .number.precision(.fractionLength(0)))))"))
                    }
                    .symbol(by: .value("Type", oneMonth.theType))
                    .foregroundStyle(by: .value("Type", oneMonth.theType))
                    .interpolationMethod(.catmullRom)
                }
            }
            .frame(maxHeight: paddingAmount)
            .padding(.horizontal)
            
            headerText("GOOD")
            Chart {
                ForEach(processedMonthlyInput) { oneMonth in
                    ForEach(oneMonth.temperatures, id: \.month) { element in
                        LineMark(
                            x: .value("Month", element.month, unit: .month),
                            y: .value("Temperature", element.tempVal.converted(to: .fahrenheit).value)
                        )
                        .accessibilityLabel("\(oneMonth.theType) \(element.month.formatted(.dateTime.month(.wide)))")
                        .accessibilityValue(Text("\(oneMonth.theType) \(element.tempVal.converted(to: tempUnit).formatted(.measurement(width: .abbreviated, numberFormatStyle: .number.precision(.fractionLength(0)))))"))
                    }
                    .symbol(by: .value("Type", oneMonth.theType))
                    .foregroundStyle(by: .value("Type", oneMonth.theType))
                    .interpolationMethod(.catmullRom)
                }
            }
            .frame(maxHeight: paddingAmount)
            .padding(.horizontal)
        }
VoiceOver ignoring a data series when there are multiple ones
 
 
Q