diff --git a/components/button/pure.js b/components/button/pure.js
index 768016a01..6157a754e 100644
--- a/components/button/pure.js
+++ b/components/button/pure.js
@@ -1,7 +1,7 @@
import { html, nothing } from "lit";
import { ifDefined } from "lit/directives/if-defined.js";
-import { randomIdString } from "../utils/index.js";
+import { createElementId } from "../utils/index.js";
/**
* @param {object} options
@@ -28,7 +28,10 @@ export default function Button({
variant = "primary",
action,
}) {
- const labelId = randomIdString("label-");
+ const labelId = createElementId(
+ "label",
+ `${typeof label === "string" ? label : "btn"}-${href || ""}`,
+ );
const iconElement = icon
? html`${icon}`
: nothing;
diff --git a/components/color-theme/element.js b/components/color-theme/element.js
index 40c517675..335fe564b 100644
--- a/components/color-theme/element.js
+++ b/components/color-theme/element.js
@@ -61,7 +61,7 @@ export class MDNColorTheme extends L10nMixin(LitElement) {
render() {
return html`
-
+