Skip to content

fixed voice controll accessibility issue#36292

Open
v-baambati wants to merge 7 commits into
microsoft:masterfrom
v-baambati:AccessibilityIssueFix_June2026
Open

fixed voice controll accessibility issue#36292
v-baambati wants to merge 7 commits into
microsoft:masterfrom
v-baambati:AccessibilityIssueFix_June2026

Conversation

@v-baambati

Copy link
Copy Markdown
Contributor

No description provided.

@v-baambati v-baambati requested a review from a team as a code owner June 9, 2026 04:57
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

📊 Bundle size report

Package & Exports Baseline (minified/GZIP) PR Change
react-charts
DeclarativeChart
754.98 kB
220.248 kB
755.768 kB
220.538 kB
788 B
290 B
react-charts
GroupedVerticalBarChart
394.95 kB
122.987 kB
395.093 kB
123.053 kB
143 B
66 B
react-charts
HorizontalBarChart
294.114 kB
89.141 kB
294.21 kB
89.181 kB
96 B
40 B
react-charts
VerticalBarChart
431.43 kB
127.922 kB
431.662 kB
127.992 kB
232 B
70 B
react-charts
VerticalStackedBarChart
401.154 kB
124.425 kB
401.299 kB
124.484 kB
145 B
59 B
Unchanged fixtures
Package & Exports Size (minified/GZIP)
react-charts
AreaChart
403.979 kB
125.912 kB
react-charts
DonutChart
314.442 kB
96.656 kB
react-charts
FunnelChart
305.941 kB
93.468 kB
react-charts
GanttChart
387.079 kB
120.263 kB
react-charts
GaugeChart
313.82 kB
96.023 kB
react-charts
HeatMapChart
389.155 kB
121.302 kB
react-charts
HorizontalBarChartWithAxis
63 B
83 B
react-charts
Legends
233.794 kB
69.977 kB
react-charts
LineChart
415.309 kB
128.873 kB
react-charts
PolarChart
342.793 kB
106.526 kB
react-charts
SankeyChart
211.914 kB
67.836 kB
react-charts
ScatterChart
394.692 kB
122.992 kB
react-charts
Sparkline
80.503 kB
26.644 kB
🤖 This report was generated against 672afec62c04eada141116387483d47c13c3da68

@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown

Pull request demo site: URL

@@ -594,7 +594,7 @@ export const GroupedVerticalBarChart: React.FC<GroupedVerticalBarChartProps> = R
onClick={pointData.onClick}

@github-actions github-actions Bot Jun 9, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🕵🏾‍♀️ 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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is this doing

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aria-label will be something like below

EX: one, bar 1 of 3 with 2 data points

return (
<g
role="listbox"
aria-label={chartGroupAriaLabel}

@krkshitij krkshitij Jun 12, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here, <g> represents an x-axis category group and not a series/legend

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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}>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assign listbox role to the dotGroups instead. Each dotGroup contains data points of only 1 line series.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved to dotGroup

<g
role="listbox"
id={keyVal}
aria-label={chartGroupAriaLabel}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@v-baambati v-baambati Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated as bar 1 of 8.

return (
<>
<g>{_bars}</g>
<g role="listbox" aria-label={chartGroupAriaLabel}>

@krkshitij krkshitij Jun 12, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here, <g> contains all the bars. It would be better to create a <g> for all bars in each y-group.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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}>

@krkshitij krkshitij Jun 12, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here, <g> contains all the bars. Assign listbox role to the <g> representing each stack instead.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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}>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here, <g> contains data points from all line series. It would be better to create a <g> for each line series.

@v-baambati v-baambati Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.`;

@krkshitij krkshitij Jun 12, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated as we discussed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants