diff --git a/packages/calcite-components/src/components/card/card.e2e.ts b/packages/calcite-components/src/components/card/card.e2e.ts
index 04d1688c366..7348ae57492 100644
--- a/packages/calcite-components/src/components/card/card.e2e.ts
+++ b/packages/calcite-components/src/components/card/card.e2e.ts
@@ -20,7 +20,17 @@ describe("calcite-card", () => {
});
describe("focusable", () => {
- focusable("calcite-card");
+ describe("default", () => {
+ focusable("calcite-card");
+ });
+
+ describe("with interactive children", () => {
+ focusable(html`
+
+ focusable child
+
+ `);
+ });
});
describe("accessible", () => {
diff --git a/packages/calcite-components/src/components/card/card.tsx b/packages/calcite-components/src/components/card/card.tsx
index 17d7ec66ba9..e06ed37ba27 100644
--- a/packages/calcite-components/src/components/card/card.tsx
+++ b/packages/calcite-components/src/components/card/card.tsx
@@ -1,13 +1,13 @@
// @ts-strict-ignore
import { createRef } from "lit-html/directives/ref.js";
import {
- LitElement,
- property,
createEvent,
h,
+ JsxNode,
+ LitElement,
method,
+ property,
state,
- JsxNode,
ToEvents,
} from "@arcgis/lumina";
import { slotChangeHasAssignedElement } from "../../utils/dom";
@@ -135,9 +135,10 @@ export class Card extends LitElement implements InteractiveComponent {
*/
@method()
async setFocus(options?: FocusOptions): Promise {
- return this.focusSetter(() => {
- return this.containerEl.value;
- }, options);
+ return this.focusSetter(
+ () => ({ target: this.containerEl.value, includeContainer: true }),
+ options,
+ );
}
//#endregion