fixed voice controll accessibility issue#36292
Conversation
📊 Bundle size reportUnchanged fixtures
|
|
Pull request demo site: URL |
| @@ -594,7 +594,7 @@ export const GroupedVerticalBarChart: React.FC<GroupedVerticalBarChartProps> = R | |||
| onClick={pointData.onClick} | |||
There was a problem hiding this comment.
🕵🏾♀️ visual changes to review in the Visual Change Report
vr-tests-react-components/CalendarCompat 4 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/CalendarCompat.multiDayView - Dark Mode.default.chromium.png | 1093 | Changed |
| vr-tests-react-components/CalendarCompat.multiDayView - High Contrast.default.chromium.png | 1206 | Changed |
| vr-tests-react-components/CalendarCompat.multiDayView.default.chromium_1.png | 489 | Changed |
| vr-tests-react-components/CalendarCompat.multiDayView.default.chromium.png | 486 | Changed |
vr-tests-react-components/Menu Converged - submenuIndicator slotted content 2 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Menu Converged - submenuIndicator slotted content.default - RTL.submenus open.chromium.png | 599 | Changed |
| vr-tests-react-components/Menu Converged - submenuIndicator slotted content.default.submenus open.chromium.png | 413 | Changed |
vr-tests-react-components/Positioning 2 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/Positioning.Positioning end.chromium.png | 133 | Changed |
| vr-tests-react-components/Positioning.Positioning end.updated 2 times.chromium.png | 946 | Changed |
vr-tests-react-components/ProgressBar converged 3 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/ProgressBar converged.Indeterminate + thickness - Dark Mode.default.chromium.png | 25 | Changed |
| vr-tests-react-components/ProgressBar converged.Indeterminate + thickness - High Contrast.default.chromium.png | 35 | Changed |
| vr-tests-react-components/ProgressBar converged.Indeterminate + thickness.default.chromium.png | 75 | Changed |
vr-tests-react-components/TagPicker 2 screenshots
| Image Name | Diff(in Pixels) | Image Type |
|---|---|---|
| vr-tests-react-components/TagPicker.disabled - Dark Mode.disabled input hover.chromium.png | 658 | Changed |
| vr-tests-react-components/TagPicker.disabled - RTL.disabled input hover.chromium.png | 635 | Changed |
There were 3 duplicate changes discarded. Check the build logs for more information.
| const keyVal = _uniqLineText + '_' + index; | ||
| const rawLegendVal = points!.chartData?.[0]?.legend || 'Series'; | ||
| const legendVal = | ||
| rawLegendVal |
There was a problem hiding this comment.
Aria-label will be something like below
EX: one, bar 1 of 3 with 2 data points
| return ( | ||
| <g | ||
| role="listbox" | ||
| aria-label={chartGroupAriaLabel} |
There was a problem hiding this comment.
Here, <g> represents an x-axis category group and not a series/legend
There was a problem hiding this comment.
updated as Jan - Mar, category 1 of 4, with bar series: 2021, 2022.
| {lineBorders.length > 0 ? <g>{lineBorders}</g> : null} | ||
| {lines.length > 0 ? <g>{lines}</g> : null} | ||
| <g>{dots}</g> | ||
| <g role="listbox" aria-label={chartGroupAriaLabel}> |
There was a problem hiding this comment.
Assign listbox role to the dotGroups instead. Each dotGroup contains data points of only 1 line series.
There was a problem hiding this comment.
Moved to dotGroup
| <g | ||
| role="listbox" | ||
| id={keyVal} | ||
| aria-label={chartGroupAriaLabel} |
There was a problem hiding this comment.
Here, <g> represents a single horizontal bar (a primary bar + an optional placeholder bar) so no need to mention the number of data points in aria-label.
There was a problem hiding this comment.
updated as bar 1 of 8.
| return ( | ||
| <> | ||
| <g>{_bars}</g> | ||
| <g role="listbox" aria-label={chartGroupAriaLabel}> |
There was a problem hiding this comment.
Here, <g> contains all the bars. It would be better to create a <g> for all bars in each y-group.
There was a problem hiding this comment.
Created separate g tag which represents y-group and aria label updated as 30000, bar group 3 of 4.
| <> | ||
| <g {..._arrowNavigationAttributes}>{_bars}</g> | ||
| <g> | ||
| <g role="listbox" aria-label={chartGroupAriaLabel} {..._arrowNavigationAttributes}> |
There was a problem hiding this comment.
Here, <g> contains all the bars. Assign listbox role to the <g> representing each stack instead.
There was a problem hiding this comment.
Updated. Arial label 0. Metadata1, 40%. Metadata2, 5%. Metadata3, 20%. Metadata4, 10%. Metadata5, 23%. Metadata6, 0.4%. Metadata7, 0.5%. Metadata8, 0.3%. Metadata9, 0.7%. Metadata10, 0.1%. Supported Builds, 42. Recommended Builds, 10.
| <g role="listbox" aria-label={chartGroupAriaLabel} {..._arrowNavigationAttributes}> | ||
| {_bars} | ||
| </g> | ||
| <g role="listbox" aria-label={lineGroupAriaLabel}> |
There was a problem hiding this comment.
Here, <g> contains data points from all line series. It would be better to create a <g> for each line series.
There was a problem hiding this comment.
Updated, Aria Label: Supported Builds, line chart with 5 data points.
| _yMin = Math.min(d3Min(_points, (point: VerticalBarChartDataPoint) => point.y)!, props.yMinValue || 0); | ||
| const legendBars: JSXElement = _getLegendData(_points); | ||
| const legendVal = _points[0]?.legend || 'Series'; | ||
| const chartGroupAriaLabel = `${legendVal}, bar chart with ${_points.length} bars and ${_points.length} data points.`; |
There was a problem hiding this comment.
No need to include chart related details here. Some of these details are already included in the chart title. Ensure that the aria label only contains info about what the <g> represents. Try not to repeat them. Do the same for other charts as well.
There was a problem hiding this comment.
Updated as we discussed.
…ccessibilityIssueFix_June2026

No description provided.