@@ -51,6 +51,7 @@ import co.yml.charts.ui.linechart.model.SelectionHighlightPoint
5151import co.yml.charts.ui.linechart.model.SelectionHighlightPopUp
5252import co.yml.charts.common.components.ItemDivider
5353import co.yml.charts.common.components.accessibility.AccessibilityBottomSheetDialog
54+ import co.yml.charts.common.components.accessibility.CombinedChartInfo
5455import co.yml.charts.common.components.accessibility.LinePointInfo
5556import co.yml.charts.common.extensions.RowClip
5657import co.yml.charts.common.extensions.collectIsTalkbackEnabledAsState
@@ -239,41 +240,42 @@ fun LineChart(modifier: Modifier, lineChartData: LineChartData) {
239240 isTapped = false
240241 selectionTextVisibility = false
241242 })
243+ if (isTalkBackEnabled) {
244+ AccessibilityBottomSheetDialog (
245+ modifier = Modifier .fillMaxSize(),
246+ backgroundColor = Color .White ,
247+ content = {
248+ LazyColumn {
249+ items(count = linePlotData.lines.size) { lineIndex ->
250+ linePlotData.lines[lineIndex].dataPoints.forEachIndexed { pointIndex, point ->
251+ Column {
252+ LinePointInfo (
253+ xAxisData.axisLabelDescription(
254+ xAxisData.labelData(
255+ pointIndex
256+ )
257+ ),
258+ point.description,
259+ linePlotData.lines[lineIndex].lineStyle.color
260+ )
242261
243- }
244- if (isTalkBackEnabled) {
245- with (lineChartData) {
246- AccessibilityBottomSheetDialog (
247- modifier = Modifier .fillMaxSize(),
248- backgroundColor = Color .White ,
249- content = {
250- val linePoints: List <Point > = linePlotData.lines.flatMap { line -> line.dataPoints.map { it } }
251- val lineColors: List <Color > = linePlotData.lines.map { line -> line.lineStyle.color }
252- LazyColumn {
253- items(linePoints?.size ? : 0 ) { index ->
254- Column {
255- LinePointInfo (
256- xAxisData.axisLabelDescription(
257- xAxisData.labelData(
258- index
262+ ItemDivider (
263+ thickness = accessibilityConfig.dividerThickness,
264+ dividerColor = accessibilityConfig.dividerColor
259265 )
260- ),
261- linePoints[index].description ? : " " ,
262- lineColors[index]
263- )
264- ItemDivider (
265- thickness = accessibilityConfig.dividerThickness,
266- dividerColor = accessibilityConfig.dividerColor
267- )
266+ }
267+
268+ }
268269 }
269270 }
270- }
271- } ,
272- popUpTopRightButtonTitle = accessibilityConfig.popUpTopRightButtonTitle ,
273- popUpTopRightButtonDescription = accessibilityConfig.popUpTopRightButtonDescription,
274- sheetState = accessibilitySheetState
275- )
271+ },
272+ popUpTopRightButtonTitle = accessibilityConfig.popUpTopRightButtonTitle ,
273+ popUpTopRightButtonDescription = accessibilityConfig.popUpTopRightButtonDescription ,
274+ sheetState = accessibilitySheetState
275+ )
276+
276277 }
278+
277279 }
278280 }
279281}
0 commit comments