From 7934d754099a042cc9130c6522168b5b62f28c3c Mon Sep 17 00:00:00 2001 From: Matt Driscoll Date: Fri, 30 Jun 2023 11:26:58 -0700 Subject: [PATCH] fix(tooltip): deprecate the label property due to the description coming from the component's content (#7247) **Related Issue:** #6329 ## Summary - Deprecates the `label` property. - The already provided `aria-describedby` attribute is sufficient for accessibility. - Setting aria attributes on the component is not recommended. - Can still be set by user so no breaking changes. - Set to optional by default so its no longer required. - Update tests - Update Storybook - Update HTML --- .../src/components/tooltip/tooltip.e2e.ts | 10 +- .../src/components/tooltip/tooltip.stories.ts | 2 +- .../src/components/tooltip/tooltip.tsx | 8 +- .../calcite-components/src/demos/tooltip.html | 94 ++++++------------- 4 files changed, 41 insertions(+), 73 deletions(-) diff --git a/packages/calcite-components/src/components/tooltip/tooltip.e2e.ts b/packages/calcite-components/src/components/tooltip/tooltip.e2e.ts index 5e536df33aa..a62583b2952 100644 --- a/packages/calcite-components/src/components/tooltip/tooltip.e2e.ts +++ b/packages/calcite-components/src/components/tooltip/tooltip.e2e.ts @@ -46,11 +46,15 @@ describe("calcite-tooltip", () => { }); describe("accessible when closed", () => { - accessible(`
😄
`); + accessible( + `Hello World!
Tooltip Reference
` + ); }); describe("accessible when open", () => { - accessible(`
😄
`); + accessible( + `Hello World!
Tooltip Reference
` + ); }); describe("honors hidden attribute", () => { @@ -853,7 +857,7 @@ describe("calcite-tooltip", () => { { name: "shadow-component-a", html: ` - + This data was collected over a 24 hour period ` }, diff --git a/packages/calcite-components/src/components/tooltip/tooltip.stories.ts b/packages/calcite-components/src/components/tooltip/tooltip.stories.ts index 0852bcabce9..2525c1a2d47 100644 --- a/packages/calcite-components/src/components/tooltip/tooltip.stories.ts +++ b/packages/calcite-components/src/components/tooltip/tooltip.stories.ts @@ -68,7 +68,7 @@ darkModeRTL_TestOnly.parameters = { modes: modesDarkDefault }; export const rightAligned_TestOnly = (): string => html`
Hover for Tooltip - + Tooltip content lorem ipsum
`; diff --git a/packages/calcite-components/src/components/tooltip/tooltip.tsx b/packages/calcite-components/src/components/tooltip/tooltip.tsx index 9687b241b55..4b221917173 100644 --- a/packages/calcite-components/src/components/tooltip/tooltip.tsx +++ b/packages/calcite-components/src/components/tooltip/tooltip.tsx @@ -56,8 +56,12 @@ export class Tooltip implements FloatingUIComponent, OpenCloseComponent { /** Closes the component when the `referenceElement` is clicked. */ @Prop({ reflect: true }) closeOnClick = false; - /** Accessible name for the component. */ - @Prop() label!: string; + /** + * Accessible name for the component. + * + * @deprecated No longer necessary. Overrides the context of the component's description, which could confuse assistive technology users. + */ + @Prop() label: string; /** * Offset the position of the component away from the `referenceElement`. diff --git a/packages/calcite-components/src/demos/tooltip.html b/packages/calcite-components/src/demos/tooltip.html index 4a140c4c1a2..dae9be1f990 100644 --- a/packages/calcite-components/src/demos/tooltip.html +++ b/packages/calcite-components/src/demos/tooltip.html @@ -190,179 +190,139 @@

Tooltip

- +

placement: auto

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: auto-start

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: auto-end

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: top

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: bottom

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: right

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: left

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: top-start

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: top-end

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: bottom-start

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: bottom-end

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: right-start

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: right-end

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: left-start

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: left-end

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: leading-start

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: leading

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: leading-end

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: trailing-end

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: trailing

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: trailing-start

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: auto

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: auto-start

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: auto-end

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: auto

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: auto-start

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
- +

placement: auto-end

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.