remove(index)}
>
Remove
diff --git a/public/app/features/correlations/Forms/TransformationsEditor.tsx b/public/app/features/correlations/Forms/TransformationsEditor.tsx
index a388bf55505..3f811738137 100644
--- a/public/app/features/correlations/Forms/TransformationsEditor.tsx
+++ b/public/app/features/correlations/Forms/TransformationsEditor.tsx
@@ -229,9 +229,8 @@ export const TransformationsEditor = (props: Props) => {
{!readOnly && (
{
remove(index);
const keptValsCopy: Array<{ expression?: string; mapValue?: string } | undefined> = [
@@ -240,7 +239,6 @@ export const TransformationsEditor = (props: Props) => {
keptValsCopy[index] = undefined;
setKeptVals(compact(keptValsCopy));
}}
- ariaLabel="Remove transformation"
>
Remove
diff --git a/public/app/features/dashboard/components/AddLibraryPanelWidget/AddLibraryPanelWidget.tsx b/public/app/features/dashboard/components/AddLibraryPanelWidget/AddLibraryPanelWidget.tsx
index 1f93101f57b..cda9bf63d9e 100644
--- a/public/app/features/dashboard/components/AddLibraryPanelWidget/AddLibraryPanelWidget.tsx
+++ b/public/app/features/dashboard/components/AddLibraryPanelWidget/AddLibraryPanelWidget.tsx
@@ -47,7 +47,12 @@ export const AddLibraryPanelWidget = ({ panel, dashboard }: Props) => {
Add panel from panel library
-
+
diff --git a/public/app/features/dashboard/components/AddPanelWidget/AddPanelWidget.tsx b/public/app/features/dashboard/components/AddPanelWidget/AddPanelWidget.tsx
index 06803d80127..4966670094d 100644
--- a/public/app/features/dashboard/components/AddPanelWidget/AddPanelWidget.tsx
+++ b/public/app/features/dashboard/components/AddPanelWidget/AddPanelWidget.tsx
@@ -213,7 +213,7 @@ const AddPanelWidgetHandle = ({ children, onBack, onCancel, styles }: AddPanelWi
{onBack && (
-
+
)}
{!onBack && (
@@ -223,7 +223,7 @@ const AddPanelWidgetHandle = ({ children, onBack, onCancel, styles }: AddPanelWi
)}
{children &&
{children} }
-
+
);
};
diff --git a/public/app/features/dashboard/components/AnnotationSettings/AnnotationSettingsList.tsx b/public/app/features/dashboard/components/AnnotationSettings/AnnotationSettingsList.tsx
index 33abef06a5c..2799c59a324 100644
--- a/public/app/features/dashboard/components/AnnotationSettings/AnnotationSettingsList.tsx
+++ b/public/app/features/dashboard/components/AnnotationSettings/AnnotationSettingsList.tsx
@@ -81,11 +81,11 @@ export const AnnotationSettingsList = ({ dashboard, onNew, onEdit }: Props) => {
{dataSourceSrv.getInstanceSettings(annotation.datasource)?.name || annotation.datasource?.uid}
- {idx !== 0 && onMove(idx, -1)} />}
+ {idx !== 0 && onMove(idx, -1)} tooltip="Move up" />}
{dashboard.annotations.list.length > 1 && idx !== dashboard.annotations.list.length - 1 ? (
- onMove(idx, 1)} />
+ onMove(idx, 1)} tooltip="Move down" />
) : null}
diff --git a/public/app/features/dashboard/components/DashboardSettings/AnnotationsSettings.test.tsx b/public/app/features/dashboard/components/DashboardSettings/AnnotationsSettings.test.tsx
index 7a7d1ede798..733f48f9c05 100644
--- a/public/app/features/dashboard/components/DashboardSettings/AnnotationsSettings.test.tsx
+++ b/public/app/features/dashboard/components/DashboardSettings/AnnotationsSettings.test.tsx
@@ -158,23 +158,23 @@ describe('AnnotationsSettings', () => {
setup(dashboard);
// Check that we have sorting buttons
- expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'arrow-up' })).not.toBeInTheDocument();
- expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'arrow-down' })).toBeInTheDocument();
+ expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'Move up' })).not.toBeInTheDocument();
+ expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'Move down' })).toBeInTheDocument();
- expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'arrow-up' })).toBeInTheDocument();
- expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'arrow-down' })).toBeInTheDocument();
+ expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'Move up' })).toBeInTheDocument();
+ expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'Move down' })).toBeInTheDocument();
- expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'arrow-up' })).toBeInTheDocument();
- expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'arrow-down' })).not.toBeInTheDocument();
+ expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'Move up' })).toBeInTheDocument();
+ expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'Move down' })).not.toBeInTheDocument();
// Check the original order
expect(within(getTableBodyRows()[0]).queryByText(/annotations & alerts/i)).toBeInTheDocument();
expect(within(getTableBodyRows()[1]).queryByText(/annotation 2/i)).toBeInTheDocument();
expect(within(getTableBodyRows()[2]).queryByText(/annotation 3/i)).toBeInTheDocument();
- await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'arrow-down' })[0]);
- await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'arrow-down' })[1]);
- await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'arrow-up' })[0]);
+ await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'Move down' })[0]);
+ await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'Move down' })[1]);
+ await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'Move up' })[0]);
// Checking if it has changed the sorting accordingly
expect(within(getTableBodyRows()[0]).queryByText(/annotation 3/i)).toBeInTheDocument();
diff --git a/public/app/features/dashboard/components/DashboardSettings/LinksSettings.test.tsx b/public/app/features/dashboard/components/DashboardSettings/LinksSettings.test.tsx
index e97c4fb589f..4973e38beb2 100644
--- a/public/app/features/dashboard/components/DashboardSettings/LinksSettings.test.tsx
+++ b/public/app/features/dashboard/components/DashboardSettings/LinksSettings.test.tsx
@@ -113,23 +113,23 @@ describe('LinksSettings', () => {
setup(dashboard);
// Check that we have sorting buttons
- expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'arrow-up' })).not.toBeInTheDocument();
- expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'arrow-down' })).toBeInTheDocument();
+ expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'Move link up' })).not.toBeInTheDocument();
+ expect(within(getTableBodyRows()[0]).queryByRole('button', { name: 'Move link down' })).toBeInTheDocument();
- expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'arrow-up' })).toBeInTheDocument();
- expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'arrow-down' })).toBeInTheDocument();
+ expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'Move link up' })).toBeInTheDocument();
+ expect(within(getTableBodyRows()[1]).queryByRole('button', { name: 'Move link down' })).toBeInTheDocument();
- expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'arrow-up' })).toBeInTheDocument();
- expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'arrow-down' })).not.toBeInTheDocument();
+ expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'Move link up' })).toBeInTheDocument();
+ expect(within(getTableBodyRows()[2]).queryByRole('button', { name: 'Move link down' })).not.toBeInTheDocument();
// Checking the original order
assertRowHasText(0, links[0].title);
assertRowHasText(1, links[1].title);
assertRowHasText(2, links[2].url);
- await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'arrow-down' })[0]);
- await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'arrow-down' })[1]);
- await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'arrow-up' })[0]);
+ await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'Move link down' })[0]);
+ await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'Move link down' })[1]);
+ await userEvent.click(within(getTableBody()).getAllByRole('button', { name: 'Move link up' })[0]);
// Checking if it has changed the sorting accordingly
assertRowHasText(0, links[2].url);
diff --git a/public/app/features/dashboard/components/LinksSettings/LinkSettingsList.tsx b/public/app/features/dashboard/components/LinksSettings/LinkSettingsList.tsx
index d89a161b8ea..cd9388e84f4 100644
--- a/public/app/features/dashboard/components/LinksSettings/LinkSettingsList.tsx
+++ b/public/app/features/dashboard/components/LinksSettings/LinkSettingsList.tsx
@@ -75,15 +75,15 @@ export const LinkSettingsList = ({ dashboard, onNew, onEdit }: LinkSettingsListP
- {idx !== 0 && moveLink(idx, -1)} />}
+ {idx !== 0 && moveLink(idx, -1)} tooltip="Move link up" />}
{links.length > 1 && idx !== links.length - 1 ? (
- moveLink(idx, 1)} />
+ moveLink(idx, 1)} tooltip="Move link down" />
) : null}
- duplicateLink(link, idx)} />
+ duplicateLink(link, idx)} tooltip="Copy link" />
{!isSystemOverride && (
-
+
)}
diff --git a/public/app/features/dashboard/components/PanelEditor/OverrideCategoryTitle.tsx b/public/app/features/dashboard/components/PanelEditor/OverrideCategoryTitle.tsx
index 27ce86185b3..27e5c9768ec 100644
--- a/public/app/features/dashboard/components/PanelEditor/OverrideCategoryTitle.tsx
+++ b/public/app/features/dashboard/components/PanelEditor/OverrideCategoryTitle.tsx
@@ -30,7 +30,7 @@ export const OverrideCategoryTitle = ({
{overrideName}
-
+
{!isExpanded && (
diff --git a/public/app/features/dashboard/components/TransformationsEditor/TransformationsEditor.tsx b/public/app/features/dashboard/components/TransformationsEditor/TransformationsEditor.tsx
index e4be969e233..4b9cdcb9bfd 100644
--- a/public/app/features/dashboard/components/TransformationsEditor/TransformationsEditor.tsx
+++ b/public/app/features/dashboard/components/TransformationsEditor/TransformationsEditor.tsx
@@ -249,6 +249,7 @@ class UnThemedTransformationsEditor extends React.PureComponent
{
this.setState({ search: '' });
}}
+ tooltip="Clear search"
/>
>
);
@@ -266,6 +267,7 @@ class UnThemedTransformationsEditor extends React.PureComponent {
this.setState({ showPicker: false });
}}
+ tooltip="Close picker"
/>
);
}
diff --git a/public/app/features/dashboard/components/VersionHistory/VersionHistoryHeader.tsx b/public/app/features/dashboard/components/VersionHistory/VersionHistoryHeader.tsx
index 46d458d1d25..1205e084f9d 100644
--- a/public/app/features/dashboard/components/VersionHistory/VersionHistoryHeader.tsx
+++ b/public/app/features/dashboard/components/VersionHistory/VersionHistoryHeader.tsx
@@ -22,7 +22,7 @@ export const VersionHistoryHeader = ({
return (
-
+
Comparing {baseVersion} {newVersion}{' '}
{isNewLatest && (Latest) }
diff --git a/public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.tsx b/public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.tsx
index e5f8df86343..0d5578265fb 100644
--- a/public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.tsx
+++ b/public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.tsx
@@ -199,10 +199,10 @@ export class ThresholdsEditor extends PureComponent {
}
suffix={
this.onRemoveThreshold(threshold)}
+ tooltip={`Remove ${ariaLabel}`}
/>
}
/>
diff --git a/public/app/features/dimensions/editors/ValueMappingsEditor/ValueMappingEditRow.tsx b/public/app/features/dimensions/editors/ValueMappingsEditor/ValueMappingEditRow.tsx
index 498454c92c4..27120d7b56e 100644
--- a/public/app/features/dimensions/editors/ValueMappingsEditor/ValueMappingEditRow.tsx
+++ b/public/app/features/dimensions/editors/ValueMappingsEditor/ValueMappingEditRow.tsx
@@ -220,8 +220,20 @@ export function ValueMappingEditRow({ mapping, index, onChange, onRemove, onDupl
)}
- onDuplicate(index)} data-testid="duplicate-value-mapping" />
- onRemove(index)} data-testid="remove-value-mapping" />
+ onDuplicate(index)}
+ data-testid="duplicate-value-mapping"
+ aria-label="Duplicate value mapping"
+ tooltip="Duplicate"
+ />
+ onRemove(index)}
+ data-testid="remove-value-mapping"
+ aria-label="Delete value mapping"
+ tooltip="Delete"
+ />
diff --git a/public/app/features/explore/ExploreQueryInspector.test.tsx b/public/app/features/explore/ExploreQueryInspector.test.tsx
index 096a797d903..7efbe215981 100644
--- a/public/app/features/explore/ExploreQueryInspector.test.tsx
+++ b/public/app/features/explore/ExploreQueryInspector.test.tsx
@@ -67,7 +67,7 @@ const setup = (propOverrides = {}) => {
describe('ExploreQueryInspector', () => {
it('should render closable drawer component', () => {
setup();
- expect(screen.getByTitle(/close query inspector/i)).toBeInTheDocument();
+ expect(screen.getByLabelText(/close query inspector/i)).toBeInTheDocument();
});
it('should render 4 Tabs if queryResponse has no error', () => {
setup();
diff --git a/public/app/features/explore/RichHistory/RichHistoryCard.test.tsx b/public/app/features/explore/RichHistory/RichHistoryCard.test.tsx
index 27a5808d8e7..a5502a6134a 100644
--- a/public/app/features/explore/RichHistory/RichHistoryCard.test.tsx
+++ b/public/app/features/explore/RichHistory/RichHistoryCard.test.tsx
@@ -384,28 +384,28 @@ describe('RichHistoryCard', () => {
});
it('should have title "Edit comment" at comment icon, if comment present', async () => {
setup({ query: starredQueryWithComment });
- const editComment = await screen.findByTitle('Edit comment');
+ const editComment = await screen.findByLabelText('Edit comment');
const addComment = screen.queryByTitle('Add comment');
expect(editComment).toBeInTheDocument();
expect(addComment).not.toBeInTheDocument();
});
it('should have title "Add comment" at comment icon, if no comment present', async () => {
setup();
- const addComment = await screen.findByTitle('Add comment');
+ const addComment = await screen.findByLabelText('Add comment');
const editComment = await screen.queryByTitle('Edit comment');
expect(addComment).toBeInTheDocument();
expect(editComment).not.toBeInTheDocument();
});
it('should open update comment form when edit comment button clicked', async () => {
setup({ query: starredQueryWithComment });
- const editComment = await screen.findByTitle('Edit comment');
+ const editComment = await screen.findByLabelText('Edit comment');
await userEvent.click(editComment);
const updateCommentForm = await screen.findByLabelText('Update comment form');
expect(updateCommentForm).toBeInTheDocument();
});
it('should close update comment form when escape key pressed', async () => {
setup({ query: starredQueryWithComment });
- const editComment = await screen.findByTitle('Edit comment');
+ const editComment = await screen.findByLabelText('Edit comment');
await userEvent.click(editComment);
const updateCommentForm = await screen.findByLabelText('Update comment form');
await userEvent.click(updateCommentForm);
@@ -417,7 +417,7 @@ describe('RichHistoryCard', () => {
});
it('should close update comment form when enter and shift keys pressed', async () => {
setup({ query: starredQueryWithComment });
- const editComment = await screen.findByTitle('Edit comment');
+ const editComment = await screen.findByLabelText('Edit comment');
await userEvent.click(editComment);
const updateCommentForm = await screen.findByLabelText('Update comment form');
await userEvent.click(updateCommentForm);
@@ -430,7 +430,7 @@ describe('RichHistoryCard', () => {
});
it('should close update comment form when enter and ctrl keys pressed', async () => {
setup({ query: starredQueryWithComment });
- const editComment = await screen.findByTitle('Edit comment');
+ const editComment = await screen.findByLabelText('Edit comment');
await userEvent.click(editComment);
const updateCommentForm = await screen.findByLabelText('Update comment form');
await userEvent.click(updateCommentForm);
@@ -443,7 +443,7 @@ describe('RichHistoryCard', () => {
});
it('should not close update comment form when enter key pressed', async () => {
setup({ query: starredQueryWithComment });
- const editComment = await screen.findByTitle('Edit comment');
+ const editComment = await screen.findByLabelText('Edit comment');
await userEvent.click(editComment);
const updateCommentForm = await screen.findByLabelText('Update comment form');
await userEvent.click(updateCommentForm);
@@ -459,14 +459,14 @@ describe('RichHistoryCard', () => {
describe('starring', () => {
it('should have title "Star query", if not starred', async () => {
setup();
- const starButton = await screen.findByTitle('Star query');
+ const starButton = await screen.findByLabelText('Star query');
expect(starButton).toBeInTheDocument();
await userEvent.click(starButton);
expect(starRichHistoryMock).toBeCalledWith(starredQueryWithComment.id, true);
});
it('should have title "Unstar query", if not starred', async () => {
setup({ query: starredQueryWithComment });
- const unstarButton = await screen.findByTitle('Unstar query');
+ const unstarButton = await screen.findByLabelText('Unstar query');
expect(unstarButton).toBeInTheDocument();
await userEvent.click(unstarButton);
expect(starRichHistoryMock).toBeCalledWith(starredQueryWithComment.id, false);
@@ -476,14 +476,14 @@ describe('RichHistoryCard', () => {
describe('deleting', () => {
it('should delete if not starred', async () => {
setup();
- const deleteButton = await screen.findByTitle('Delete query');
+ const deleteButton = await screen.findByLabelText('Delete query');
expect(deleteButton).toBeInTheDocument();
await userEvent.click(deleteButton);
expect(deleteRichHistoryMock).toBeCalledWith(starredQueryWithComment.id);
});
it('should display modal before deleting if starred', async () => {
setup({ query: starredQueryWithComment });
- const deleteButton = await screen.findByTitle('Delete query');
+ const deleteButton = await screen.findByLabelText('Delete query');
await userEvent.click(deleteButton);
expect(deleteRichHistoryMock).not.toBeCalled();
expect(appEvents.publish).toHaveBeenCalledWith(new ShowConfirmModalEvent(expect.anything()));
diff --git a/public/app/features/explore/RichHistory/RichHistoryCard.tsx b/public/app/features/explore/RichHistory/RichHistoryCard.tsx
index 54fc5214f0b..ee34d3ebe58 100644
--- a/public/app/features/explore/RichHistory/RichHistoryCard.tsx
+++ b/public/app/features/explore/RichHistory/RichHistoryCard.tsx
@@ -304,18 +304,18 @@ export function RichHistoryCard(props: Props) {
0 ? 'Edit comment' : 'Add comment'}
+ tooltip={query.comment?.length > 0 ? 'Edit comment' : 'Add comment'}
/>
-
+
{value?.dsInstance && (
-
+
)}
-
+
);
diff --git a/public/app/features/explore/TraceView/components/common/SearchBarInput.tsx b/public/app/features/explore/TraceView/components/common/SearchBarInput.tsx
index 81bb386cac8..72b1f4fb84d 100644
--- a/public/app/features/explore/TraceView/components/common/SearchBarInput.tsx
+++ b/public/app/features/explore/TraceView/components/common/SearchBarInput.tsx
@@ -44,7 +44,9 @@ export default class SearchBarInput extends React.PureComponent
{
const suffix = (
<>
{inputProps.suffix}
- {allowClear && value && value.length && }
+ {allowClear && value && value.length && (
+
+ )}
>
);
diff --git a/public/app/features/logs/components/LogRowMessage.tsx b/public/app/features/logs/components/LogRowMessage.tsx
index 97de6c96a9e..e5014e1c365 100644
--- a/public/app/features/logs/components/LogRowMessage.tsx
+++ b/public/app/features/logs/components/LogRowMessage.tsx
@@ -103,11 +103,11 @@ export class LogRowMessage extends PureComponent {
{shouldShowContextToggle && (
)}
)}
diff --git a/public/app/features/playlist/PlaylistTableRows.tsx b/public/app/features/playlist/PlaylistTableRows.tsx
index 0e2d2c01a84..e314706c476 100644
--- a/public/app/features/playlist/PlaylistTableRows.tsx
+++ b/public/app/features/playlist/PlaylistTableRows.tsx
@@ -80,8 +80,7 @@ export const PlaylistTableRows = ({ items, onDelete }: Props) => {
name="times"
size="md"
onClick={() => onDelete(index)}
- aria-label={selectors.pages.PlaylistForm.itemDelete}
- type="button"
+ tooltip={selectors.pages.PlaylistForm.itemDelete}
/>
diff --git a/public/app/features/search/page/components/ManageActions.tsx b/public/app/features/search/page/components/ManageActions.tsx
index 563343d0d30..2e68ac9b6cb 100644
--- a/public/app/features/search/page/components/ManageActions.tsx
+++ b/public/app/features/search/page/components/ManageActions.tsx
@@ -44,7 +44,7 @@ export function ManageActions({ items, folder, onChange, clearSelection }: Props
return (
-
+
Move
diff --git a/public/app/features/search/page/components/columns.tsx b/public/app/features/search/page/components/columns.tsx
index 67c82fad45a..87153f2af91 100644
--- a/public/app/features/search/page/components/columns.tsx
+++ b/public/app/features/search/page/components/columns.tsx
@@ -65,7 +65,7 @@ export const generateColumns = (
if (selection('*', '*')) {
return (
-
+
);
}
diff --git a/public/app/features/serviceaccounts/components/ServiceAccountsListItem.tsx b/public/app/features/serviceaccounts/components/ServiceAccountsListItem.tsx
index b8cc616fe9a..be2be78b47b 100644
--- a/public/app/features/serviceaccounts/components/ServiceAccountsListItem.tsx
+++ b/public/app/features/serviceaccounts/components/ServiceAccountsListItem.tsx
@@ -133,6 +133,7 @@ const ServiceAccountListItem = memo(
size="md"
onClick={() => onRemoveButtonClick(serviceAccount)}
aria-label={`Delete service account ${serviceAccount.name}`}
+ tooltip="Delete account"
/>
)}
diff --git a/public/app/features/support-bundles/SupportBundles.tsx b/public/app/features/support-bundles/SupportBundles.tsx
index 303185161b0..a3e2d4a62ab 100644
--- a/public/app/features/support-bundles/SupportBundles.tsx
+++ b/public/app/features/support-bundles/SupportBundles.tsx
@@ -93,7 +93,12 @@ const SupportBundlesUnconnected = ({ supportBundles, isLoading, loadBundles, rem
{hasDeleteAccess && (
- removeBundle(bundle.uid)} name="trash-alt" variant="destructive" />
+ removeBundle(bundle.uid)}
+ name="trash-alt"
+ variant="destructive"
+ tooltip="Remove bundle"
+ />
)}
diff --git a/public/app/features/transformers/editors/OrganizeFieldsTransformerEditor.tsx b/public/app/features/transformers/editors/OrganizeFieldsTransformerEditor.tsx
index dadcb2b61f5..60831bb1a20 100644
--- a/public/app/features/transformers/editors/OrganizeFieldsTransformerEditor.tsx
+++ b/public/app/features/transformers/editors/OrganizeFieldsTransformerEditor.tsx
@@ -145,6 +145,7 @@ const DraggableFieldName = ({
size="md"
name={visible ? 'eye' : 'eye-slash'}
onClick={() => onToggleVisibility(fieldName, visible)}
+ tooltip={visible ? 'Disable' : 'Enable'}
/>
{fieldName}
diff --git a/public/app/features/transformers/extractFields/components/JSONPathEditor.tsx b/public/app/features/transformers/extractFields/components/JSONPathEditor.tsx
index a48e954bea4..40bc775f32e 100644
--- a/public/app/features/transformers/extractFields/components/JSONPathEditor.tsx
+++ b/public/app/features/transformers/extractFields/components/JSONPathEditor.tsx
@@ -67,7 +67,7 @@ export function JSONPathEditor({ options, onChange }: Props) {
/>
- removeJSONPath(key)} name={'trash-alt'} />
+ removeJSONPath(key)} name={'trash-alt'} tooltip="Remove path" />
diff --git a/public/app/features/variables/editor/VariableEditorListRow.tsx b/public/app/features/variables/editor/VariableEditorListRow.tsx
index d1a6d3987c9..5b378bb0afb 100644
--- a/public/app/features/variables/editor/VariableEditorListRow.tsx
+++ b/public/app/features/variables/editor/VariableEditorListRow.tsx
@@ -94,7 +94,7 @@ export function VariableEditorListRow({
propsOnDuplicate(identifier);
}}
name="copy"
- title="Duplicate variable"
+ tooltip="Duplicate variable"
aria-label={selectors.pages.Dashboard.Settings.Variables.List.tableRowDuplicateButtons(variable.name)}
/>
@@ -107,7 +107,7 @@ export function VariableEditorListRow({
propsOnDelete(identifier);
}}
name="trash-alt"
- title="Remove variable"
+ tooltip="Remove variable"
aria-label={selectors.pages.Dashboard.Settings.Variables.List.tableRowRemoveButtons(variable.name)}
/>
diff --git a/public/app/features/variables/inspect/VariableUsagesButton.tsx b/public/app/features/variables/inspect/VariableUsagesButton.tsx
index 66e1d945750..5ac6ebcdd6a 100644
--- a/public/app/features/variables/inspect/VariableUsagesButton.tsx
+++ b/public/app/features/variables/inspect/VariableUsagesButton.tsx
@@ -35,7 +35,7 @@ export const VariableUsagesButton = ({ id, usages, isAdhoc }: Props) => {
showModal();
}}
name="code-branch"
- title="Show usages"
+ tooltip="Show usages"
/>
);
}}
diff --git a/public/app/features/variables/inspect/VariablesUnknownButton.tsx b/public/app/features/variables/inspect/VariablesUnknownButton.tsx
index 47d7cb33cae..6a842225be3 100644
--- a/public/app/features/variables/inspect/VariablesUnknownButton.tsx
+++ b/public/app/features/variables/inspect/VariablesUnknownButton.tsx
@@ -31,7 +31,7 @@ export const VariablesUnknownButton = ({ id, usages }: Props) => {
showModal()}
name="code-branch"
- title="Show usages"
+ tooltip="Show usages"
data-testid="VariablesUnknownButton"
/>
);
diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryEditorRow.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryEditorRow.tsx
index ce7aeac97e3..1152640cc61 100644
--- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryEditorRow.tsx
+++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryEditorRow.tsx
@@ -33,9 +33,8 @@ export const QueryEditorRow = ({
onClick={onHideClick}
size="sm"
aria-pressed={hidden}
- aria-label="hide metric"
className={styles.icon}
- type="button"
+ tooltip="Hide metric"
/>
)}
diff --git a/public/app/plugins/datasource/loki/querybuilder/components/NestedQuery.tsx b/public/app/plugins/datasource/loki/querybuilder/components/NestedQuery.tsx
index fa7c54a532c..dd08f32be0b 100644
--- a/public/app/plugins/datasource/loki/querybuilder/components/NestedQuery.tsx
+++ b/public/app/plugins/datasource/loki/querybuilder/components/NestedQuery.tsx
@@ -72,7 +72,7 @@ export const NestedQuery = React.memo(
/>
- onRemove(index)} />
+ onRemove(index)} tooltip="Remove nested query" />
diff --git a/public/app/plugins/datasource/prometheus/querybuilder/components/NestedQuery.tsx b/public/app/plugins/datasource/prometheus/querybuilder/components/NestedQuery.tsx
index f9be626d4ad..039ba43b3f6 100644
--- a/public/app/plugins/datasource/prometheus/querybuilder/components/NestedQuery.tsx
+++ b/public/app/plugins/datasource/prometheus/querybuilder/components/NestedQuery.tsx
@@ -71,7 +71,7 @@ export const NestedQuery = React.memo((props) => {
/>
- onRemove(index)} />
+ onRemove(index)} tooltip="Remove match" />
diff --git a/public/app/plugins/panel/canvas/editor/element/QuickPositioning.tsx b/public/app/plugins/panel/canvas/editor/element/QuickPositioning.tsx
index 67c38976a40..d3bc421a698 100644
--- a/public/app/plugins/panel/canvas/editor/element/QuickPositioning.tsx
+++ b/public/app/plugins/panel/canvas/editor/element/QuickPositioning.tsx
@@ -65,45 +65,45 @@ export const QuickPositioning = ({ onPositionChange, element, settings }: Props)
return (
onQuickPositioningChange(QuickPlacement.Left)}
className={styles.button}
- size={'lg'}
- tooltip={'Align left'}
+ size="lg"
+ tooltip="Align left"
/>
onQuickPositioningChange(QuickPlacement.HorizontalCenter)}
className={styles.button}
- size={'lg'}
- tooltip={'Align horizontal centers'}
+ size="lg"
+ tooltip="Align horizontal centers"
/>
onQuickPositioningChange(QuickPlacement.Right)}
className={styles.button}
- size={'lg'}
- tooltip={'Align right'}
+ size="lg"
+ tooltip="Align right"
/>
onQuickPositioningChange(QuickPlacement.Top)}
- size={'lg'}
- tooltip={'Align top'}
+ size="lg"
+ tooltip="Align top"
/>
onQuickPositioningChange(QuickPlacement.VerticalCenter)}
className={styles.button}
- size={'lg'}
- tooltip={'Align vertical centers'}
+ size="lg"
+ tooltip="Align vertical centers"
/>
onQuickPositioningChange(QuickPlacement.Bottom)}
className={styles.button}
- size={'lg'}
- tooltip={'Align bottom'}
+ size="lg"
+ tooltip="Align bottom"
/>
);
diff --git a/public/app/plugins/panel/canvas/editor/inline/InlineEdit.tsx b/public/app/plugins/panel/canvas/editor/inline/InlineEdit.tsx
index 666f555f753..a0b3ecc159a 100644
--- a/public/app/plugins/panel/canvas/editor/inline/InlineEdit.tsx
+++ b/public/app/plugins/panel/canvas/editor/inline/InlineEdit.tsx
@@ -84,7 +84,13 @@ export function InlineEdit({ onClose, id, scene }: Props) {
Canvas Inline Editor
-
+
diff --git a/public/app/plugins/panel/canvas/editor/layer/TreeNodeTitle.tsx b/public/app/plugins/panel/canvas/editor/layer/TreeNodeTitle.tsx
index db67023f2cd..26018ec43bf 100644
--- a/public/app/plugins/panel/canvas/editor/layer/TreeNodeTitle.tsx
+++ b/public/app/plugins/panel/canvas/editor/layer/TreeNodeTitle.tsx
@@ -73,15 +73,17 @@ export const TreeNodeTitle = ({ settings, nodeData, setAllowSelection }: Props)
onDuplicate(element)}
+ tooltip="Duplicate"
/>
onDelete(element)}
+ tooltip="Remove"
/>
)}
diff --git a/public/app/plugins/panel/debug/RenderInfoViewer.tsx b/public/app/plugins/panel/debug/RenderInfoViewer.tsx
index d26ecd64408..a18fe4231f8 100644
--- a/public/app/plugins/panel/debug/RenderInfoViewer.tsx
+++ b/public/app/plugins/panel/debug/RenderInfoViewer.tsx
@@ -74,7 +74,7 @@ export class RenderInfoViewer extends Component
{
return (
-
+
{showCounters.render && Render: {this.counters.render} }
{showCounters.dataChanged && Data: {this.counters.dataChanged} }
diff --git a/public/app/plugins/panel/timeseries/LineStyleEditor.tsx b/public/app/plugins/panel/timeseries/LineStyleEditor.tsx
index fba7f15f96c..8ac547d52a3 100644
--- a/public/app/plugins/panel/timeseries/LineStyleEditor.tsx
+++ b/public/app/plugins/panel/timeseries/LineStyleEditor.tsx
@@ -113,7 +113,7 @@ export const LineStyleEditor = ({ value, onChange }: Props) => {
target="_blank"
rel="noreferrer"
>
-
+
>
diff --git a/public/app/plugins/panel/timeseries/TimezonesEditor.tsx b/public/app/plugins/panel/timeseries/TimezonesEditor.tsx
index 127a0cbd5fe..4e47a88b30d 100644
--- a/public/app/plugins/panel/timeseries/TimezonesEditor.tsx
+++ b/public/app/plugins/panel/timeseries/TimezonesEditor.tsx
@@ -46,9 +46,9 @@ export const TimezonesEditor = ({ value, onChange }: Props) => {
/>
{idx === value.length - 1 ? (
-
+
) : (
-
removeTimezone(idx)} />
+ removeTimezone(idx)} tooltip="Remove timezone" />
)}
))}
diff --git a/public/app/plugins/panel/timeseries/plugins/annotations/AnnotationTooltip.tsx b/public/app/plugins/panel/timeseries/plugins/annotations/AnnotationTooltip.tsx
index 6820d455b21..4654dabb986 100644
--- a/public/app/plugins/panel/timeseries/plugins/annotations/AnnotationTooltip.tsx
+++ b/public/app/plugins/panel/timeseries/plugins/annotations/AnnotationTooltip.tsx
@@ -56,8 +56,8 @@ export const AnnotationTooltip = ({
if (canEdit || canDelete) {
editControls = (
- {canEdit && }
- {canDelete && }
+ {canEdit && }
+ {canDelete && }
);
}
diff --git a/public/app/plugins/panel/xychart/AutoEditor.tsx b/public/app/plugins/panel/xychart/AutoEditor.tsx
index 3dbaae8a891..d5f4efe6f5a 100644
--- a/public/app/plugins/panel/xychart/AutoEditor.tsx
+++ b/public/app/plugins/panel/xychart/AutoEditor.tsx
@@ -132,6 +132,7 @@ export const AutoEditor = ({
exclude,
});
}}
+ tooltip={v.value ? 'Disable' : 'Enable'}
/>
{v.label}
diff --git a/public/app/plugins/panel/xychart/ManualEditor.tsx b/public/app/plugins/panel/xychart/ManualEditor.tsx
index d038f65bd01..93c772b5625 100644
--- a/public/app/plugins/panel/xychart/ManualEditor.tsx
+++ b/public/app/plugins/panel/xychart/ManualEditor.tsx
@@ -77,6 +77,7 @@ export const ManualEditor = ({
title={'remove'}
className={cx(style.actionIcon)}
onClick={() => onSeriesDelete(index)}
+ tooltip="Delete series"
/>
);