From fc6afc6b84f317a3cd193c18213d78e0df325b5f Mon Sep 17 00:00:00 2001 From: Laura Benz <48948963+L-M-K-B@users.noreply.github.com> Date: Fri, 30 Sep 2022 13:03:55 +0200 Subject: [PATCH] Core: Implement aria attributes for query rows, improve a11y (#55563) * feat: add aria-expanded prop * refactor: remove console.log() * feat: add aria-controls * refactor: add id to expendable section * refactor: create unique id --- .../components/QueryOperationRow/QueryOperationRow.tsx | 2 ++ .../QueryOperationRow/QueryOperationRowHeader.tsx | 4 ++++ public/app/features/query/components/QueryEditorRow.tsx | 7 ++++--- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/public/app/core/components/QueryOperationRow/QueryOperationRow.tsx b/public/app/core/components/QueryOperationRow/QueryOperationRow.tsx index ae4bb5a1221..5a590f53ce7 100644 --- a/public/app/core/components/QueryOperationRow/QueryOperationRow.tsx +++ b/public/app/core/components/QueryOperationRow/QueryOperationRow.tsx @@ -104,6 +104,7 @@ export const QueryOperationRow: React.FC = ({
= ({ return (
void; reportDragMousePosition: MouseEventHandler; titleElement?: React.ReactNode; + id: string; } export const QueryOperationRowHeader: React.FC = ({ @@ -27,6 +28,7 @@ export const QueryOperationRowHeader: React.FC = ( onRowToggle, reportDragMousePosition, titleElement, + id, }: QueryOperationRowHeaderProps) => { const styles = useStyles2(getStyles); @@ -40,6 +42,8 @@ export const QueryOperationRowHeader: React.FC = ( className={styles.collapseIcon} onClick={onRowToggle} type="button" + aria-expanded={isContentVisible} + aria-controls={id} /> {titleElement && (
diff --git a/public/app/features/query/components/QueryEditorRow.tsx b/public/app/features/query/components/QueryEditorRow.tsx index 317986803ac..8ae8c463f22 100644 --- a/public/app/features/query/components/QueryEditorRow.tsx +++ b/public/app/features/query/components/QueryEditorRow.tsx @@ -1,6 +1,6 @@ // Libraries import classNames from 'classnames'; -import { cloneDeep, filter, has, uniqBy } from 'lodash'; +import { cloneDeep, filter, has, uniqBy, uniqueId } from 'lodash'; import pluralize from 'pluralize'; import React, { PureComponent, ReactNode } from 'react'; @@ -451,6 +451,7 @@ export class QueryEditorRow extends PureComponent extends PureComponent -
+
{showingHelp && DatasourceCheatsheet && (