Skip to content

fixed voice controll accessibility issue#36292

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

fixed voice controll accessibility issue#36292
v-baambati wants to merge 5 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.408 kB
220.139 kB
755.604 kB
220.486 kB
1.196 kB
347 B
react-charts
GroupedVerticalBarChart
394.37 kB
122.872 kB
394.888 kB
123.02 kB
518 B
148 B
react-charts
HorizontalBarChart
293.54 kB
88.973 kB
293.879 kB
89.099 kB
339 B
126 B
react-charts
VerticalBarChart
430.85 kB
127.756 kB
431.019 kB
127.82 kB
169 B
64 B
react-charts
VerticalStackedBarChart
400.574 kB
124.352 kB
400.913 kB
124.459 kB
339 B
107 B
Unchanged fixtures
Package & Exports Size (minified/GZIP)
react-charts
AreaChart
403.405 kB
125.786 kB
react-charts
DonutChart
313.868 kB
96.529 kB
react-charts
FunnelChart
305.367 kB
93.359 kB
react-charts
GanttChart
386.499 kB
120.153 kB
react-charts
GaugeChart
313.246 kB
95.915 kB
react-charts
HeatMapChart
388.581 kB
121.173 kB
react-charts
HorizontalBarChartWithAxis
63 B
83 B
react-charts
Legends
233.214 kB
69.846 kB
react-charts
LineChart
414.729 kB
128.737 kB
react-charts
PolarChart
342.213 kB
106.408 kB
react-charts
SankeyChart
211.914 kB
67.836 kB
react-charts
ScatterChart
394.112 kB
122.856 kB
react-charts
Sparkline
80.503 kB
26.644 kB
🤖 This report was generated against 3f6e92031a7854eefffb4b3ec46af6fd92439789

@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/Avatar Converged 1 screenshots
Image Name Diff(in Pixels) Image Type
vr-tests-react-components/Avatar Converged.badgeMask - RTL.normal.chromium.png 5 Changed
vr-tests-react-components/Positioning 2 screenshots
Image Name Diff(in Pixels) Image Type
vr-tests-react-components/Positioning.Positioning end.chromium.png 967 Changed
vr-tests-react-components/Positioning.Positioning end.updated 2 times.chromium.png 159 Changed
vr-tests-react-components/ProgressBar converged 2 screenshots
Image Name Diff(in Pixels) Image Type
vr-tests-react-components/ProgressBar converged.Indeterminate + thickness.default.chromium.png 39 Changed
vr-tests-react-components/ProgressBar converged.Indeterminate + thickness - Dark Mode.default.chromium.png 73 Changed

onFocus={_showToolTipOnSegment && point.legend !== '' ? event => _hoverOn(event, xValue, point) : undefined}
role="img"
aria-label={_getAriaLabel(point)}
role={index !== placeholderIndex ? 'option' : ''}

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.

default role should be img

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.

list box not allowing us to keep img role for its children

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

{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.

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

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.

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

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

_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.

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