Skip to content

Commit fad13fa

Browse files
authored
Merge pull request #8994 from GilbertCherrie/fix_dashboard_accessibility_issues
Fix dashboard accessibility issues
2 parents a7d66f2 + eaa37cc commit fad13fa

File tree

7 files changed

+14
-11
lines changed

7 files changed

+14
-11
lines changed

app/javascript/components/dashboard-widgets/widget-chart/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ const WidgetChart = ({
1010
widget = DashboardWidget(data, id, title);
1111
} else {
1212
widget = (
13-
<h1 id="empty-widget">
13+
<h1 className="empty-widget">
1414
{__('No chart data found.')}
1515
{__(' If this widget is new or has just been added to your dashboard, the data is being generated and should be available soon.')}
1616
</h1>

app/javascript/components/dashboard-widgets/widget-error/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
33

44
const WidgetError = ({ widgetId }) => (
55
<div id={`dd_w${widgetId}_box`}>
6-
<div id="error-widget">
6+
<div className="error-widget">
77
<p>{__('Error: Request for data failed.')}</p>
88
</div>
99
</div>

app/javascript/components/dashboard-widgets/widget-menu/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const WidgetMenu = ({ widgetModel }) => {
2525
);
2626
} else {
2727
widget = (
28-
<h1 id="empty-widget">
28+
<h1 className="empty-widget">
2929
{__('No shortcuts are authorized for this user, contact your Administrator')}
3030
</h1>
3131
);

app/javascript/components/dashboard-widgets/widget-report/index.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const WidgetReport = ({ widgetModel }) => {
99
widget = (<div className="widget-report" dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(widgetModel) }} />);
1010
} else {
1111
widget = (
12-
<h1 id="empty-widget">
12+
<h1 className="empty-widget">
1313
{__('No report data found.')}
1414
{__(' If this widget is new or has just been added to your dashboard, the data is being generated and should be available soon.')}
1515
</h1>

app/javascript/components/dashboard-widgets/widget-wrapper/index.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ const WidgetWrapper = ({
99
widgetId, widgetType, widgetButtons, widgetLastRun, widgetNextRun, widgetTitle,
1010
}) => {
1111
const [{ widgetModel, isLoading, error }, setState] = useState({ isLoading: true, error: false });
12-
1312
const widgetUrl = () => {
1413
const widgetTypeUrl = {
1514
menu: '/dashboard/widget_menu_data/',
@@ -86,12 +85,13 @@ const WidgetWrapper = ({
8685
<OverflowMenu
8786
className="widget-overflow-menu"
8887
id={`${widgetId}-menu`}
88+
aria-labelledby={`widget-title-${widgetId}`}
8989
flipped
9090
onOpen={() => overflowMenuDirection(widgetId, widgetButtons)}
9191
>
9292
{getOverflowButtons(widgetButtons, widgetId, widgetType, widgetTitle, setState, widgetModel, widgetLastRun, widgetNextRun)}
9393
</OverflowMenu>
94-
<div className="card-pf-title sortable-handle ui-sortable-handle" aria-label={`widget-title-${widgetId}`}>
94+
<div className="card-pf-title sortable-handle ui-sortable-handle">
9595
<span id={`widget-title-${widgetId}`}>{widgetTitle}</span>
9696
</div>
9797
</div>

app/javascript/spec/widget-wrapper/__snapshots__/widget-wrapper.spec.js.snap

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ exports[`Widget wrapper component should render a widget wrapper with a chart 1`
3636
className="card-pf-heading-kebab"
3737
>
3838
<OverflowMenu
39+
aria-labelledby="widget-title-1"
3940
ariaLabel="open and close list of options"
4041
className="widget-overflow-menu"
4142
direction="bottom"
@@ -66,6 +67,7 @@ exports[`Widget wrapper component should render a widget wrapper with a chart 1`
6667
aria-expanded={false}
6768
aria-haspopup={true}
6869
aria-label="open and close list of options"
70+
aria-labelledby="widget-title-1"
6971
className="widget-overflow-menu bx--overflow-menu bx--overflow-menu--md"
7072
id="1-menu"
7173
onClick={[Function]}
@@ -125,7 +127,6 @@ exports[`Widget wrapper component should render a widget wrapper with a chart 1`
125127
</ClickListener>
126128
</OverflowMenu>
127129
<div
128-
aria-label="widget-title-1"
129130
className="card-pf-title sortable-handle ui-sortable-handle"
130131
>
131132
<span
@@ -226,6 +227,7 @@ exports[`Widget wrapper component should render a widget wrapper with a menu 1`]
226227
className="card-pf-heading-kebab"
227228
>
228229
<OverflowMenu
230+
aria-labelledby="widget-title-83"
229231
ariaLabel="open and close list of options"
230232
className="widget-overflow-menu"
231233
direction="bottom"
@@ -256,6 +258,7 @@ exports[`Widget wrapper component should render a widget wrapper with a menu 1`]
256258
aria-expanded={false}
257259
aria-haspopup={true}
258260
aria-label="open and close list of options"
261+
aria-labelledby="widget-title-83"
259262
className="widget-overflow-menu bx--overflow-menu bx--overflow-menu--md"
260263
id="83-menu"
261264
onClick={[Function]}
@@ -315,7 +318,6 @@ exports[`Widget wrapper component should render a widget wrapper with a menu 1`]
315318
</ClickListener>
316319
</OverflowMenu>
317320
<div
318-
aria-label="widget-title-83"
319321
className="card-pf-title sortable-handle ui-sortable-handle"
320322
>
321323
<span
@@ -416,6 +418,7 @@ exports[`Widget wrapper component should render a widget wrapper with a report 1
416418
className="card-pf-heading-kebab"
417419
>
418420
<OverflowMenu
421+
aria-labelledby="widget-title-19"
419422
ariaLabel="open and close list of options"
420423
className="widget-overflow-menu"
421424
direction="bottom"
@@ -446,6 +449,7 @@ exports[`Widget wrapper component should render a widget wrapper with a report 1
446449
aria-expanded={false}
447450
aria-haspopup={true}
448451
aria-label="open and close list of options"
452+
aria-labelledby="widget-title-19"
449453
className="widget-overflow-menu bx--overflow-menu bx--overflow-menu--md"
450454
id="19-menu"
451455
onClick={[Function]}
@@ -505,7 +509,6 @@ exports[`Widget wrapper component should render a widget wrapper with a report 1
505509
</ClickListener>
506510
</OverflowMenu>
507511
<div
508-
aria-label="widget-title-19"
509512
className="card-pf-title sortable-handle ui-sortable-handle"
510513
>
511514
<span

app/stylesheet/widget.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@
2222
}
2323
}
2424

25-
#empty-widget {
25+
.empty-widget {
2626
font-size: 12px;
2727
font-weight: 500;
2828
padding-bottom: 20px;
2929
}
3030

31-
#error-widget {
31+
.error-widget {
3232
font-size: 12px;
3333
font-weight: 500;
3434
padding-bottom: 20px;

0 commit comments

Comments
 (0)