From b8e9926056f28c8d8c7a62148f6503019ff58419 Mon Sep 17 00:00:00 2001 From: erik Date: Mon, 2 Sep 2019 15:00:19 +0200 Subject: [PATCH] fix(tooltip): add aria role --- packages/tooltip/src/LionTooltip.js | 1 + packages/tooltip/test/lion-tooltip.test.js | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/packages/tooltip/src/LionTooltip.js b/packages/tooltip/src/LionTooltip.js index 87f5ab7ac..54baaac5a 100644 --- a/packages/tooltip/src/LionTooltip.js +++ b/packages/tooltip/src/LionTooltip.js @@ -6,6 +6,7 @@ export class LionTooltip extends LionPopup { super.connectedCallback(); this.contentNode = this.querySelector('[slot="content"]'); this.invokerNode = this.querySelector('[slot="invoker"]'); + this.contentNode.setAttribute('role', 'tooltip'); this._controller = overlays.add( new LocalOverlayController({ diff --git a/packages/tooltip/test/lion-tooltip.test.js b/packages/tooltip/test/lion-tooltip.test.js index 14a4702bb..d3b09ac73 100644 --- a/packages/tooltip/test/lion-tooltip.test.js +++ b/packages/tooltip/test/lion-tooltip.test.js @@ -68,6 +68,17 @@ describe('lion-tooltip', () => { expect(el.querySelector('[slot="content"]').style.display).to.be.equal('none'); }); + it('should have a tooltip role set on the tooltip', async () => { + const el = await fixture(html` + +
Hey there
+ Tooltip button +
+ `); + const invoker = el.querySelector('[slot="content"]'); + expect(invoker.getAttribute('role')).to.be.equal('tooltip'); + }); + it('should have aria-controls attribute set to the invoker', async () => { const el = await fixture(html`