diff --git a/components/collapsible-panel/collapsible-panel.js b/components/collapsible-panel/collapsible-panel.js index 85b85378e0c..b5d0ecea74d 100644 --- a/components/collapsible-panel/collapsible-panel.js +++ b/components/collapsible-panel/collapsible-panel.js @@ -178,15 +178,24 @@ class CollapsiblePanel extends SkeletonMixin(FocusMixin(RtlMixin(LitElement))) { margin-inline-start: 0.75rem; } - .d2l-collapsible-panel.focused { - outline: var(--d2l-collapsible-panel-focus-outline); - } + .d2l-collapsible-panel.focused, :host([expanded]) .d2l-collapsible-panel.focused .d2l-collapsible-panel-header { outline: var(--d2l-collapsible-panel-focus-outline); } + @supports selector(:has(a, b)) { + .d2l-collapsible-panel.focused, + :host([expanded]) .d2l-collapsible-panel.focused .d2l-collapsible-panel-header { + outline: none; + } + .d2l-collapsible-panel.focused:has(:focus-visible), + :host([expanded]) .d2l-collapsible-panel.focused:has(:focus-visible) .d2l-collapsible-panel-header { + outline: var(--d2l-collapsible-panel-focus-outline); + } + } :host([expanded]) .d2l-collapsible-panel { outline: none; } + .d2l-collapsible-panel-header-primary { align-items: center; display: flex; @@ -218,6 +227,7 @@ class CollapsiblePanel extends SkeletonMixin(FocusMixin(RtlMixin(LitElement))) { align-self: self-start; background-color: transparent; border: none; + cursor: pointer; margin-inline-end: var(--d2l-collapsible-panel-spacing-inline); order: 1; outline: none; @@ -338,8 +348,7 @@ class CollapsiblePanel extends SkeletonMixin(FocusMixin(RtlMixin(LitElement))) { + @d2l-expand-collapse-content-expand="${this._handleExpandCollapse}">
@@ -505,7 +514,9 @@ class CollapsiblePanel extends SkeletonMixin(FocusMixin(RtlMixin(LitElement))) { _toggleExpand() { if (this.skeleton) return; this.expanded = !this.expanded; + this.focus(); } + } customElements.define('d2l-collapsible-panel', CollapsiblePanel); diff --git a/components/collapsible-panel/demo/collapsible-panel.html b/components/collapsible-panel/demo/collapsible-panel.html index 015402c3b41..f8b14cedba3 100644 --- a/components/collapsible-panel/demo/collapsible-panel.html +++ b/components/collapsible-panel/demo/collapsible-panel.html @@ -113,7 +113,7 @@

With custom action, before and header content

- + @@ -134,7 +134,7 @@

With custom action, before and header content

With long title

- + @@ -205,5 +205,14 @@

Loooooong

+ +